fabind.h
2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/**
@file fabind.h
@date 2008/10/08
@author 오재경 freefrug@falinux.com FALinux.Co.,Ltd.
@brief fa-bind 드라이버를 사용하기 위한 API 를 구현한다..
@todo
@bug
@remark
@warning
*/
//----------------------------------------------------------------------------
#ifndef _FABIND_H_
#define _FABIND_H_
#include <fa-bind-ioctl.h>
typedef enum { MSG_HOWTO_NORMAL = SR_TYPE_NORMAL,
MSG_HOWTO_EXPRESS = SR_TYPE_EXPRESS,
MSG_HOWTO_EMERENCY = SR_TYPE_EMERENCY } msg_howto_t;
#define FABIND_LAST_RECV_PORT 0x7fff0000
#endif // _FABIND_H_
#ifdef __cplusplus
extern "C" {
#endif
/// @{
/// @brief fabind 객체 함수 리스트
extern poll_obj_t *fabind_open( int port, int group, int recv_queue_count ); /// fabind 드라이버 열고 객체를 초기화한다.
extern void fabind_close( poll_obj_t *obj ); /// fabind 객체를 해제한다.
extern poll_obj_t *fabind_get_byport( int port ); /// fabind 객체를 포트번호로 찾는다.
extern int fabind_write( poll_obj_t *obj, int port, char *buf, int len ); /// fabind 를 통해 데이타를 전송한다.
extern int fabind_read( poll_obj_t *obj, char *buf, int len, int *need_ack ); /// fabind 를 통해 데이타를 읽는다.
extern int fabind_write_and_response( poll_obj_t *obj, int port, char *tx_buf, char *rx_buf, int tx_cnt, int rx_cnt ); /// fabind 를 통해 데이타를 전송한 후 응답을 받는다.
extern int fabind_write_group( poll_obj_t *obj, int grp_port, char *buf, int len ); /// fabind 를 통해 그룹단위로 데이타를 전송한다.
extern int fabind_get_recv_port( poll_obj_t *obj ); /// fabind 를 통해 들어온 포트번호를 얻는다.
extern int fabind_write_timeout( poll_obj_t *obj, int port, char *buf, int len, int timeout_sec ); /// fabind 를 통해 데이타를 시간을 감시하며 전송한다.
/// @}
#ifdef __cplusplus
}
#endif