/*************************************************************************** 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 ó¸® ¿äû // 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__ */