rspackage_dle.h 1.25 KB
#ifndef __RS_PACKAGE_DLE__
#define __RS_PACKAGE_DLE__

#include <rspackage.h>

/// rs package 를 위한 기본 구조
typedef struct rs_dle_t_ rs_dle_t;
struct rs_dle_t_
{   /// IniFile 정보 저장 파일이름
    char        ch_stx;                                                         // STX에 사용되는 바이트 코드
    char        ch_etx;                                                         // ETX에 사용되는 바이트 코드
    char        ch_dle;                                                         // DLE에 사용되는 바이트 코드
    char        buffer[__RS_BUFFER_MAX+1];                                      // 수신 자료를 위한 버퍼
    int         sz_data;                                                        // 수신 자료의 바이트 개수, -1:CRC 에러, 0:자료 없음, 다른값:수신 자료 개수
    int            (*check_crc)( rs_dle_t *);                                   // CRC를 체크하는 함수
};

extern rs_dle_t *rs_create_dle( int  (*check_crc)( rs_dle_t *));
extern char     *rs_put_dle   ( rs_dle_t *dle, char *data, int size);
extern int       rs_make_packet( rs_dle_t *dle, char *dst_buf, char *src_buf, int src_cnt );
extern char     *rs_error_string( void);

#endif