Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: ThingPlug_Ethernet_Example
Fork of GMMP_mbed by
Struct_Common.h
00001 /** GMMP 공통 구조체 00002 * @date 2013/11/21 00003 * @version 0.0.0.1 00004 * @file Struct_Common.h 00005 **/ 00006 00007 #ifndef STRUCT_H_ 00008 #define STRUCT_H_ 00009 00010 #include "Define.h" 00011 00012 /////////////////////////////////////////////////////////////////////////// 00013 //GMMP TCP Packet 공통 00014 00015 #pragma pack(1) 00016 /** 00017 *@struct GMMPHeader 00018 *@brief GMMP TCP Packet Common Header 00019 */ 00020 typedef struct { 00021 /**@var ucVersion 00022 * @brief GMMP Version 00023 */ 00024 U8 ucVersion; 00025 00026 /**@var usMessageLength 00027 * @brief GMMP 통신 패킷의 전체 길이. 00028 */ 00029 /**@var ucMessageType 00030 * @brief 메시지의 유형으로서 단말등록, 주기보고, 단말제어 등 각각에 대해 요청과 응답을 구분한다.\n 00031 * *아래 표 참조\n 00032 *@image html OperationDefine.png Operation Type 표 00033 * @ref Define_Operation.h 참조 00034 */ 00035 /**@var unOriginTimeStamp 00036 * @brief Unix Time(=POSIX time, 1970년 1월1일부터 경과된 초)을 사용한다. 메시지를 전송하는 쪽에서 해당 값을 설정한다. 00037 */ 00038 /**@var usTotalCount 00039 * @brief Message Body에 전달될 내용이 2048 Bytes를 초과할 경우 여러 개의 메시지로 전송하며 전체 메시지 개수를 표시 한다. 00040 */ 00041 /**@var usCurrentCount 00042 * @brief 여러 개의 메시지로 전송되는 경우 현재 메시지의 순서로서 1에서 Total Count까지의 값이 기록 된다. 00043 */ 00044 /**@var usAuthID 00045 * @brief M2M GW 의 Serial Number 값이며, MSISDN 또는 MAC Address값을 사용할 수도 있다. 00046 */ 00047 /**@var usAuthKey 00048 * @brief GMMP Message를 인증하기 위해 사용되는 Key 값으로 등록 절차 시 OMP에서 할당한다.\n 00049 * (등록 이전에 Default 로 16byte를 0x00으로 채운다.) 00050 */ 00051 /**@var usTID 00052 * @brief T-ID는 M2M GW와 OMP 간의 트랜잭션을 구분하기 위한 값으로서 Request 요청하는 곳에서 할당하며 Response 받은 곳에서는 해당 T-ID 값을 그대로 반환한다. 00053 M2M GW와 OMP에서 T-ID 사용 범위는 다음과 같다. (“6.4 T-ID 사용 범위”절 참조)\n 00054 ※ M2M GW T-ID : 0 ~ 99,999 (10만개)\n 00055 ※ OMP T-ID : M2M GW가 사용 이외의 값. 00056 */ 00057 /**@var ucReserved1 00058 * @brief Message Body를 암호화하여 전송시 0x01로 설정한다. 그렇지 않은 경우에는 0x00으로 설정한다. 00059 */ 00060 /**@var ucReserved2 00061 * @brief 현재 사용하지 않음 ( 0x00으로 설정한다.). 00062 */ 00063 U8 usMessageLength[2]; 00064 U8 ucMessageType; 00065 U8 unOriginTimeStamp[4]; 00066 U8 usTotalCount[2]; 00067 U8 usCurrentCount[2]; 00068 U8 usAuthID[LEN_AUTH_ID]; 00069 U8 usAuthKey[LEN_AUTH_KEY]; 00070 U8 usTID[LEN_TID]; 00071 U8 ucReserved1; 00072 U8 ucReserved2; 00073 }GMMPHeader; //기본 구조체 00074 00075 /**@union ConvertShort 00076 * @brief short형 변수를 endian 변환을 위해 사용된다. 00077 */ 00078 00079 typedef union{ 00080 U8 usShort[2]; 00081 short sU8; 00082 }ConvertShort; 00083 00084 /**@union ConvertInt 00085 * @brief short형 변수를 endian 변환을 위해 사용된다. 00086 */ 00087 typedef union{ 00088 U8 usInt[4]; 00089 long sU8; 00090 }ConvertInt; 00091 00092 00093 /** 00094 *@struct SMSMessage 00095 *@brief GMMP SMS Packet 00096 *@brief SMS 메시지는 Header Message와 최대 38byte를 갖는 Body Message로 구성된다. \n 00097 *@brief Header 메시지는 제어 명령을 구분할 수 있는 T-ID(Transaction ID)와 제어의 종류를 나타내는 Control Type Code값을 포함한다. 00098 *@ref Define_Operation.h 참조 00099 */ 00100 typedef struct { 00101 /**@var unTID 00102 * @brief T-ID는 M2M GW와 OMP 간의 트랜잭션을 구분하기 위한 값으로서 Request 요청하는 곳에서 할당하며 Response 받은 곳에서는 해당 T-ID 값을 그대로 반환한다. 00103 M2M GW와 OMP에서 T-ID 사용 범위는 다음과 같다. (“6.4 T-ID 사용 범위”절 참조)\n 00104 ※ M2M GW T-ID : 0 ~ 99,999 (10만개)\n 00105 ※ OMP T-ID : M2M GW가 사용 이외의 값. 00106 */ 00107 /**@var ucControlTypeCode 00108 * @brief M2M 단말로의 제어 명령 전달 시 제어 명령에 대한 Code값이다. 00109 * @ref Define_Operation.h 참조 00110 */ 00111 /**@var ucLongSentenceFlag 00112 * @brief 0x00 : 제어 데이터의 크기가 38 bytes 이하여서 SMS Control Message Body 에 제어 데이터가 포함되어 있으며, Long Sentence Operation을 수행할 필요 없다. 00113 * @brief 0x01 : 제어 데이터의 크기가 38 bytes 이상이므로 SMS Control Message Body 에 제어 데이터가 포함되어 있지않고, M2M GW/Device Long Sentence(@ref GMMP_LSentence_Operation 참조)을 수행하여 제어 데이터를 획득해야 한다. 00114 */ 00115 /**@var usDeviceID 00116 * @brief M2M Device ID 00117 * @warning 0x00이면 GW의 단말제어로 간주 00118 */ 00119 /**@var usSMSMessageBody 00120 * @brief 단말에게 전달될 제어 명령에 대한 내용이 포함된다. 00121 */ 00122 U8 unTID[4]; 00123 U8 ucControlTypeCode; 00124 U8 ucLongSentenceFlag; 00125 U8 usDeviceID[LEN_DEVICE_ID]; 00126 U8 usSMSMessageBody[38]; 00127 }SMSMessage; 00128 00129 #pragma pack(0) 00130 #endif /* STRUCT_H_ */ 00131 00132 00133
Generated on Tue Jul 12 2022 21:35:52 by
