Initialize Tizen 2.3
[framework/system/oma-dm-agent.git] / include / serviceadapter / sa_define.h
1 /*
2  * oma-dm-agent
3  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Apache License, Version 2.0 (the License);
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 #ifndef SA_DEFINE_H_
19 #define SA_DEFINE_H_
20
21 /*lib*/
22 #include <malloc.h>
23 #include <glib.h>
24 #include <assert.h>
25 #include <string.h>
26 #include <stdbool.h>
27
28 #define ELEMENT_WBXML "wbxml"
29 #define ELEMENT_XML "xml"
30
31 #define ELEMENT_DM_WBXML "application/vnd.syncml.dm+wbxml"
32 #define ELEMENT_DM_XML "application/vnd.syncml.dm+xml"
33
34 #define ELEMENT_DMTNDS_WBXML "application/vnd.syncml.dmtnds+wbxml"
35 #define ELEMENT_DMTNDS_XML "application/vnd.syncml.dmtnds+xml"
36
37 /*
38 #define ELEMENT_AUTH_BASIC "syncml:auth-basic"
39 #define ELEMENT_AUTH_MD5 "syncml:auth-md5"
40 #define ELEMENT_FORMAT_BASE64 "b64"
41 */
42
43 #define ELEMENT_HTTP_BASIC "HTTP_BASIC"
44 #define ELEMENT_HTTP_DIGEST "HTTP_DIGEST"
45 #define ELEMENT_BASIC "BASIC"
46 #define ELEMENT_DIGEST  "DIGEST"
47 #define ELEMENT_HMAC "HMAC"
48 #define ELEMENT_X509 "X509"
49 #define ELEMENT_SECURID "SECURID"
50 #define ELEMENT_SAFEWORD "SAFEWORD"
51 #define ELEMENT_DIGIPASS "DIGIPASS"
52 #define ELEMENT_TRANSPORT "TRANSPORT"
53
54 #define ELEMENT_DEFAULT_CLIENT_NONCE "MTIzNDU="
55
56 #define ELEMENT_STRUCT "?list=Struct"
57 #define ELEMENT_STRUCTDATA "?list=StructData"
58 #define ELEMENT_TNDS "?list=TNDS"
59 #define ELEMENT_PROPERTY "?prop"
60
61 #define ELEMENT_PROP_ACL "?prop=ACL"
62 #define         ELEMENT_PROP_SIZE "?prop=Size"
63 #define         ELEMENT_PROP_TYPE "?prop=Type"
64 #define         ELEMENT_PROP_NAME "?prop=Name"
65 #define         ELEMENT_PROP_FORMAT "?prop=Format"
66
67 #define ELEMENT_TEXTPLAIN "text/plain"
68
69 #define DEFAULT_MAX_MSG_SIZE 1024*12
70 #define DEFAULT_MAX_OBJ_SIZE 1024*1024
71
72 #define DEFAULT_REST_SIZE 300
73 #define DEFAULT_MORE_REST_SIZE 500
74
75 typedef struct Item Item;
76 typedef struct Status Status;
77 typedef struct Command Command;
78 typedef struct Location Location;
79 typedef struct Cred Cred;
80 typedef struct SyncML SyncML;
81 typedef struct SyncHdr SyncHdr;
82 typedef struct Chal Chal;
83 typedef struct Hmac Hmac;
84 typedef struct Session Session;
85 typedef struct PendingStatus PendingStatus;
86
87 typedef enum {
88         VERSION_UNKNOWN = 0,
89         VERSION_10 = 1,
90         VERSION_11 = 2,
91         VERSION_12 = 3
92 } ProtocolVersion;
93
94 typedef enum {
95         PROTOCOL_TYPE_UNKNOWN = 0,
96         PROTOCOL_TYPE_DS = 1,
97         PROTOCOL_TYPE_DM = 2
98 } ProtocolType;
99
100 typedef enum {
101         COMMAND_TYPE_UNKNOWN = 0,
102         COMMAND_TYPE_ALERT = 1,
103         COMMAND_TYPE_HEADER = 2,
104         COMMAND_TYPE_ADD = 3,
105         COMMAND_TYPE_REPLACE = 4,
106         COMMAND_TYPE_DELETE = 5,
107         COMMAND_TYPE_GET = 6,
108         COMMAND_TYPE_RESULTS = 7,
109         COMMAND_TYPE_EXEC = 8,
110         COMMAND_TYPE_SEQUENCE = 9,
111         COMMAND_TYPE_ATOMIC = 10,
112         COMMAND_TYPE_COPY = 11
113 } CommandType;
114
115 typedef enum {
116         GET_TYPE_NOMAL,
117         GET_TYPE_STRUCT,
118         GET_TYPE_STRUCTDATA,
119         GET_TYPE_TNDS,
120         GET_PROPERTY,
121         GET_TYPE_ACL_PROP,
122         GET_TYPE_SIZE_PROP,
123         GET_TYPE_TYPE_PROP,
124         GET_TYPE_FORMAT_PROP,
125         GET_TYPE_NAME_PROP
126 } GetType;
127
128 typedef enum {
129         PROP_TYPE_ACL,
130         PROP_TYPE_SIZE,
131         PROP_TYPE_TYPE,
132         PROP_TYPE_FORMAT,
133         PROP_TYPE_NAME
134 } propoerty_type;
135
136 typedef enum {
137         AUTH_TYPE_UNKNOWN = 0,
138         AUTH_TYPE_HTTP_BASIC,
139         AUTH_TYPE_HTTP_DIGEST,
140         AUTH_TYPE_BASIC,
141         AUTH_TYPE_MD5,
142         AUTH_TYPE_HMAC,
143         AUTH_TYPE_X509,
144         AUTH_TYPE_SECURID,
145         AUTH_TYPE_SAFEWORD,
146         AUTH_TYPE_DIGIPASS,
147         AUTH_TYPE_TRANSPORT
148 } AuthType;
149
150 #if defined (_OMA_DM_V12_)
151
152 typedef enum {
153         AUTH_LEVEL_NONE,
154         AUTH_LEVEL_CLCRED,
155         AUTH_LEVEL_SRVCRED,
156         AUTH_LEVEL_OBEX,
157         AUTH_LEVEL_HTTP
158 } AAUTHLEVEL;
159
160 #endif
161
162 typedef enum {
163         FORMAT_TYPE_UNKNOWN = 0,
164         FORMAT_TYPE_BASE64 = 1
165 } FormatType;
166
167 typedef enum {
168         SYNCML_PKG_1 = 1,
169         SYNCML_PKG_2 = 2,
170         SYNCML_PKG_3 = 3,
171         SYNCML_PKG_4 = 4
172 } PkgStatus;
173
174 typedef enum {
175         ITEM_UNKNOWN = 0,
176         ITEM_DATA = 1
177 } ItemDataType;
178
179 typedef enum {
180         ALERT_UNKNOWN = 0,
181
182         /*User interaction alert codes */
183         DM_ALERT_DISPLAY = 1100,
184         DM_ALERT_CONFIRM_OR_REJECT = 1101,
185         DM_ALERT_TEXT_INPUT = 1102,
186         DM_ALERT_SINGLE_CHOICE = 1103,
187         DM_ALERT_MULTIPLE_CHOICE = 1104,
188         /*reversed syncml 1105~1199 */
189
190         /*Device management session alert codes */
191         DM_ALERT_SERVER_INITIATED_MGMT = 1200,
192         DM_ALERT_CLIENT_INITIATED_MGMT = 1201,
193         /*reversed syncml 1202~1220 */
194
195         /*Special device management alert codes */
196         DM_ALERT_NEXT_MESSAGE = 1222,
197         DM_ALERT_SESSION_ABORT = 1223,
198         DM_ALERT_CLIENT_EVENT = 1224,
199         DM_ALERT_NO_END_OF_DATA = 1225,
200         DM_ALERT_GENERIC_ALERT = 1226
201             /*reversed syncml 1227~1299 */
202 } AlertType;
203
204 typedef enum {
205         CHANGE_UNKNOWN = 0,
206         CHANGE_ADD = 1,
207         CHANGE_REPLACE = 2,
208         CHANGE_DELETE = 3,
209         CHANGE_COPY = 4
210 } ChangeType;
211
212 #endif                          /* SA_DEFINE_H_ */