ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

xcmc.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2004 Chris Morgan
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00017  */
00018 
00019 #ifndef _XCMC_H
00020 #define _XCMC_H
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025 
00026 typedef char                CMC_sint8;
00027 typedef short               CMC_sint16;
00028 typedef long int            CMC_sint32;
00029 typedef unsigned short int  CMC_uint16;
00030 typedef unsigned long int   CMC_uint32;
00031 typedef void*               CMC_buffer;
00032 typedef char*               CMC_string;
00033 
00034 typedef CMC_uint16          CMC_boolean;
00035 typedef CMC_sint32          CMC_enum;
00036 typedef CMC_uint32          CMC_return_code;
00037 typedef CMC_uint32          CMC_flags;
00038 typedef CMC_string          CMC_object_identifier;
00039 typedef CMC_uint32          CMC_session_id;
00040 typedef CMC_uint32          CMC_ui_id;
00041 
00042 #define CMC_FALSE   ((CMC_boolean)0)
00043 #define CMC_TRUE    ((CMC_boolean)1)
00044 
00045 #define CMC_SUCCESS                         ((CMC_return_code) 0)
00046 
00047 #define CMC_E_AMBIGUOUS_RECIPIENT           ((CMC_return_code) 1)
00048 #define CMC_E_ATTACHMENT_NOT_FOUND          ((CMC_return_code) 2)
00049 #define CMC_E_ATTACHMENT_OPEN_FAILURE       ((CMC_return_code) 3)
00050 #define CMC_E_ATTACHMENT_READ_FAILURE       ((CMC_return_code) 4)
00051 #define CMC_E_ATTACHMENT_WRITE_FAILURE      ((CMC_return_code) 5)
00052 #define CMC_E_COUNTED_STRING_UNSUPPORTED    ((CMC_return_code) 6)
00053 #define CMC_E_DISK_FULL                     ((CMC_return_code) 7)
00054 #define CMC_E_FAILURE                       ((CMC_return_code) 8)
00055 #define CMC_E_INSUFFICIENT_MEMORY           ((CMC_return_code) 9)
00056 #define CMC_E_INVALID_CONFIGURATION         ((CMC_return_code) 10)
00057 #define CMC_E_INVALID_ENUM                  ((CMC_return_code) 11)
00058 #define CMC_E_INVALID_FLAG                  ((CMC_return_code) 12)
00059 #define CMC_E_INVALID_MEMORY                ((CMC_return_code) 13)
00060 #define CMC_E_INVALID_MESSAGE_PARAMETER     ((CMC_return_code) 14)
00061 #define CMC_E_INVALID_MESSAGE_REFERENCE     ((CMC_return_code) 15)
00062 #define CMC_E_INVALID_PARAMETER             ((CMC_return_code) 16)
00063 #define CMC_E_INVALID_SESSION_ID            ((CMC_return_code) 17)
00064 #define CMC_E_INVALID_UI_ID                 ((CMC_return_code) 18)
00065 #define CMC_E_LOGON_FAILURE                 ((CMC_return_code) 19)
00066 #define CMC_E_MESSAGE_IN_USE                ((CMC_return_code) 20)
00067 #define CMC_E_NOT_SUPPORTED                 ((CMC_return_code) 21)
00068 #define CMC_E_PASSWORD_REQUIRED             ((CMC_return_code) 22)
00069 #define CMC_E_RECIPIENT_NOT_FOUND           ((CMC_return_code) 23)
00070 #define CMC_E_SERVICE_UNAVAILABLE           ((CMC_return_code) 24)
00071 #define CMC_E_TEXT_TOO_LARGE                ((CMC_return_code) 25)
00072 #define CMC_E_TOO_MANY_FILES                ((CMC_return_code) 26)
00073 #define CMC_E_TOO_MANY_RECIPIENTS           ((CMC_return_code) 27)
00074 #define CMC_E_UNABLE_TO_NOT_MARK_AS_READ    ((CMC_return_code) 28)
00075 #define CMC_E_UNRECOGNIZED_MESSAGE_TYPE     ((CMC_return_code) 29)
00076 #define CMC_E_UNSUPPORTED_ACTION            ((CMC_return_code) 30)
00077 #define CMC_E_UNSUPPORTED_CHARACTER_SET     ((CMC_return_code) 31)
00078 #define CMC_E_UNSUPPORTED_DATA_EXT          ((CMC_return_code) 32)
00079 #define CMC_E_UNSUPPORTED_FLAG              ((CMC_return_code) 33)
00080 #define CMC_E_UNSUPPORTED_FUNCTION_EXT      ((CMC_return_code) 34)
00081 #define CMC_E_UNSUPPORTED_VERSION           ((CMC_return_code) 35)
00082 #define CMC_E_USER_CANCEL                   ((CMC_return_code) 36)
00083 #define CMC_E_USER_NOT_LOGGED_ON            ((CMC_return_code) 37)
00084 
00085 #define CMC_ERROR_DISPLAYED                 ((CMC_return_code) 0x00008000)
00086 #define CMC_ERROR_RSV_MASK                  ((CMC_return_code) 0x0000FFFF)
00087 #define CMC_ERROR_IMPL_MASK                 ((CMC_return_code) 0xFFFF0000)
00088 
00089 typedef struct {
00090     CMC_uint32          length;
00091     char                string[1];
00092 } CMC_counted_string;
00093 
00094 typedef CMC_counted_string CMC_message_reference;
00095 
00096 typedef struct {
00097     CMC_sint8  second;
00098     CMC_sint8  minute;
00099     CMC_sint8  hour;
00100     CMC_sint8  day;
00101     CMC_sint8  month;
00102     CMC_sint8  year;
00103     CMC_sint8  isdst;
00104     CMC_sint8  unused1;
00105     CMC_sint16 tmzone;
00106     CMC_sint16 unused2;
00107 } CMC_time;
00108 
00109 #define CMC_NO_TIMEZONE ((CMC_sint16) 0x8000)
00110 
00111 
00112 typedef struct {
00113     CMC_uint32 item_code;
00114     CMC_uint32 item_data;
00115     CMC_buffer item_reference;
00116     CMC_flags  extension_flags;
00117 } CMC_extension;
00118 
00119 #define CMC_EXT_REQUIRED                    ((CMC_flags) 0x00010000)
00120 #define CMC_EXT_OUTPUT                      ((CMC_flags) 0x00020000)
00121 #define CMC_EXT_LAST_ELEMENT                ((CMC_flags) 0x80000000)
00122 #define CMC_EXT_RSV_FLAG_MASK               ((CMC_flags) 0xFFFF0000)
00123 #define CMC_EXT_ITEM_FLAG_MASK              ((CMC_flags) 0x0000FFFF)
00124 
00125 
00126 typedef struct CMC_attachment_s {
00127     CMC_string              attach_title;
00128     CMC_object_identifier   attach_type;
00129     CMC_string              attach_filename;
00130     CMC_flags               attach_flags;
00131     CMC_extension          *attach_extensions;
00132 } CMC_attachment;
00133 
00134 #define CMC_ATT_APP_OWNS_FILE  ((CMC_flags) 1)
00135 #define CMC_ATT_LAST_ELEMENT   ((CMC_flags) 0x80000000)
00136 
00137 #define CMC_ATT_OID_BINARY      "? ? ? ? ? ?"
00138 #define CMC_ATT_OID_TEXT        "? ? ? ? ? ?"
00139 
00140 
00141 typedef struct {
00142     CMC_string              name;
00143     CMC_enum                name_type;
00144     CMC_string              address;
00145     CMC_enum                role;
00146     CMC_flags               recip_flags;
00147     CMC_extension          *recip_extensions;
00148 } CMC_recipient;
00149 
00150 #define CMC_TYPE_UNKNOWN                    ((CMC_enum) 0)
00151 #define CMC_TYPE_INDIVIDUAL                 ((CMC_enum) 1)
00152 #define CMC_TYPE_GROUP                      ((CMC_enum) 2)
00153 
00154 #define CMC_ROLE_TO                         ((CMC_enum) 0)
00155 #define CMC_ROLE_CC                         ((CMC_enum) 1)
00156 #define CMC_ROLE_BCC                        ((CMC_enum) 2)
00157 #define CMC_ROLE_ORIGINATOR                 ((CMC_enum) 3)
00158 #define CMC_ROLE_AUTHORIZING_USER           ((CMC_enum) 4)
00159 
00160 #define CMC_RECIP_IGNORE                    ((CMC_flags) 1)
00161 #define CMC_RECIP_LIST_TRUNCATED            ((CMC_flags) 2)
00162 #define CMC_RECIP_LAST_ELEMENT              ((CMC_flags) 0x80000000)
00163 
00164 
00165 typedef struct {
00166     CMC_message_reference  *message_reference;
00167     CMC_string              message_type;
00168     CMC_string              subject;
00169     CMC_time                time_sent;
00170     CMC_string              text_note;
00171     CMC_recipient          *recipients;
00172     CMC_attachment         *attachments;
00173     CMC_flags               message_flags;
00174     CMC_extension          *message_extensions;
00175 } CMC_message;
00176 
00177 #define CMC_MSG_READ                        ((CMC_flags) 1)
00178 #define CMC_MSG_TEXT_NOTE_AS_FILE           ((CMC_flags) 2)
00179 #define CMC_MSG_UNSENT                      ((CMC_flags) 4)
00180 #define CMC_MSG_LAST_ELEMENT                ((CMC_flags) 0x80000000)
00181 
00182 
00183 typedef struct {
00184     CMC_message_reference  *message_reference;
00185     CMC_string              message_type;
00186     CMC_string              subject;
00187     CMC_time                time_sent;
00188     CMC_uint32              byte_length;
00189     CMC_recipient          *originator;
00190     CMC_flags               summary_flags;
00191     CMC_extension          *message_summary_extensions;
00192 } CMC_message_summary;
00193 
00194 #define CMC_SUM_READ                        ((CMC_flags) 1)
00195 #define CMC_SUM_UNSENT                      ((CMC_flags) 2)
00196 #define CMC_SUM_LAST_ELEMENT                ((CMC_flags) 0x80000000)
00197 
00198 #define CMC_ERROR_UI_ALLOWED                ((CMC_flags) 0x01000000)
00199 #define CMC_LOGON_UI_ALLOWED                ((CMC_flags) 0x02000000)
00200 #define CMC_COUNTED_STRING_TYPE             ((CMC_flags) 0x04000000)
00201 
00202 CMC_return_code WINAPI cmc_send(
00203     CMC_session_id          session,
00204     CMC_message            *message,
00205     CMC_flags               send_flags,
00206     CMC_ui_id               ui_id,
00207     CMC_extension          *send_extensions
00208 );
00209 
00210 #define CMC_SEND_UI_REQUESTED               ((CMC_flags) 1)
00211 
00212 
00213 CMC_return_code WINAPI cmc_send_documents(
00214     CMC_string              recipient_addresses,
00215     CMC_string              subject,
00216     CMC_string              text_note,
00217     CMC_flags               send_doc_flags,
00218     CMC_string              file_paths,
00219     CMC_string              file_names,
00220     CMC_string              delimiter,
00221     CMC_ui_id               ui_id
00222 );
00223 
00224 #define CMC_FIRST_ATTACH_AS_TEXT_NOTE       ((CMC_flags) 2)
00225 
00226 
00227 CMC_return_code WINAPI cmc_act_on(
00228     CMC_session_id          session,
00229     CMC_message_reference  *message_reference,
00230     CMC_enum                operation,
00231     CMC_flags               act_on_flags,
00232     CMC_ui_id               ui_id,
00233     CMC_extension          *act_on_extensions
00234 );
00235 
00236 #define CMC_ACT_ON_EXTENDED                 ((CMC_enum) 0)
00237 #define CMC_ACT_ON_DELETE                   ((CMC_enum) 1)
00238 
00239 
00240 CMC_return_code WINAPI cmc_list(
00241     CMC_session_id          session,
00242     CMC_string              message_type,
00243     CMC_flags               list_flags,
00244     CMC_message_reference  *seed,
00245     CMC_uint32             *count,
00246     CMC_ui_id               ui_id,
00247     CMC_message_summary   **result,
00248     CMC_extension          *list_extensions
00249 );
00250 
00251 #define CMC_LIST_UNREAD_ONLY                ((CMC_flags) 1)
00252 #define CMC_LIST_MSG_REFS_ONLY              ((CMC_flags) 2)
00253 #define CMC_LIST_COUNT_ONLY                 ((CMC_flags) 4)
00254 
00255 #define CMC_LENGTH_UNKNOWN          0xFFFFFFFF
00256 
00257 
00258 CMC_return_code WINAPI cmc_read(
00259     CMC_session_id          session,
00260     CMC_message_reference  *message_reference,
00261     CMC_flags               read_flags,
00262     CMC_message           **message,
00263     CMC_ui_id               ui_id,
00264     CMC_extension          *read_extensions
00265 );
00266 
00267 #define CMC_DO_NOT_MARK_AS_READ             ((CMC_flags) 1)
00268 #define CMC_MSG_AND_ATT_HDRS_ONLY           ((CMC_flags) 2)
00269 #define CMC_READ_FIRST_UNREAD_MESSAGE       ((CMC_flags) 4)
00270 
00271 
00272 CMC_return_code WINAPI cmc_look_up(
00273     CMC_session_id          session,
00274     CMC_recipient          *recipient_in,
00275     CMC_flags               look_up_flags,
00276     CMC_ui_id               ui_id,
00277     CMC_uint32             *count,
00278     CMC_recipient         **recipient_out,
00279     CMC_extension          *look_up_extensions
00280 );
00281 
00282 #define CMC_LOOKUP_RESOLVE_PREFIX_SEARCH    ((CMC_flags) 1)
00283 #define CMC_LOOKUP_RESOLVE_IDENTITY         ((CMC_flags) 2)
00284 #define CMC_LOOKUP_RESOLVE_UI               ((CMC_flags) 4)
00285 #define CMC_LOOKUP_DETAILS_UI               ((CMC_flags) 8)
00286 #define CMC_LOOKUP_ADDRESSING_UI            ((CMC_flags) 16)
00287 
00288 
00289 CMC_return_code WINAPI cmc_free( CMC_buffer memory );
00290 
00291 CMC_return_code WINAPI cmc_logoff(
00292     CMC_session_id          session,
00293     CMC_ui_id               ui_id,
00294     CMC_flags               logoff_flags,
00295     CMC_extension          *logoff_extensions
00296 );
00297 
00298 CMC_return_code WINAPI cmc_logon(
00299     CMC_string              service,
00300     CMC_string              user,
00301     CMC_string              password,
00302     CMC_object_identifier   character_set,
00303     CMC_ui_id               ui_id,
00304     CMC_uint16              caller_cmc_version,
00305     CMC_flags               logon_flags,
00306     CMC_session_id         *session,
00307     CMC_extension          *logon_extensions
00308 );
00309 
00310 #define CMC_VERSION         ((CMC_uint16) 100)
00311 
00312 CMC_return_code WINAPI cmc_query_configuration(
00313     CMC_session_id          session,
00314     CMC_enum                item,
00315     CMC_buffer              reference,
00316     CMC_extension          *config_extensions
00317 );
00318 
00319 #define CMC_CONFIG_CHARACTER_SET            ((CMC_enum) 1)
00320 #define CMC_CONFIG_LINE_TERM                ((CMC_enum) 2)
00321 #define CMC_CONFIG_DEFAULT_SERVICE          ((CMC_enum) 3)
00322 #define CMC_CONFIG_DEFAULT_USER             ((CMC_enum) 4)
00323 #define CMC_CONFIG_REQ_PASSWORD             ((CMC_enum) 5)
00324 #define CMC_CONFIG_REQ_SERVICE              ((CMC_enum) 6)
00325 #define CMC_CONFIG_REQ_USER                 ((CMC_enum) 7)
00326 #define CMC_CONFIG_UI_AVAIL                 ((CMC_enum) 8)
00327 #define CMC_CONFIG_SUP_NOMKMSGREAD          ((CMC_enum) 9)
00328 #define CMC_CONFIG_SUP_COUNTED_STR          ((CMC_enum) 10)
00329 #define CMC_CONFIG_VER_IMPLEM               ((CMC_enum) 11)
00330 #define CMC_CONFIG_VER_SPEC                 ((CMC_enum) 12)
00331 
00332 #define CMC_LINE_TERM_CRLF                  ((CMC_enum) 0)
00333 #define CMC_LINE_TERM_CR                    ((CMC_enum) 1)
00334 #define CMC_LINE_TERM_LF                    ((CMC_enum) 2)
00335 
00336 #define CMC_REQUIRED_NO                     ((CMC_enum) 0)
00337 #define CMC_REQUIRED_YES                    ((CMC_enum) 1)
00338 #define CMC_REQUIRED_OPT                    ((CMC_enum) 2)
00339 
00340 #define CMC_CHAR_CP437                      "1 2 840 113556 3 2 437"
00341 #define CMC_CHAR_CP850                      "1 2 840 113556 3 2 85"
00342 #define CMC_CHAR_CP1252                     "1 2 840 113556 3 2 1252"
00343 #define CMC_CHAR_ISTRING                    "1 2 840 113556 3 2 0"
00344 #define CMC_CHAR_UNICODE                    "1 2 840 113556 3 2 1"
00345 
00346 #ifdef __cplusplus
00347 }
00348 #endif
00349 
00350 #endif /* #ifndef _XCMC_H */

Generated on Sun May 27 2012 04:33:06 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.