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.
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 Wed Jul 13 2022 05:33:29 by
1.7.2
