xref: /reactos/sdk/include/psdk/xcmc.h (revision c2c66aff)
1*c2c66affSColin Finck /*
2*c2c66affSColin Finck  * Copyright (C) 2004 Chris Morgan
3*c2c66affSColin Finck  *
4*c2c66affSColin Finck  * This library is free software; you can redistribute it and/or
5*c2c66affSColin Finck  * modify it under the terms of the GNU Lesser General Public
6*c2c66affSColin Finck  * License as published by the Free Software Foundation; either
7*c2c66affSColin Finck  * version 2.1 of the License, or (at your option) any later version.
8*c2c66affSColin Finck  *
9*c2c66affSColin Finck  * This library is distributed in the hope that it will be useful,
10*c2c66affSColin Finck  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11*c2c66affSColin Finck  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12*c2c66affSColin Finck  * Lesser General Public License for more details.
13*c2c66affSColin Finck  *
14*c2c66affSColin Finck  * You should have received a copy of the GNU Lesser General Public
15*c2c66affSColin Finck  * License along with this library; if not, write to the Free Software
16*c2c66affSColin Finck  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17*c2c66affSColin Finck  */
18*c2c66affSColin Finck 
19*c2c66affSColin Finck #ifndef _XCMC_H
20*c2c66affSColin Finck #define _XCMC_H
21*c2c66affSColin Finck 
22*c2c66affSColin Finck #ifdef __cplusplus
23*c2c66affSColin Finck extern "C" {
24*c2c66affSColin Finck #endif
25*c2c66affSColin Finck 
26*c2c66affSColin Finck typedef char                CMC_sint8;
27*c2c66affSColin Finck typedef short               CMC_sint16;
28*c2c66affSColin Finck typedef long int            CMC_sint32;
29*c2c66affSColin Finck typedef unsigned short int  CMC_uint16;
30*c2c66affSColin Finck typedef unsigned long int   CMC_uint32;
31*c2c66affSColin Finck typedef void*               CMC_buffer;
32*c2c66affSColin Finck typedef char*               CMC_string;
33*c2c66affSColin Finck 
34*c2c66affSColin Finck typedef CMC_uint16          CMC_boolean;
35*c2c66affSColin Finck typedef CMC_sint32          CMC_enum;
36*c2c66affSColin Finck typedef CMC_uint32          CMC_return_code;
37*c2c66affSColin Finck typedef CMC_uint32          CMC_flags;
38*c2c66affSColin Finck typedef CMC_string          CMC_object_identifier;
39*c2c66affSColin Finck typedef CMC_uint32          CMC_session_id;
40*c2c66affSColin Finck typedef CMC_uint32          CMC_ui_id;
41*c2c66affSColin Finck 
42*c2c66affSColin Finck #define CMC_FALSE   ((CMC_boolean)0)
43*c2c66affSColin Finck #define CMC_TRUE    ((CMC_boolean)1)
44*c2c66affSColin Finck 
45*c2c66affSColin Finck #define CMC_SUCCESS                         ((CMC_return_code) 0)
46*c2c66affSColin Finck 
47*c2c66affSColin Finck #define CMC_E_AMBIGUOUS_RECIPIENT           ((CMC_return_code) 1)
48*c2c66affSColin Finck #define CMC_E_ATTACHMENT_NOT_FOUND          ((CMC_return_code) 2)
49*c2c66affSColin Finck #define CMC_E_ATTACHMENT_OPEN_FAILURE       ((CMC_return_code) 3)
50*c2c66affSColin Finck #define CMC_E_ATTACHMENT_READ_FAILURE       ((CMC_return_code) 4)
51*c2c66affSColin Finck #define CMC_E_ATTACHMENT_WRITE_FAILURE      ((CMC_return_code) 5)
52*c2c66affSColin Finck #define CMC_E_COUNTED_STRING_UNSUPPORTED    ((CMC_return_code) 6)
53*c2c66affSColin Finck #define CMC_E_DISK_FULL                     ((CMC_return_code) 7)
54*c2c66affSColin Finck #define CMC_E_FAILURE                       ((CMC_return_code) 8)
55*c2c66affSColin Finck #define CMC_E_INSUFFICIENT_MEMORY           ((CMC_return_code) 9)
56*c2c66affSColin Finck #define CMC_E_INVALID_CONFIGURATION         ((CMC_return_code) 10)
57*c2c66affSColin Finck #define CMC_E_INVALID_ENUM                  ((CMC_return_code) 11)
58*c2c66affSColin Finck #define CMC_E_INVALID_FLAG                  ((CMC_return_code) 12)
59*c2c66affSColin Finck #define CMC_E_INVALID_MEMORY                ((CMC_return_code) 13)
60*c2c66affSColin Finck #define CMC_E_INVALID_MESSAGE_PARAMETER     ((CMC_return_code) 14)
61*c2c66affSColin Finck #define CMC_E_INVALID_MESSAGE_REFERENCE     ((CMC_return_code) 15)
62*c2c66affSColin Finck #define CMC_E_INVALID_PARAMETER             ((CMC_return_code) 16)
63*c2c66affSColin Finck #define CMC_E_INVALID_SESSION_ID            ((CMC_return_code) 17)
64*c2c66affSColin Finck #define CMC_E_INVALID_UI_ID                 ((CMC_return_code) 18)
65*c2c66affSColin Finck #define CMC_E_LOGON_FAILURE                 ((CMC_return_code) 19)
66*c2c66affSColin Finck #define CMC_E_MESSAGE_IN_USE                ((CMC_return_code) 20)
67*c2c66affSColin Finck #define CMC_E_NOT_SUPPORTED                 ((CMC_return_code) 21)
68*c2c66affSColin Finck #define CMC_E_PASSWORD_REQUIRED             ((CMC_return_code) 22)
69*c2c66affSColin Finck #define CMC_E_RECIPIENT_NOT_FOUND           ((CMC_return_code) 23)
70*c2c66affSColin Finck #define CMC_E_SERVICE_UNAVAILABLE           ((CMC_return_code) 24)
71*c2c66affSColin Finck #define CMC_E_TEXT_TOO_LARGE                ((CMC_return_code) 25)
72*c2c66affSColin Finck #define CMC_E_TOO_MANY_FILES                ((CMC_return_code) 26)
73*c2c66affSColin Finck #define CMC_E_TOO_MANY_RECIPIENTS           ((CMC_return_code) 27)
74*c2c66affSColin Finck #define CMC_E_UNABLE_TO_NOT_MARK_AS_READ    ((CMC_return_code) 28)
75*c2c66affSColin Finck #define CMC_E_UNRECOGNIZED_MESSAGE_TYPE     ((CMC_return_code) 29)
76*c2c66affSColin Finck #define CMC_E_UNSUPPORTED_ACTION            ((CMC_return_code) 30)
77*c2c66affSColin Finck #define CMC_E_UNSUPPORTED_CHARACTER_SET     ((CMC_return_code) 31)
78*c2c66affSColin Finck #define CMC_E_UNSUPPORTED_DATA_EXT          ((CMC_return_code) 32)
79*c2c66affSColin Finck #define CMC_E_UNSUPPORTED_FLAG              ((CMC_return_code) 33)
80*c2c66affSColin Finck #define CMC_E_UNSUPPORTED_FUNCTION_EXT      ((CMC_return_code) 34)
81*c2c66affSColin Finck #define CMC_E_UNSUPPORTED_VERSION           ((CMC_return_code) 35)
82*c2c66affSColin Finck #define CMC_E_USER_CANCEL                   ((CMC_return_code) 36)
83*c2c66affSColin Finck #define CMC_E_USER_NOT_LOGGED_ON            ((CMC_return_code) 37)
84*c2c66affSColin Finck 
85*c2c66affSColin Finck #define CMC_ERROR_DISPLAYED                 ((CMC_return_code) 0x00008000)
86*c2c66affSColin Finck #define CMC_ERROR_RSV_MASK                  ((CMC_return_code) 0x0000FFFF)
87*c2c66affSColin Finck #define CMC_ERROR_IMPL_MASK                 ((CMC_return_code) 0xFFFF0000)
88*c2c66affSColin Finck 
89*c2c66affSColin Finck typedef struct {
90*c2c66affSColin Finck     CMC_uint32          length;
91*c2c66affSColin Finck     char                string[1];
92*c2c66affSColin Finck } CMC_counted_string;
93*c2c66affSColin Finck 
94*c2c66affSColin Finck typedef CMC_counted_string CMC_message_reference;
95*c2c66affSColin Finck 
96*c2c66affSColin Finck typedef struct {
97*c2c66affSColin Finck     CMC_sint8  second;
98*c2c66affSColin Finck     CMC_sint8  minute;
99*c2c66affSColin Finck     CMC_sint8  hour;
100*c2c66affSColin Finck     CMC_sint8  day;
101*c2c66affSColin Finck     CMC_sint8  month;
102*c2c66affSColin Finck     CMC_sint8  year;
103*c2c66affSColin Finck     CMC_sint8  isdst;
104*c2c66affSColin Finck     CMC_sint8  unused1;
105*c2c66affSColin Finck     CMC_sint16 tmzone;
106*c2c66affSColin Finck     CMC_sint16 unused2;
107*c2c66affSColin Finck } CMC_time;
108*c2c66affSColin Finck 
109*c2c66affSColin Finck #define CMC_NO_TIMEZONE ((CMC_sint16) 0x8000)
110*c2c66affSColin Finck 
111*c2c66affSColin Finck 
112*c2c66affSColin Finck typedef struct {
113*c2c66affSColin Finck     CMC_uint32 item_code;
114*c2c66affSColin Finck     CMC_uint32 item_data;
115*c2c66affSColin Finck     CMC_buffer item_reference;
116*c2c66affSColin Finck     CMC_flags  extension_flags;
117*c2c66affSColin Finck } CMC_extension;
118*c2c66affSColin Finck 
119*c2c66affSColin Finck #define CMC_EXT_REQUIRED                    ((CMC_flags) 0x00010000)
120*c2c66affSColin Finck #define CMC_EXT_OUTPUT                      ((CMC_flags) 0x00020000)
121*c2c66affSColin Finck #define CMC_EXT_LAST_ELEMENT                ((CMC_flags) 0x80000000)
122*c2c66affSColin Finck #define CMC_EXT_RSV_FLAG_MASK               ((CMC_flags) 0xFFFF0000)
123*c2c66affSColin Finck #define CMC_EXT_ITEM_FLAG_MASK              ((CMC_flags) 0x0000FFFF)
124*c2c66affSColin Finck 
125*c2c66affSColin Finck 
126*c2c66affSColin Finck typedef struct CMC_attachment_s {
127*c2c66affSColin Finck     CMC_string              attach_title;
128*c2c66affSColin Finck     CMC_object_identifier   attach_type;
129*c2c66affSColin Finck     CMC_string              attach_filename;
130*c2c66affSColin Finck     CMC_flags               attach_flags;
131*c2c66affSColin Finck     CMC_extension          *attach_extensions;
132*c2c66affSColin Finck } CMC_attachment;
133*c2c66affSColin Finck 
134*c2c66affSColin Finck #define CMC_ATT_APP_OWNS_FILE  ((CMC_flags) 1)
135*c2c66affSColin Finck #define CMC_ATT_LAST_ELEMENT   ((CMC_flags) 0x80000000)
136*c2c66affSColin Finck 
137*c2c66affSColin Finck #define CMC_ATT_OID_BINARY      "? ? ? ? ? ?"
138*c2c66affSColin Finck #define CMC_ATT_OID_TEXT        "? ? ? ? ? ?"
139*c2c66affSColin Finck 
140*c2c66affSColin Finck 
141*c2c66affSColin Finck typedef struct {
142*c2c66affSColin Finck     CMC_string              name;
143*c2c66affSColin Finck     CMC_enum                name_type;
144*c2c66affSColin Finck     CMC_string              address;
145*c2c66affSColin Finck     CMC_enum                role;
146*c2c66affSColin Finck     CMC_flags               recip_flags;
147*c2c66affSColin Finck     CMC_extension          *recip_extensions;
148*c2c66affSColin Finck } CMC_recipient;
149*c2c66affSColin Finck 
150*c2c66affSColin Finck #define CMC_TYPE_UNKNOWN                    ((CMC_enum) 0)
151*c2c66affSColin Finck #define CMC_TYPE_INDIVIDUAL                 ((CMC_enum) 1)
152*c2c66affSColin Finck #define CMC_TYPE_GROUP                      ((CMC_enum) 2)
153*c2c66affSColin Finck 
154*c2c66affSColin Finck #define CMC_ROLE_TO                         ((CMC_enum) 0)
155*c2c66affSColin Finck #define CMC_ROLE_CC                         ((CMC_enum) 1)
156*c2c66affSColin Finck #define CMC_ROLE_BCC                        ((CMC_enum) 2)
157*c2c66affSColin Finck #define CMC_ROLE_ORIGINATOR                 ((CMC_enum) 3)
158*c2c66affSColin Finck #define CMC_ROLE_AUTHORIZING_USER           ((CMC_enum) 4)
159*c2c66affSColin Finck 
160*c2c66affSColin Finck #define CMC_RECIP_IGNORE                    ((CMC_flags) 1)
161*c2c66affSColin Finck #define CMC_RECIP_LIST_TRUNCATED            ((CMC_flags) 2)
162*c2c66affSColin Finck #define CMC_RECIP_LAST_ELEMENT              ((CMC_flags) 0x80000000)
163*c2c66affSColin Finck 
164*c2c66affSColin Finck 
165*c2c66affSColin Finck typedef struct {
166*c2c66affSColin Finck     CMC_message_reference  *message_reference;
167*c2c66affSColin Finck     CMC_string              message_type;
168*c2c66affSColin Finck     CMC_string              subject;
169*c2c66affSColin Finck     CMC_time                time_sent;
170*c2c66affSColin Finck     CMC_string              text_note;
171*c2c66affSColin Finck     CMC_recipient          *recipients;
172*c2c66affSColin Finck     CMC_attachment         *attachments;
173*c2c66affSColin Finck     CMC_flags               message_flags;
174*c2c66affSColin Finck     CMC_extension          *message_extensions;
175*c2c66affSColin Finck } CMC_message;
176*c2c66affSColin Finck 
177*c2c66affSColin Finck #define CMC_MSG_READ                        ((CMC_flags) 1)
178*c2c66affSColin Finck #define CMC_MSG_TEXT_NOTE_AS_FILE           ((CMC_flags) 2)
179*c2c66affSColin Finck #define CMC_MSG_UNSENT                      ((CMC_flags) 4)
180*c2c66affSColin Finck #define CMC_MSG_LAST_ELEMENT                ((CMC_flags) 0x80000000)
181*c2c66affSColin Finck 
182*c2c66affSColin Finck 
183*c2c66affSColin Finck typedef struct {
184*c2c66affSColin Finck     CMC_message_reference  *message_reference;
185*c2c66affSColin Finck     CMC_string              message_type;
186*c2c66affSColin Finck     CMC_string              subject;
187*c2c66affSColin Finck     CMC_time                time_sent;
188*c2c66affSColin Finck     CMC_uint32              byte_length;
189*c2c66affSColin Finck     CMC_recipient          *originator;
190*c2c66affSColin Finck     CMC_flags               summary_flags;
191*c2c66affSColin Finck     CMC_extension          *message_summary_extensions;
192*c2c66affSColin Finck } CMC_message_summary;
193*c2c66affSColin Finck 
194*c2c66affSColin Finck #define CMC_SUM_READ                        ((CMC_flags) 1)
195*c2c66affSColin Finck #define CMC_SUM_UNSENT                      ((CMC_flags) 2)
196*c2c66affSColin Finck #define CMC_SUM_LAST_ELEMENT                ((CMC_flags) 0x80000000)
197*c2c66affSColin Finck 
198*c2c66affSColin Finck #define CMC_ERROR_UI_ALLOWED                ((CMC_flags) 0x01000000)
199*c2c66affSColin Finck #define CMC_LOGON_UI_ALLOWED                ((CMC_flags) 0x02000000)
200*c2c66affSColin Finck #define CMC_COUNTED_STRING_TYPE             ((CMC_flags) 0x04000000)
201*c2c66affSColin Finck 
202*c2c66affSColin Finck CMC_return_code WINAPI cmc_send(
203*c2c66affSColin Finck     CMC_session_id          session,
204*c2c66affSColin Finck     CMC_message            *message,
205*c2c66affSColin Finck     CMC_flags               send_flags,
206*c2c66affSColin Finck     CMC_ui_id               ui_id,
207*c2c66affSColin Finck     CMC_extension          *send_extensions
208*c2c66affSColin Finck );
209*c2c66affSColin Finck 
210*c2c66affSColin Finck #define CMC_SEND_UI_REQUESTED               ((CMC_flags) 1)
211*c2c66affSColin Finck 
212*c2c66affSColin Finck 
213*c2c66affSColin Finck CMC_return_code WINAPI cmc_send_documents(
214*c2c66affSColin Finck     CMC_string              recipient_addresses,
215*c2c66affSColin Finck     CMC_string              subject,
216*c2c66affSColin Finck     CMC_string              text_note,
217*c2c66affSColin Finck     CMC_flags               send_doc_flags,
218*c2c66affSColin Finck     CMC_string              file_paths,
219*c2c66affSColin Finck     CMC_string              file_names,
220*c2c66affSColin Finck     CMC_string              delimiter,
221*c2c66affSColin Finck     CMC_ui_id               ui_id
222*c2c66affSColin Finck );
223*c2c66affSColin Finck 
224*c2c66affSColin Finck #define CMC_FIRST_ATTACH_AS_TEXT_NOTE       ((CMC_flags) 2)
225*c2c66affSColin Finck 
226*c2c66affSColin Finck 
227*c2c66affSColin Finck CMC_return_code WINAPI cmc_act_on(
228*c2c66affSColin Finck     CMC_session_id          session,
229*c2c66affSColin Finck     CMC_message_reference  *message_reference,
230*c2c66affSColin Finck     CMC_enum                operation,
231*c2c66affSColin Finck     CMC_flags               act_on_flags,
232*c2c66affSColin Finck     CMC_ui_id               ui_id,
233*c2c66affSColin Finck     CMC_extension          *act_on_extensions
234*c2c66affSColin Finck );
235*c2c66affSColin Finck 
236*c2c66affSColin Finck #define CMC_ACT_ON_EXTENDED                 ((CMC_enum) 0)
237*c2c66affSColin Finck #define CMC_ACT_ON_DELETE                   ((CMC_enum) 1)
238*c2c66affSColin Finck 
239*c2c66affSColin Finck 
240*c2c66affSColin Finck CMC_return_code WINAPI cmc_list(
241*c2c66affSColin Finck     CMC_session_id          session,
242*c2c66affSColin Finck     CMC_string              message_type,
243*c2c66affSColin Finck     CMC_flags               list_flags,
244*c2c66affSColin Finck     CMC_message_reference  *seed,
245*c2c66affSColin Finck     CMC_uint32             *count,
246*c2c66affSColin Finck     CMC_ui_id               ui_id,
247*c2c66affSColin Finck     CMC_message_summary   **result,
248*c2c66affSColin Finck     CMC_extension          *list_extensions
249*c2c66affSColin Finck );
250*c2c66affSColin Finck 
251*c2c66affSColin Finck #define CMC_LIST_UNREAD_ONLY                ((CMC_flags) 1)
252*c2c66affSColin Finck #define CMC_LIST_MSG_REFS_ONLY              ((CMC_flags) 2)
253*c2c66affSColin Finck #define CMC_LIST_COUNT_ONLY                 ((CMC_flags) 4)
254*c2c66affSColin Finck 
255*c2c66affSColin Finck #define CMC_LENGTH_UNKNOWN          0xFFFFFFFF
256*c2c66affSColin Finck 
257*c2c66affSColin Finck 
258*c2c66affSColin Finck CMC_return_code WINAPI cmc_read(
259*c2c66affSColin Finck     CMC_session_id          session,
260*c2c66affSColin Finck     CMC_message_reference  *message_reference,
261*c2c66affSColin Finck     CMC_flags               read_flags,
262*c2c66affSColin Finck     CMC_message           **message,
263*c2c66affSColin Finck     CMC_ui_id               ui_id,
264*c2c66affSColin Finck     CMC_extension          *read_extensions
265*c2c66affSColin Finck );
266*c2c66affSColin Finck 
267*c2c66affSColin Finck #define CMC_DO_NOT_MARK_AS_READ             ((CMC_flags) 1)
268*c2c66affSColin Finck #define CMC_MSG_AND_ATT_HDRS_ONLY           ((CMC_flags) 2)
269*c2c66affSColin Finck #define CMC_READ_FIRST_UNREAD_MESSAGE       ((CMC_flags) 4)
270*c2c66affSColin Finck 
271*c2c66affSColin Finck 
272*c2c66affSColin Finck CMC_return_code WINAPI cmc_look_up(
273*c2c66affSColin Finck     CMC_session_id          session,
274*c2c66affSColin Finck     CMC_recipient          *recipient_in,
275*c2c66affSColin Finck     CMC_flags               look_up_flags,
276*c2c66affSColin Finck     CMC_ui_id               ui_id,
277*c2c66affSColin Finck     CMC_uint32             *count,
278*c2c66affSColin Finck     CMC_recipient         **recipient_out,
279*c2c66affSColin Finck     CMC_extension          *look_up_extensions
280*c2c66affSColin Finck );
281*c2c66affSColin Finck 
282*c2c66affSColin Finck #define CMC_LOOKUP_RESOLVE_PREFIX_SEARCH    ((CMC_flags) 1)
283*c2c66affSColin Finck #define CMC_LOOKUP_RESOLVE_IDENTITY         ((CMC_flags) 2)
284*c2c66affSColin Finck #define CMC_LOOKUP_RESOLVE_UI               ((CMC_flags) 4)
285*c2c66affSColin Finck #define CMC_LOOKUP_DETAILS_UI               ((CMC_flags) 8)
286*c2c66affSColin Finck #define CMC_LOOKUP_ADDRESSING_UI            ((CMC_flags) 16)
287*c2c66affSColin Finck 
288*c2c66affSColin Finck 
289*c2c66affSColin Finck CMC_return_code WINAPI cmc_free( CMC_buffer memory );
290*c2c66affSColin Finck 
291*c2c66affSColin Finck CMC_return_code WINAPI cmc_logoff(
292*c2c66affSColin Finck     CMC_session_id          session,
293*c2c66affSColin Finck     CMC_ui_id               ui_id,
294*c2c66affSColin Finck     CMC_flags               logoff_flags,
295*c2c66affSColin Finck     CMC_extension          *logoff_extensions
296*c2c66affSColin Finck );
297*c2c66affSColin Finck 
298*c2c66affSColin Finck CMC_return_code WINAPI cmc_logon(
299*c2c66affSColin Finck     CMC_string              service,
300*c2c66affSColin Finck     CMC_string              user,
301*c2c66affSColin Finck     CMC_string              password,
302*c2c66affSColin Finck     CMC_object_identifier   character_set,
303*c2c66affSColin Finck     CMC_ui_id               ui_id,
304*c2c66affSColin Finck     CMC_uint16              caller_cmc_version,
305*c2c66affSColin Finck     CMC_flags               logon_flags,
306*c2c66affSColin Finck     CMC_session_id         *session,
307*c2c66affSColin Finck     CMC_extension          *logon_extensions
308*c2c66affSColin Finck );
309*c2c66affSColin Finck 
310*c2c66affSColin Finck #define CMC_VERSION         ((CMC_uint16) 100)
311*c2c66affSColin Finck 
312*c2c66affSColin Finck CMC_return_code WINAPI cmc_query_configuration(
313*c2c66affSColin Finck     CMC_session_id          session,
314*c2c66affSColin Finck     CMC_enum                item,
315*c2c66affSColin Finck     CMC_buffer              reference,
316*c2c66affSColin Finck     CMC_extension          *config_extensions
317*c2c66affSColin Finck );
318*c2c66affSColin Finck 
319*c2c66affSColin Finck #define CMC_CONFIG_CHARACTER_SET            ((CMC_enum) 1)
320*c2c66affSColin Finck #define CMC_CONFIG_LINE_TERM                ((CMC_enum) 2)
321*c2c66affSColin Finck #define CMC_CONFIG_DEFAULT_SERVICE          ((CMC_enum) 3)
322*c2c66affSColin Finck #define CMC_CONFIG_DEFAULT_USER             ((CMC_enum) 4)
323*c2c66affSColin Finck #define CMC_CONFIG_REQ_PASSWORD             ((CMC_enum) 5)
324*c2c66affSColin Finck #define CMC_CONFIG_REQ_SERVICE              ((CMC_enum) 6)
325*c2c66affSColin Finck #define CMC_CONFIG_REQ_USER                 ((CMC_enum) 7)
326*c2c66affSColin Finck #define CMC_CONFIG_UI_AVAIL                 ((CMC_enum) 8)
327*c2c66affSColin Finck #define CMC_CONFIG_SUP_NOMKMSGREAD          ((CMC_enum) 9)
328*c2c66affSColin Finck #define CMC_CONFIG_SUP_COUNTED_STR          ((CMC_enum) 10)
329*c2c66affSColin Finck #define CMC_CONFIG_VER_IMPLEM               ((CMC_enum) 11)
330*c2c66affSColin Finck #define CMC_CONFIG_VER_SPEC                 ((CMC_enum) 12)
331*c2c66affSColin Finck 
332*c2c66affSColin Finck #define CMC_LINE_TERM_CRLF                  ((CMC_enum) 0)
333*c2c66affSColin Finck #define CMC_LINE_TERM_CR                    ((CMC_enum) 1)
334*c2c66affSColin Finck #define CMC_LINE_TERM_LF                    ((CMC_enum) 2)
335*c2c66affSColin Finck 
336*c2c66affSColin Finck #define CMC_REQUIRED_NO                     ((CMC_enum) 0)
337*c2c66affSColin Finck #define CMC_REQUIRED_YES                    ((CMC_enum) 1)
338*c2c66affSColin Finck #define CMC_REQUIRED_OPT                    ((CMC_enum) 2)
339*c2c66affSColin Finck 
340*c2c66affSColin Finck #define CMC_CHAR_CP437                      "1 2 840 113556 3 2 437"
341*c2c66affSColin Finck #define CMC_CHAR_CP850                      "1 2 840 113556 3 2 85"
342*c2c66affSColin Finck #define CMC_CHAR_CP1252                     "1 2 840 113556 3 2 1252"
343*c2c66affSColin Finck #define CMC_CHAR_ISTRING                    "1 2 840 113556 3 2 0"
344*c2c66affSColin Finck #define CMC_CHAR_UNICODE                    "1 2 840 113556 3 2 1"
345*c2c66affSColin Finck 
346*c2c66affSColin Finck #ifdef __cplusplus
347*c2c66affSColin Finck }
348*c2c66affSColin Finck #endif
349*c2c66affSColin Finck 
350*c2c66affSColin Finck #endif /* #ifndef _XCMC_H */
351