gi_sockapi.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __GI_SOCKAPI_H
00018
#define __GI_SOCKAPI_H
00019
00020
00021
00032
00033
00034
#include <sys/types.h>
00035
00036
#ifdef WIN32
00037
# include <winsock2.h>
00038
# include <windows.h>
00039
#else
00040
# include <sys/socket.h>
00041
# include <netinet/in.h>
00042
# include <arpa/inet.h>
00043
# include <netdb.h>
00044
#endif
00045
00046
00047
#ifndef AF_UNIX
00048
# define AF_UNIX AF_INET
00049
#endif
00050
00051
#ifndef AF_LOCAL
00052
# define AF_LOCAL AF_UNIX
00053
#endif
00054
00055
00056
00057 EXTERN_C_BEGIN
00058
00059
00060
00068 LIBGIFT_EXPORT
00069
int gi_sock_init (
void);
00070
00078 LIBGIFT_EXPORT
00079
int gi_sock_finish (
void);
00080
00081
00082
00087 LIBGIFT_EXPORT
00088
int gi_sock_errno (
void);
00089
00093 LIBGIFT_EXPORT
00094
char *gi_sock_strerror (
int errno_ish);
00095
00100 LIBGIFT_EXPORT
00101
char *gi_sock_strerrno (
void);
00102
00103
00104
00108 LIBGIFT_EXPORT
00109
int gi_sock_close (
int fd);
00110
00125 LIBGIFT_EXPORT
00126
int gi_sock_connect (
int fd,
struct sockaddr *saddr, size_t len);
00127
00128
#define gi_sockin_connect(fd,saddr,len) \
00129
gi_sock_connect(fd,(struct sockaddr*)saddr,len)
00130
00131
#define gi_sockun_connect(fd,saddr,len) \
00132
gi_sockin_connect(fd,saddr,len)
00133
00137 LIBGIFT_EXPORT
00138
int gi_sock_accept (
int fd,
struct sockaddr *saddr, size_t *len);
00139
00140
#define gi_sockin_accept(fd,saddr,len) \
00141
gi_sock_accept(fd,(struct sockaddr*)saddr,len)
00142
00143
#define gi_sockun_accept(fd,saddr,len) \
00144
gi_sockin_accept(fd,saddr,len)
00145
00149 LIBGIFT_EXPORT
00150
int gi_sock_bind (
int fd,
struct sockaddr *saddr, size_t len);
00151
00152
#define gi_sockin_bind(fd,saddr,len) \
00153
gi_sock_bind(fd,(struct sockaddr*)saddr,len)
00154
00155
#define gi_sockun_bind(fd,saddr,len) \
00156
gi_sockin_bind(fd,saddr,len)
00157
00158
00159
00167 LIBGIFT_EXPORT
00168
int gi_sock_blocking (
int fd,
bool blocking);
00169
00174 LIBGIFT_EXPORT
00175
int gi_sock_getopt (
int fd,
int level,
int name,
void *opt, size_t *len);
00176
00181 LIBGIFT_EXPORT
00182
int gi_sock_setopt (
int fd,
int level,
int name,
const void *opt, size_t len);
00183
00184
00185
00189 LIBGIFT_EXPORT
00190
int gi_sock_peername (
int fd,
struct sockaddr *name, size_t *len);
00191
00192
#define gi_sockin_peername(fd,name,len) \
00193
gi_sock_peername(fd,(struct sockaddr*)name,len)
00194
00195
#define gi_sockun_peername(fd,name,len) \
00196
gi_sockin_peername(fd,name,len)
00197
00201 LIBGIFT_EXPORT
00202
int gi_sock_name (
int fd,
struct sockaddr *name, size_t *len);
00203
00204
#define gi_sockin_name(fd,name,len) \
00205
gi_sock_name(fd,(struct sockaddr*)name,len)
00206
00207
#define gi_sockun_name(fd,name,len) \
00208
gi_sockin_name(fd,name,len)
00209
00210
00211
00216 LIBGIFT_EXPORT
00217
int gi_sock_recvfrom (
int fd,
void *buf, size_t buf_len,
int flags,
00218
struct sockaddr *src, size_t *src_len);
00219
00220
#define gi_sockin_recvfrom(fd,buf,buf_len,flags,src,src_len) \
00221
gi_sock_recvfrom(fd,buf,buf_len,flags,(struct sockaddr*)src,src_len)
00222
00223
#define gi_sockun_recvfrom(fd,buf,buf_len,flags,src,src_len) \
00224
gi_sockin_recvfrom(fd,buf,buf_len,flags,src,src_len)
00225
00230 LIBGIFT_EXPORT
00231
int gi_sock_sendto (
int fd,
const void *buf, size_t buf_len,
int flags,
00232
struct sockaddr *dst, size_t dst_len);
00233
00234
#define gi_sockin_sendto(fd,buf,buf_len,flags,dst,dst_len) \
00235
gi_sock_sendto(fd,buf,buf_len,flags,(struct sockaddr*)dst,dst_len)
00236
00237
00238
00243 LIBGIFT_EXPORT
00244
int gi_sock_recv (
int fd,
void *buf, size_t buf_len,
int flags);
00245
00250 LIBGIFT_EXPORT
00251
int gi_sock_send (
int fd,
const void *buf, size_t buf_len,
int flags);
00252
00253
00254
00258 LIBGIFT_EXPORT
00259
int gi_inet_pton (
int family,
const char *src,
void *dst);
00260
00264 LIBGIFT_EXPORT
00265
char *gi_inet_ntop (
int family,
const void *src,
char *dst, size_t dst_len);
00266
00267
00268
00269
#ifndef HAVE_SOCKETPAIR
00270
00282 LIBGIFT_EXPORT
00283
int socketpair (
int family,
int type,
int protocol,
int sv[2]);
00284
#endif
00285
00286
00287
00288 EXTERN_C_END
00289
00290
00291
00292
#endif
Generated on Sun Aug 22 07:56:40 2004 by
1.3.7