diff options
Diffstat (limited to 'mailnews/compose/src/nsMsgAppleCodes.h')
-rw-r--r-- | mailnews/compose/src/nsMsgAppleCodes.h | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/mailnews/compose/src/nsMsgAppleCodes.h b/mailnews/compose/src/nsMsgAppleCodes.h new file mode 100644 index 000000000..d8ca2f327 --- /dev/null +++ b/mailnews/compose/src/nsMsgAppleCodes.h @@ -0,0 +1,106 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* +** AD_Codes.h +** +** --------------- +** +** Head file for Apple Decode/Encode essential codes. +** +** +*/ + +#ifndef ad_codes_h +#define ad_codes_h + +/* +** applefile definitions used +*/ +#if PRAGMA_STRUCT_ALIGN + #pragma options align=mac68k +#endif + +#define APPLESINGLE_MAGIC 0x00051600L +#define APPLEDOUBLE_MAGIC 0x00051607L +#define VERSION 0x00020000 + +#define NUM_ENTRIES 6 + +#define ENT_DFORK 1L +#define ENT_RFORK 2L +#define ENT_NAME 3L +#define ENT_COMMENT 4L +#define ENT_DATES 8L +#define ENT_FINFO 9L +#define CONVERT_TIME 1265437696L + +/* +** data type used in the encoder/decoder. +*/ +typedef struct ap_header +{ + int32_t magic; + int32_t version; + char fill[16]; + int16_t entries; + +} ap_header; + +typedef struct ap_entry +{ + int32_t id; + int32_t offset; + int32_t length; + +} ap_entry; + +typedef struct ap_dates +{ + int32_t create, modify, backup, access; + +} ap_dates; + +typedef struct myFInfo /* the mac FInfo structure for the cross platform. */ +{ + int32_t fdType, fdCreator; + int16_t fdFlags; + int32_t fdLocation; /* it really should be a pointer, but just a place-holder */ + int16_t fdFldr; + +} myFInfo; + +PR_BEGIN_EXTERN_C +/* +** string utils. +*/ +int write_stream(appledouble_encode_object *p_ap_encode_obj, const char *s,int len); + +int fill_apple_mime_header(appledouble_encode_object *p_ap_encode_obj); +int ap_encode_file_infor(appledouble_encode_object *p_ap_encode_obj); +int ap_encode_header(appledouble_encode_object* p_ap_encode_obj, bool firstTime); +int ap_encode_data( appledouble_encode_object* p_ap_encode_obj, bool firstTime); + +/* +** the prototypes for the ap_decoder. +*/ +int fetch_a_line(appledouble_decode_object* p_ap_decode_obj, char *buff); +int ParseFileHeader(appledouble_decode_object* p_ap_decode_obj); +int ap_seek_part_start(appledouble_decode_object* p_ap_decode_obj); +void parse_param(char *p, char **param, char**define, char **np); +int ap_seek_to_boundary(appledouble_decode_object* p_ap_decode_obj, bool firstime); +int ap_parse_header(appledouble_decode_object* p_ap_decode_obj,bool firstime); +int ap_decode_file_infor(appledouble_decode_object* p_ap_decode_obj); +int ap_decode_process_header(appledouble_decode_object* p_ap_decode_obj, bool firstime); +int ap_decode_process_data( appledouble_decode_object* p_ap_decode_obj, bool firstime); + +PR_END_EXTERN_C + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=reset +#endif + +#endif /* ad_codes_h */ |