/** @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 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