00001 /******************************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00009 #pragma once 00010 00011 // ---------------------------- Logger Control --------------------------------- 00012 00013 #include <vl/globalObjDes.h> 00014 #include <vlpi/NetStructs.h> 00015 #include <vl/packets/pduHeader.h> 00016 00017 // Parameter constructs for lcPdu's that carry add'l data 00018 00019 // Varlength string 00020 typedef struct 00021 { 00022 //Playback or Record Filename (string) 00023 DtNetU32 length; 00024 DtNetInt8 val[1]; //place-holder reallocated at runtime 00025 } DtNetLgrStringParams; 00026 00027 typedef DtNetLgrStringParams DtLgrStringParams; 00028 00029 // Time related value (double) 00030 // Note, through VR-Link 3.5, this was incorrectly represented as a DtNetU32. 00031 typedef struct 00032 { 00033 DtNetFloat64 val; 00034 } DtNetLgrTimeParams; 00035 00036 typedef DtNetLgrTimeParams DtLgrTimeParams; 00037 00038 // integer related value 00039 typedef struct 00040 { 00041 DtNetU32 val; 00042 } DtNetLgrIntParams; 00043 00044 typedef DtNetLgrIntParams DtLgrIntParams; 00045 00046 // double precision argument 00047 typedef struct 00048 { 00049 DtNetFloat64 val; 00050 } DtNetLgrRealParams; 00051 00052 typedef DtNetLgrRealParams DtLgrRealParams; 00053 00054 // make space for largest object 00055 typedef DtNetLgrRealParams DtNetLgrControlParams; 00056 00057 // 00058 // Logger Control PDU 00059 // 00060 typedef struct DtNetLgrControlPdu 00061 { 00062 // protocol specific header (DIS,HLA) 00063 DtNetPduHeader header; 00064 00065 // The sending application (e.g., logger, BattleMaster) 00066 DtNetEntityIdentifier senderId; 00067 // The receiving application (e.g., Logger) 00068 DtNetEntityIdentifier receiverId; 00069 00070 DtNetU16 command; 00071 DtNetU16 pad1; 00072 DtNetU32 sequence; 00073 00074 // Args for lcPdu that pass data (e.g., DtLgrRecFile); 00075 DtNetLgrControlParams params; 00076 00077 } DtNetLgrControlPdu; 00078 00079 const size_t theLgrControlPduSizeSansParams = sizeof(DtNetLgrControlPdu) - sizeof(DtNetLgrControlParams);