/*************************************************************************** ftsd control interface ( File Replication & Cache & Move & Delete Control) Header ( FtsdProtocol.h ) ----------------------------------------- begin : 2010/03/09 copyright : (C) 2005 SolutionBox Inc. author : Service 1 Team email : svc1@solbox.com version : 3.2.0.R0811 CopyRight(C) 2005 SolutionBox Inc. All Rights reserved. Redistribution and use in source and binary forms, with or with out modification, are not permitted in outside of SolutionBox Inc. ***************************************************************************/ #ifndef __FTSD_PROTOCOL_H__ #define __FTSD_PROTOCOL_H__ struct FileTransferPacketHeader { char stx; // Packet 유효성 관리 코드 char type; // Request or Response 여부 ( 0x00: Request, 0x01: Response ) char command[4]; // Command Code ( 4 Byte) : 0th control-ftsd, 1th ftsd-ftsd 사용. 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 0x02 // Packet Header type 구분코드 #define HEADER_TYPE_REQUEST 0x00 #define HEADER_TYPE_RESPONSE 0x01 // Packet command 공통. #define COMMON_ALIVE_CHECK 0x7F // Packet command : control 프로세스 <-> ftsd 통신 ( Command 첫번째 Byte 만 사용 ) #define NOT_CONTROL_COMMAND 0x00 // Control 이 전송한 요청이 아닌 경우. #define CONTROL_FILE_REPLICATION 0x01 // Content 복제 생성 요청 #define CONTROL_FILE_CACHE 0x02 // Content 에 대해 Cache 폴더로 복제 요청 #define CONTROL_FILE_CHECK 0x03 // Content 에 대한 존재 여부, Size 확인 및 Hash 추출 요청 #define CONTROL_FILE_UNLINK 0x04 // Content 에 대한 unlink 처리 요청 // NEW 2016-05-04 huibong 토토디스크 지원용 기능 추가 (#27460) #define CONTROL_FILE_CHECK_TOTO 0x05 // 토토디스크 고객사 지원을 위한 MD5 Hash 추출 기능 (2016-05-03 추가) // NEW 2021-04-01 huibong content stat(size, atime, mtime, ctime) 정보 추출 기능 추가 (#33516) #define CONTROL_FILE_STAT 0x06 // Packet Result : type이 Reponse 인 경우에만 세팅됨.( 첫번째 Byte 만 사용시 ) #define HEADER_RESULT_SUCCESS 0x00 #define HEADER_RESULT_ERROR 0x01 // 기타 정보 #define LENGTH_FIELD_SIZE 4 // 가변데이터 형식 사용시 Length 필드의 메모리 크기 (unsigned int) // unlink 요청시 Mode 설정 정보 #define UNLINK_MODE_NORMAL 0 // 해당 Content 가 존재하고 size 값이 정확한 경우에만 삭제, 나머지는 오류 #define UNLINK_MODE_FORCE 1 // 해당 Content 가 존재하지 않거나.. Size 값이 틀려도 강제로 삭제 처리.. 오류로 처리되는 상황은 통신, 시스템 오류 발생시. #endif /* __FTSD_PROTOCOL_H__ */