udp.h 1.93 KB
/**    
    @file     udp.h
    @date     2009-03-19
    @author   오재경 freefrug@falinux.com
    @brief    udp 를 사용한 통신을 담당한다.

    @modify   
              2010-08-18 (장길석) mingw와 함께 사용할 수 있는 코드 추가
    @todo    
    @bug     
    @remark   
    
    @warning 
*/
//
//  저작권    에프에이리눅스(주)
//            외부공개 금지
//
//----------------------------------------------------------------------------

#ifndef _UDP_H_
#define _UDP_H_


#ifdef __cplusplus 
extern "C" { 
#endif 	

/// @{
/// @brief  외부에서 사용할수 있는 객체함수 리스트

poll_obj_t  *udp_open_server( int port );        /// udp 소켓을 서버형태로 open 한다.
poll_obj_t  *udp_open_client( void );            /// udp 소켓을 클라이언트 형태로 open 한다.
void         udp_close( poll_obj_t *obj );       /// udp 소켓을 close 한다.
poll_obj_t  *udp_get_byport( int port );         /// udp 폴객체를 포트번호로 찾는다.

int          udp_write( poll_obj_t *obj, char *host, int port, char *buf, int len ); /// udp 소켓을 통해 데이타를 전송한다.
int          udp_read( poll_obj_t *obj, char *buf, int len );                        /// udp 소켓을 통해 데이타를 읽는다.
int  		 udp_echo( poll_obj_t *obj, char *buf, int len );						 /// on_read()에서 클라이언트로 재 전송한다.

int          udp_write_simple( char *host, int port, char *buf, int len );           /// poll 객체없이 udp 소켓을 통해 데이타를 전송한다.
int          udp_read_simple( char *buf, int len );                                  /// poll 객체없이 udp 소켓을 통해 데이타를 읽는다.

int  		 udp_get_remote_host( poll_obj_t *obj, char *host, int *port );          /// udp 소켓으로 마지막으로 수신한 호스트를 찾는다.

/// @}

#ifdef __cplusplus 
}
#endif 

#endif