5 mike 1.3 // Permission is hereby granted, free of charge, to any person obtaining a copy
6 // of this software and associated documentation files (the "Software"), to
7 // deal in the Software without restriction, including without limitation the
8 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
9 // sell copies of the Software, and to permit persons to whom the Software is
10 // furnished to do so, subject to the following conditions:
11 //
12 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
13 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
14 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
15 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
16 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
17 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
18 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
19 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
29 mday 1.1
30 typedef int BOOL ;
31 typedef char int8;
32 typedef unsigned char uint8 ;
33 typedef short int16 ;
34 typedef unsigned short uint16 ;
35 typedef int int32 ;
36 typedef unsigned int uint32 ;
37
38
39 typedef struct lslp_lib_daadv {
40 struct lslp_lib_daadv *next;
41 struct lslp_lib_daadv *prev;
42 BOOL isHead ;
43 int type;
44 int8 function;
45 uint16 err;
46 uint32 stateless_boot;
47 int8 *url;
48 int8 *scope;
49 int8 *attr;
50 mday 1.1 int8 *spi;
51 int8 auth_blocks;
52 int8 *auth;
53 } LSLP_LIB_DAADVERT;
54
55 typedef struct lslp_lib_srvrply {
56 struct lslp_lib_srvrply *next;
57 struct lslp_lib_srvrply *prev;
58 BOOL isHead;
59 int type;
60 int8 function;
61 uint16 err;
62 uint16 lifetime;
63 int8 *url;
64 int8 auth_blocks;
65 int8 *auth;
66 } LSLP_LIB_SRVRPLY;
67
68 typedef struct lslp_lib_list {
69 struct lslp_lib_list *next;
70 struct lslp_lib_list *prev;
71 mday 1.1 BOOL isHead;
72 int type;
73 } LSLP_LIB_LIST;
74
75
76 BOOL lslp_lib_set_convergence(const int8 *id, int8 convergence) ;
77 BOOL lslp_lib_set_port(const int8 *id, int16 target_port) ;
78 BOOL lslp_lib_set_target_addr(const int8 *id, const int8 *target_addr);
79 BOOL lslp_lib_set_local_interface(const int8 *id, const int8 *);
80 BOOL lslp_lib_set_delimitor(const int8 *id, const int8 delimitor);
81 BOOL lslp_lib_set_timout_retry(const int8 *id, uint32 t_sec, uint32 t_usec, int8 retries, uint8 ttl);
82 BOOL lslp_lib_set_spi(const int8 *id, const int8 *spi) ;
83 BOOL lslp_lib_init(const int8 *id,
84 const int8 *target_addr,
85 const int8 *local_addr,
86 int16 target_port,
87 const int8 *spi);
88 void lslp_lib_deinit(const int8 *id);
89 LSLP_LIB_LIST *lslp_lib_converge_srv_req(const int8 *id,
90 const int8 *type,
91 const int8 *predicate,
92 mday 1.1 const int8 *scopes) ;
93 LSLP_LIB_LIST *lslp_lib_srv_req(const int8 *id,
94 const int8 *type,
95 const int8 *predicate,
96 const int8 *scopes);
97 BOOL lslp_lib_srv_reg(int8 *id,
98 int8 *url,
99 int8 *attributes,
100 int8 *service_type,
101 int8 *scopes,
102 int16 lifetime);
103
104 void lslp_lib_free_list(LSLP_LIB_LIST *list) ;
105
106 void lslp_lib_srv_reg_all(int8 *id,
107 int8 *url,
108 int8 *attributes,
109 int8 *service_type,
110 int8 *scopes,
111 int16 lifetime,
112 int *succeeded,
113 mday 1.1 int *failed) ;
114
115 int8 *lslp_lib_get_host_name(void) ;
116
117 BOOL lslp_lib_get_addr_from_url(const int8 *url, struct sockaddr_in *addr ) ;
118 int8 *lslp_lib_get_addr_string_from_url(const int8 *url) ;
119
|