1 /*****************************************************************************/ 2 /* module: SyncML Device Information DTD specific type definitions */ 3 /* */ 4 /* file: smldevinfdtd.h */ 5 /* target system: all */ 6 /* target OS: all */ 7 /* */ 8 /* Description: */ 9 /* Definition of structures representing DevInf DTD elements */ 10 /* This file reflects DevInf as specified in the document */ 11 /* http://www.syncml.org/docs/syncml_devinf_v10_20001207.pdf */ 12 /*****************************************************************************/ 13 14 15 /* 16 * Copyright Notice 17 * Copyright (c) Ericsson, IBM, Lotus, Matsushita Communication 18 * Industrial Co., Ltd., Motorola, Nokia, Openwave Systems, Inc., 19 * Palm, Inc., Psion, Starfish Software, Symbian, Ltd. (2001). 20 * All Rights Reserved. 21 * Implementation of all or part of any Specification may require 22 * licenses under third party intellectual property rights, 23 * including without limitation, patent rights (such a third party 24 * may or may not be a Supporter). The Sponsors of the Specification 25 * are not responsible and shall not be held responsible in any 26 * manner for identifying or failing to identify any or all such 27 * third party intellectual property rights. 28 * 29 * THIS DOCUMENT AND THE INFORMATION CONTAINED HEREIN ARE PROVIDED 30 * ON AN "AS IS" BASIS WITHOUT WARRANTY OF ANY KIND AND ERICSSON, IBM, 31 * LOTUS, MATSUSHITA COMMUNICATION INDUSTRIAL CO. LTD, MOTOROLA, 32 * NOKIA, PALM INC., PSION, STARFISH SOFTWARE AND ALL OTHER SYNCML 33 * SPONSORS DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 34 * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 35 * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 36 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT 37 * SHALL ERICSSON, IBM, LOTUS, MATSUSHITA COMMUNICATION INDUSTRIAL CO., 38 * LTD, MOTOROLA, NOKIA, PALM INC., PSION, STARFISH SOFTWARE OR ANY 39 * OTHER SYNCML SPONSOR BE LIABLE TO ANY PARTY FOR ANY LOSS OF 40 * PROFITS, LOSS OF BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF 41 * BUSINESS, OR FOR DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, 42 * PUNITIVE OR CONSEQUENTIAL DAMAGES OF ANY KIND IN CONNECTION WITH 43 * THIS DOCUMENT OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED 44 * OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE. 45 * 46 * The above notice and this paragraph must be included on all copies 47 * of this document that are made. 48 * 49 */ 50 51 52 53 #ifndef _SML_DEVINFDTD_H 54 #define _SML_DEVINFDTD_H 55 56 /* process only if we really use DevInf DTD */ 57 #ifdef __USE_DEVINF__ 58 59 /*************************************************************************/ 60 /* Definitions */ 61 /*************************************************************************/ 62 63 64 #include <smldef.h> 65 #include <smldtd.h> 66 67 68 typedef struct sml_devinf_ext_s { 69 SmlPcdataPtr_t xnam; 70 SmlPcdataListPtr_t xval; /* optional */ 71 } *SmlDevInfExtPtr_t, SmlDevInfExt_t; 72 73 typedef struct sml_devinf_extlist_s { 74 SmlDevInfExtPtr_t data; 75 struct sml_devinf_extlist_s *next; 76 } *SmlDevInfExtListPtr_t, SmlDevInfExtList_t; 77 78 typedef struct sml_devinf_synccap_s { 79 SmlPcdataListPtr_t synctype; 80 } *SmlDevInfSyncCapPtr_t, SmlDevInfSyncCap_t; 81 82 83 typedef struct sml_devinf_ctdata_s { 84 SmlPcdataPtr_t name; 85 SmlPcdataPtr_t dname; /* optional, display name */ 86 87 SmlPcdataListPtr_t valenum; 88 SmlPcdataPtr_t datatype; 89 SmlPcdataPtr_t size; 90 } *SmlDevInfCTDataPtr_t, SmlDevInfCTData_t; 91 92 typedef struct sml_devinf_ctdatalist_s { 93 SmlDevInfCTDataPtr_t data; 94 struct sml_devinf_ctdatalist_s *next; 95 } *SmlDevInfCTDataListPtr_t, SmlDevInfCTDataList_t; 96 97 typedef struct sml_devinf_ctdataprop_s { 98 SmlDevInfCTDataPtr_t prop; 99 SmlDevInfCTDataListPtr_t param; 100 } *SmlDevInfCTDataPropPtr_t, SmlDevInfCTDataProp_t; 101 102 typedef struct sml_devinf_ctdataproplist_s { 103 SmlDevInfCTDataPropPtr_t data; 104 struct sml_devinf_ctdataproplist_s *next; 105 } *SmlDevInfCTDataPropListPtr_t, SmlDevInfCTDataPropList_t; 106 107 typedef struct sml_devinf_ctcap_s { 108 SmlPcdataPtr_t cttype; 109 SmlDevInfCTDataPropListPtr_t prop; 110 } *SmlDevInfCTCapPtr_t, SmlDevInfCTCap_t; 111 112 typedef struct sml_devinf_ctcaplist_s { 113 SmlDevInfCTCapPtr_t data; 114 struct sml_devinf_ctcaplist_s *next; 115 } *SmlDevInfCtcapListPtr_t, SmlDevInfCtcapList_t; 116 117 118 typedef struct sml_devinf_dsmem_s { 119 Flag_t flags; /* %%% luz:2003-04-28, mad flag, was PCData (completely wrong) */ 120 SmlPcdataPtr_t maxmem; /* optional */ 121 SmlPcdataPtr_t maxid; /* optional */ 122 } *SmlDevInfDSMemPtr_t, SmlDevInfDSMem_t; 123 124 125 typedef struct sml_devinf_xmit_s { 126 SmlPcdataPtr_t cttype; 127 SmlPcdataPtr_t verct; 128 } *SmlDevInfXmitPtr_t, SmlDevInfXmit_t; 129 130 typedef struct sml_devinf_xmitlist_s { 131 SmlDevInfXmitPtr_t data; 132 struct sml_devinf_xmitlist_s *next; 133 } *SmlDevInfXmitListPtr_t, SmlDevInfXmitList_t; 134 135 typedef struct sml_devinf_datastore_s { 136 SmlPcdataPtr_t sourceref; 137 SmlPcdataPtr_t displayname; /* optional */ 138 SmlPcdataPtr_t maxguidsize; /* optional */ 139 SmlDevInfXmitPtr_t rxpref; 140 SmlDevInfXmitListPtr_t rx; /* optional */ 141 SmlDevInfXmitPtr_t txpref; 142 SmlDevInfXmitListPtr_t tx; /* optional */ 143 SmlDevInfDSMemPtr_t dsmem; /* optional */ 144 SmlDevInfSyncCapPtr_t synccap; 145 } *SmlDevInfDatastorePtr_t, SmlDevInfDatastore_t; 146 147 148 typedef struct sml_devinf_datastorelist_s { 149 SmlDevInfDatastorePtr_t data; 150 struct sml_devinf_datastorelist_s *next; 151 } *SmlDevInfDatastoreListPtr_t, SmlDevInfDatastoreList_t; 152 153 typedef struct sml_devinf_devinf_s { 154 SmlPcdataPtr_t verdtd; 155 SmlPcdataPtr_t man; /* optional */ 156 SmlPcdataPtr_t mod; /* optional */ 157 SmlPcdataPtr_t oem; /* optional */ 158 SmlPcdataPtr_t fwv; /* optional */ 159 SmlPcdataPtr_t swv; /* optional */ 160 SmlPcdataPtr_t hwv; /* optional */ 161 SmlPcdataPtr_t devid; 162 SmlPcdataPtr_t devtyp; 163 SmlDevInfDatastoreListPtr_t datastore; 164 SmlDevInfCtcapListPtr_t ctcap; 165 SmlDevInfExtListPtr_t ext; 166 /* SCTSTK - 18/03/2002, S.H. 2002-04-05 : SyncML 1.1 */ 167 Flag_t flags; 168 } *SmlDevInfDevInfPtr_t, SmlDevInfDevInf_t; 169 170 #endif // __USE_DEVINF__ 171 #endif //_SML_DEVINFDTD_H_ 172