1df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt/* 2df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt * Hotspot 2.0 SPP server 3df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt * Copyright (c) 2012-2013, Qualcomm Atheros, Inc. 4df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt * 5df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt * See README for more details. 7df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt */ 8df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt 9df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt#ifndef SPP_SERVER_H 10df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt#define SPP_SERVER_H 11df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt 12df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidtstruct hs20_svc { 13df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt const void *ctx; 14df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt struct xml_node_ctx *xml; 15df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt char *root_dir; 16df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt FILE *debug_log; 17df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt sqlite3 *db; 18df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt const char *addr; 19df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt}; 20df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt 21df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt 22df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidtvoid debug_print(struct hs20_svc *ctx, int print, const char *fmt, ...) 23df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt __attribute__ ((format (printf, 3, 4))); 24df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidtvoid debug_dump_node(struct hs20_svc *ctx, const char *title, xml_node_t *node); 25df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt 26df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidtxml_node_t * hs20_spp_server_process(struct hs20_svc *ctx, xml_node_t *node, 27df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt const char *auth_user, 28df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt const char *auth_realm, int dmacc); 29df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidtint hs20_spp_server_init(struct hs20_svc *ctx); 30df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidtvoid hs20_spp_server_deinit(struct hs20_svc *ctx); 31df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt 32df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt#endif /* SPP_SERVER_H */ 33