Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 #ifndef SOFIA_RESOLV_SRES_ASYNC_H
00026 
00027 #define SOFIA_RESOLV_SRES_ASYNC_H
00028 
00047 #include "sofia-resolv/sres_config.h"
00048 
00049 #ifdef __cplusplus
00050 extern "C" {
00051 #endif
00052 
00053 #ifndef SRES_ASYNC_T
00054 #define SRES_ASYNC_T struct sres_async_s
00055 #endif
00056 
00057 typedef SRES_ASYNC_T sres_async_t;
00058 
00072 typedef int sres_update_f(sres_async_t *async,
00073                           sres_socket_t new_socket,
00074                           sres_socket_t old_socket);
00075 
00077 SRESPUBFUN
00078 sres_async_t *sres_resolver_set_async(sres_resolver_t *res,
00079                                       sres_update_f *update,
00080                                       sres_async_t *async,
00081                                       int update_all);
00082 
00084 SRESPUBFUN
00085 sres_async_t *sres_resolver_get_async(sres_resolver_t const *res,
00086                                       sres_update_f *update);
00087 
00089 SRESPUBFUN int sres_resolver_sockets(sres_resolver_t *,
00090                                      sres_socket_t *sockets,
00091                                      int n);
00092 
00094 SRESPUBFUN void sres_resolver_timer(sres_resolver_t *, int dummy);
00095 
00106  typedef int sres_schedule_f(sres_async_t *async, unsigned long interval);
00107 
00109 SRESPUBFUN int sres_resolver_set_timer_cb(sres_resolver_t *res,
00110                                           sres_schedule_f *callback,
00111                                           sres_async_t *async);
00112 
00114 SRESPUBFUN int sres_resolver_receive(sres_resolver_t *, int socket);
00115 
00117 SRESPUBFUN int sres_resolver_error(sres_resolver_t *, int socket);
00118 
00119 #ifdef __cplusplus
00120 }
00121 #endif
00122 
00123 #endif