68 lines
2.3 KiB
C
68 lines
2.3 KiB
C
/***************************************************************************
|
|
rc_syncd 통신 관련 protocol header
|
|
-----------------------------------------
|
|
begin : 2014/09/04
|
|
copyright : (C) 2005 Solbox Inc.
|
|
author : Storage Dev Team
|
|
email : storage.sd@solbox.com
|
|
version : 3.4
|
|
|
|
CopyRight(C) 2005 Solbox Inc. All Rights reserved.
|
|
Redistribution and use in source and binary forms, with or with out
|
|
modification, are not permitted in outside of Solbox Inc.
|
|
***************************************************************************/
|
|
|
|
|
|
#ifndef __RC_SYNCD_PROTOCOL_H__
|
|
#define __RC_SYNCD_PROTOCOL_H__
|
|
|
|
|
|
// rc_syncd 에서 사용할 통신 Header 구조체
|
|
// - 계산상 크기는 16Byte 이지만...
|
|
// - 통신상 sizeof() : 20Byte ( 64Bit OS )
|
|
struct RcSyncdPacketHeader {
|
|
|
|
char stx; // Packet 유효성 관리 코드
|
|
char type; // Request or Response 여부 ( 0x00: Request, 0x01: Response )
|
|
char command[4]; // Command Code ( 4 Byte) : 0th client-rc_syncd, 1th rc_syncd - rc_syncd 간 사용.
|
|
char result[4]; // Result Code ( 4 Byte )
|
|
unsigned int data_length; // Packet Data 부분의 길이값 ( Network Byte Order 사용)
|
|
char extend_code[2]; // 확장 및 Padding bits ( 2 Byte )
|
|
};
|
|
|
|
// Packet Header stx 코드
|
|
#define HEADER_STX_CODE 0x03
|
|
|
|
// Packet Header type 구분코드
|
|
#define HEADER_TYPE_REQUEST 0x00
|
|
#define HEADER_TYPE_RESPONSE 0x01
|
|
|
|
|
|
// Packet command 공통.
|
|
#define COMMON_ALIVE_CHECK 0x7F
|
|
|
|
// Packet command
|
|
// client <-> rc_syncd 통신 (command 0th byte 만 사용)
|
|
|
|
#define NOT_CLIENT_COMMAND 0x00 // Client 에서 전송한 요청이 아닌 경우.
|
|
#define CLIENT_COMMAND_SYNC 0x01 // Client 에서 동기화 수행 요청
|
|
|
|
// Packet command
|
|
// rc_syncd <-> rc_syncd 간의 내부 통신 (command 1st byte 만 사용)
|
|
|
|
#define PROCESS_CONTENT_LIST 0x01 // Content 정보 목록 요청 => RCDB 에서 Content 정보 추출 후 전달
|
|
#define PROCESS_CONTENT_SYNC 0x02 // 동기화 수행 요청 (동기화 대상 목록 전달) => 동기화 수행 후 결과 전달.
|
|
|
|
|
|
// Packet Result
|
|
// => type이 Response 인 경우에만 세팅됨.( 0th Byte 만 사용시 )
|
|
#define HEADER_RESULT_SUCCESS 0x00
|
|
#define HEADER_RESULT_ERROR 0x01
|
|
|
|
|
|
// 기타 정보
|
|
#define LENGTH_FIELD_SIZE 4 // 가변데이터 형식 사용시 Length 필드의 메모리 크기 (unsigned int)
|
|
|
|
|
|
#endif /* __RC_SYNCD_PROTOCOL_H__ */
|