Home | History | Annotate | Download | only in hdr
      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