source: libcf/trunk/include/cf_socket.h@ 128

Last change on this file since 128 was 128, checked in by cheese, 11 years ago

#1 add bitwise util from ARIA of chevalier

File size: 1.7 KB
RevLine 
[4]1/**
[128]2 * \file cf_socket.h
[34]3 *
[128]4 * \author myusgun <myusgun@gmail.com>
5 *
[119]6 * \brief TCP 소켓 지원
[34]7 *
[119]8 * \example socket.c
[4]9 */
10#ifndef __CF_SOCKET_H__
11#define __CF_SOCKET_H__
12
13#include "cf_base.h"
[46]14
[4]15#include <stddef.h>
16
[46]17/** 타임아웃을 설정하지 않음 */
18#define CF_SOCKET_NO_TIMEOUT -1
[21]19
[4]20#ifdef __cplusplus
21extern "C" {
22#endif
23
[6]24CF_EXPORT CF_BOOL
[46]25CF_Socket_IsInitialized (void);
[4]26
27CF_EXPORT int
[46]28CF_Socket_Initialize (void);
[4]29
30CF_EXPORT int
[46]31CF_Socket_Finalize (void);
[4]32
33CF_EXPORT int
[46]34CF_Socket_Close (const int sock);
[4]35
36CF_EXPORT int
[46]37CF_Socket_SetOption (const int sock,
38 const int optname,
39 const void * optval,
40 const size_t optlen);
[4]41
42CF_EXPORT int
[46]43CF_Socket_GetOption (const int sock,
44 const int optname,
45 void * optval,
46 size_t * optlen);
[4]47
48CF_EXPORT int
[46]49CF_Socket_Connect (const char * ip,
50 const unsigned short port);
[4]51
52CF_EXPORT int
[46]53CF_Socket_ConnectTimeout (const char * ip,
54 const unsigned short port,
55 const int timeout);
[4]56
57CF_EXPORT int
[46]58CF_Socket_Server (const unsigned short port,
59 const int backlog);
[4]60
61CF_EXPORT int
[53]62CF_Socket_Accept (const int sock);
[4]63
64CF_EXPORT int
[109]65CF_Socket_Send (const int sock,
66 const void * buf,
67 const size_t len);
[4]68
69CF_EXPORT int
[109]70CF_Socket_SendTimeout (const int sock,
71 const void * buf,
72 const size_t len,
73 const int timeout);
[4]74
[46]75CF_EXPORT int
[109]76CF_Socket_Recv (const int sock,
77 void * buf,
78 const size_t len);
[46]79
80CF_EXPORT int
[109]81CF_Socket_RecvTimeout (const int sock,
82 void * buf,
83 const size_t len,
84 const int timeout);
[46]85
[4]86#ifdef __cplusplus
87}
88#endif
89
90#endif // #ifndef __CF_SOCKET_H__
Note: See TracBrowser for help on using the repository browser.