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
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00041 #ifndef DK_TCPIP_INC
00042 #define DK_TCPIP_INC 1
00043
00044 #include <dk.h>
00045 #include <dktypes.h>
00046
00047 #if defined(EXTERN)
00048 #undef EXTERN
00049 #endif
00050 #ifndef DK_TPCIP_C
00051 #if !DK_HAVE_PROTOTYPES
00052 #define EXTERN extern
00053 #else
00054 #define EXTERN
00055 #endif
00056 #else
00057 #define EXTERN
00058 #endif
00059
00060 #if defined(__cplusplus)
00061 extern "C" {
00062 #endif
00063
00064
00071 EXTERN int
00072 dktcpip_start DK_PR((void));
00073
00074
00075
00081 EXTERN int
00082 dktcpip_end DK_PR((void));
00083
00084
00085
00091 EXTERN dk_tcpip_t *
00092 dktcpip_new DK_PR((void));
00093
00094
00095
00100 EXTERN void
00101 dktcpip_delete DK_PR((dk_tcpip_t *t));
00102
00103
00104
00109 EXTERN void
00110 dktcpip_init DK_PR((dk_tcpip_t *t));
00111
00112
00113
00123 EXTERN dk_ip_addr_t *
00124 dktcpip_get_addr DK_PR((dk_tcpip_t *t, int w));
00125
00126
00127
00135 EXTERN int
00136 dktcpipaddr_set_ip_byname DK_PR((dk_ip_addr_t *a, char *h, dk_tcpip_t *t));
00137
00138
00139
00144 EXTERN int
00145 dktcpipaddr_set_ip_loopback DK_PR((dk_ip_addr_t *a));
00146
00147
00148
00155 EXTERN int
00156 dktcpipaddr_set_ip_local DK_PR((dk_ip_addr_t *a, dk_tcpip_t *t));
00157
00158
00159
00165 EXTERN int
00166 dktcpipaddr_set_ip_any DK_PR((dk_ip_addr_t *a));
00167
00168
00169
00179 EXTERN int
00180 dktcpip_addr_set_port DK_PR((\
00181 dk_ip_addr_t *a, unsigned short min, unsigned short max));
00182
00183
00184
00191 EXTERN int
00192 dktcpip_set_connectionless DK_PR((dk_tcpip_t *t, int f));
00193
00194
00195
00204 EXTERN int
00205 dktcpip_up DK_PR((dk_tcpip_t *t));
00206
00207
00208
00215 EXTERN int
00216 dktcpip_down DK_PR((dk_tcpip_t *t));
00217
00218
00219
00232 EXTERN int
00233 dktcpip_read DK_PR((dk_tcpip_t *t, char *b, size_t *l));
00234
00235
00236
00249 EXTERN int
00250 dktcpip_write DK_PR((dk_tcpip_t *t, char *b, size_t *l));
00251
00252
00253
00258 EXTERN int
00259 dktcpip_is_rdclosed DK_PR((dk_tcpip_t *t));
00260
00261
00262
00269 EXTERN int
00270 dktcpip_closewrite DK_PR((dk_tcpip_t *t));
00271
00272
00273
00279 EXTERN int
00280 dktcpip_set_nonblock DK_PR((dk_tcpip_t *t, int f));
00281
00282
00283
00289 EXTERN int
00290 dktcpip_set_timeout DK_PR((dk_tcpip_t *t, double o));
00291
00292
00293
00300 EXTERN int
00301 dktcpip_respond DK_PR((dk_tcpip_t *t));
00302
00303
00304
00310 EXTERN int
00311 dktcpip_set_reuse DK_PR((dk_tcpip_t *t, int f));
00312
00313
00314
00320 EXTERN int
00321 dktcpip_set_broadcast DK_PR((dk_tcpip_t *t, int f));
00322
00323
00324
00330 EXTERN int
00331 dktcpip_set_keepalive DK_PR((dk_tcpip_t *t, int f));
00332
00333
00334
00340 EXTERN int
00341 dktcpip_get_error_code DK_PR((dk_tcpip_t *t, int c));
00342
00343
00344
00345 #if defined(__cplusplus)
00346 }
00347 #endif
00348
00350 #define DK_IP_ADDR_REMOTE_WISHED 0
00351
00353 #define DK_IP_ADDR_REMOTE_FOUND 1
00354
00356 #define DK_IP_ADDR_LOCAL_WISHED 2
00357
00359 #define DK_IP_ADDR_LOCAL_FOUND 3
00360
00361 #endif
00362