ThingPlug GMMP library for mbed

Dependents:   ThingPlug_WiFi_Example

Committer:
lesmin
Date:
Thu Jul 23 00:55:15 2015 +0000
Revision:
0:32c20cfb2b30
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lesmin 0:32c20cfb2b30 1 /** GMMP Operation 중 제어 명령에 사용되는 구조체
lesmin 0:32c20cfb2b30 2 * @file Struct_Control.h
lesmin 0:32c20cfb2b30 3 * @date 2013/11/21
lesmin 0:32c20cfb2b30 4 * @version 0.0.0.1
lesmin 0:32c20cfb2b30 5 * @ref GMMPHeader참조
lesmin 0:32c20cfb2b30 6 **/
lesmin 0:32c20cfb2b30 7
lesmin 0:32c20cfb2b30 8 #ifndef STRUCT_CONTROL_H_
lesmin 0:32c20cfb2b30 9 #define STRUCT_CONTROL_H_
lesmin 0:32c20cfb2b30 10
lesmin 0:32c20cfb2b30 11 #include "Define.h"
lesmin 0:32c20cfb2b30 12 #include "Struct_Common.h"
lesmin 0:32c20cfb2b30 13 #include "Struct_Control_Opt.h"
lesmin 0:32c20cfb2b30 14
lesmin 0:32c20cfb2b30 15 #pragma pack(1)
lesmin 0:32c20cfb2b30 16
lesmin 0:32c20cfb2b30 17 /**
lesmin 0:32c20cfb2b30 18 * @struct stControlReqHdr
lesmin 0:32c20cfb2b30 19 * @brief GMMP TCP Packet 구조 중 Request 수행 시 Message Header와 Message Body 영역
lesmin 0:32c20cfb2b30 20 * OMP에서 제어 명령 메시지를 전송하여 GMMP Lib에서 해당 메시지를 수신한다.
lesmin 0:32c20cfb2b30 21 */
lesmin 0:32c20cfb2b30 22 typedef struct {
lesmin 0:32c20cfb2b30 23 /**
lesmin 0:32c20cfb2b30 24 *@var usDomainCode
lesmin 0:32c20cfb2b30 25 *@brief 서비스 영역별 구분 코드\n
lesmin 0:32c20cfb2b30 26 - AlphaNumeric : 문자,숫자 조합, 특수문자제외, SPACE 허용 안하며 빈자리는 0x00(NULL)로 채운다.\n
lesmin 0:32c20cfb2b30 27 */
lesmin 0:32c20cfb2b30 28 /**
lesmin 0:32c20cfb2b30 29 *@var usGWID
lesmin 0:32c20cfb2b30 30 *@brief M2M GW ID
lesmin 0:32c20cfb2b30 31 */
lesmin 0:32c20cfb2b30 32 /**
lesmin 0:32c20cfb2b30 33 *@var usDeviceID
lesmin 0:32c20cfb2b30 34 *@brief M2M Device ID, 값이 0x0이면 GW 명령이다.
lesmin 0:32c20cfb2b30 35 */
lesmin 0:32c20cfb2b30 36 /**
lesmin 0:32c20cfb2b30 37 *@var ucControlType
lesmin 0:32c20cfb2b30 38 *@brief 제어 명령 구분자
lesmin 0:32c20cfb2b30 39 **아래 표 참조\n
lesmin 0:32c20cfb2b30 40 *@image html ControlDefine.png Control Type 표
lesmin 0:32c20cfb2b30 41 *@ref Define_Control.h 참조
lesmin 0:32c20cfb2b30 42 */
lesmin 0:32c20cfb2b30 43 /**
lesmin 0:32c20cfb2b30 44 *@var usMessageBody
lesmin 0:32c20cfb2b30 45 *@brief Data [2048byte]
lesmin 0:32c20cfb2b30 46 *@ref Struct_Control_Opt.h 참조
lesmin 0:32c20cfb2b30 47 */
lesmin 0:32c20cfb2b30 48
lesmin 0:32c20cfb2b30 49 U8 usDomainCode[LEN_DOMAIN_CODE];
lesmin 0:32c20cfb2b30 50 U8 usGWID[LEN_GW_ID];
lesmin 0:32c20cfb2b30 51 U8 usDeviceID[LEN_DEVICE_ID];
lesmin 0:32c20cfb2b30 52 U8 ucControlType;
lesmin 0:32c20cfb2b30 53 U8 usMessageBody[MAX_MSG_BODY];
lesmin 0:32c20cfb2b30 54 }stControlReqHdr; //Control Request
lesmin 0:32c20cfb2b30 55
lesmin 0:32c20cfb2b30 56 /**
lesmin 0:32c20cfb2b30 57 * @struct stControlRspHdr
lesmin 0:32c20cfb2b30 58 * @brief GMMP TCP Packet 구조 중 Response 수행 시 Message Header와 Message Body 영역
lesmin 0:32c20cfb2b30 59 * OMP에서 전송한 제어 메시지에 대한 응답을 전송한다.
lesmin 0:32c20cfb2b30 60 */
lesmin 0:32c20cfb2b30 61 typedef struct {
lesmin 0:32c20cfb2b30 62 /**
lesmin 0:32c20cfb2b30 63 *@var usDomainCode
lesmin 0:32c20cfb2b30 64 *@brief 서비스 영역별 구분 코드\n
lesmin 0:32c20cfb2b30 65 - AlphaNumeric : 문자,숫자 조합, 특수문자제외, SPACE 허용 안하며 빈자리는 0x00(NULL)로 채운다.\n
lesmin 0:32c20cfb2b30 66 */
lesmin 0:32c20cfb2b30 67 /**
lesmin 0:32c20cfb2b30 68 *@var usGWID
lesmin 0:32c20cfb2b30 69 *@brief M2M GW ID
lesmin 0:32c20cfb2b30 70 */
lesmin 0:32c20cfb2b30 71 /**
lesmin 0:32c20cfb2b30 72 *@var usDeviceID
lesmin 0:32c20cfb2b30 73 *@brief M2M Device ID, 값이 0x0이면 GW 명령이다.
lesmin 0:32c20cfb2b30 74 */
lesmin 0:32c20cfb2b30 75 /**
lesmin 0:32c20cfb2b30 76 *@var ucControlType
lesmin 0:32c20cfb2b30 77 *@brief 제어 명령 구분자\n
lesmin 0:32c20cfb2b30 78 *@ref Define_Control.h 참조
lesmin 0:32c20cfb2b30 79 */
lesmin 0:32c20cfb2b30 80 /**
lesmin 0:32c20cfb2b30 81 *@var ucResultCode
lesmin 0:32c20cfb2b30 82 *@brief Result Code (0x00 : Success, other : Fail Reason) @ref OMPErrorCode.h 참조
lesmin 0:32c20cfb2b30 83 */
lesmin 0:32c20cfb2b30 84
lesmin 0:32c20cfb2b30 85 U8 usDomainCode[LEN_DOMAIN_CODE];
lesmin 0:32c20cfb2b30 86 U8 usGWID[LEN_GW_ID];
lesmin 0:32c20cfb2b30 87 U8 usDeviceID[LEN_DEVICE_ID];
lesmin 0:32c20cfb2b30 88 U8 ucControlType;
lesmin 0:32c20cfb2b30 89 U8 ucResultCode;
lesmin 0:32c20cfb2b30 90 }stControlRspHdr; //Control Response
lesmin 0:32c20cfb2b30 91
lesmin 0:32c20cfb2b30 92
lesmin 0:32c20cfb2b30 93 /**
lesmin 0:32c20cfb2b30 94 * @struct Control_Req
lesmin 0:32c20cfb2b30 95 * @brief GMMP TCP Packet 구조 중 Request Control 제어 구조
lesmin 0:32c20cfb2b30 96 * OMP에서 메시지를 전송하여 GMMP Lib에서 해당 메시지를 수신한다.
lesmin 0:32c20cfb2b30 97 */
lesmin 0:32c20cfb2b30 98 typedef struct {
lesmin 0:32c20cfb2b30 99 /**
lesmin 0:32c20cfb2b30 100 *@var header
lesmin 0:32c20cfb2b30 101 *@brief
lesmin 0:32c20cfb2b30 102 *@ref GMMPHeader 참조
lesmin 0:32c20cfb2b30 103 */
lesmin 0:32c20cfb2b30 104 /**
lesmin 0:32c20cfb2b30 105 *@var body
lesmin 0:32c20cfb2b30 106 *@brief @ref stControlReqHdr 참조
lesmin 0:32c20cfb2b30 107 */
lesmin 0:32c20cfb2b30 108 GMMPHeader header;
lesmin 0:32c20cfb2b30 109 stControlReqHdr body;
lesmin 0:32c20cfb2b30 110 }Control_Req;
lesmin 0:32c20cfb2b30 111
lesmin 0:32c20cfb2b30 112 /**
lesmin 0:32c20cfb2b30 113 * @struct Control_Rsp
lesmin 0:32c20cfb2b30 114 * @brief GMMP TCP Packet 구조 중 Response Control 제어 구조
lesmin 0:32c20cfb2b30 115 * OMP에서 전송한 제어 메시지에 대한 응답을 전송한다.
lesmin 0:32c20cfb2b30 116 */
lesmin 0:32c20cfb2b30 117 typedef struct {
lesmin 0:32c20cfb2b30 118 /**
lesmin 0:32c20cfb2b30 119 *@var header
lesmin 0:32c20cfb2b30 120 *@brief @ref GMMPHeader 참조
lesmin 0:32c20cfb2b30 121 */
lesmin 0:32c20cfb2b30 122 /**
lesmin 0:32c20cfb2b30 123 *@var body
lesmin 0:32c20cfb2b30 124 *@brief @ref stControlRspHdr 참조
lesmin 0:32c20cfb2b30 125 */
lesmin 0:32c20cfb2b30 126 GMMPHeader header;
lesmin 0:32c20cfb2b30 127 stControlRspHdr body;
lesmin 0:32c20cfb2b30 128 }Control_Rsp;
lesmin 0:32c20cfb2b30 129 #pragma pack(0)
lesmin 0:32c20cfb2b30 130
lesmin 0:32c20cfb2b30 131 #endif /* STRUCT_CONTROL_H_ */