gecko-dev/lib/mailto/ad_codes.h
akkana%netscape.com 1a97e11ffd Mailto landing.
The mailto library is the mail compose code ripped out of the old
Messenger libmsg library, then cleaned up somewhat
(it could still use more cleaning).
This library should only be built ifdef MOZ_MAIL_COMPOSE.
1998-09-04 19:04:30 +00:00

130 lines
3.3 KiB
C

/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/*
** AD_Codes.h
**
** ---------------
**
** Head file for Apple Decode/Encode enssential codes.
**
**
*/
#ifndef ad_codes_h
#define ad_codes_h
#include "xp_core.h"
/*
** applefile definitions used
*/
#ifdef XP_MAC
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=mac68k
#endif
#endif /* XP_MAC */
#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 magic;
int32 version;
char fill[16];
int16 entries;
} ap_header;
typedef struct ap_entry
{
uint32 id;
uint32 offset;
uint32 length;
} ap_entry;
typedef struct ap_dates
{
int32 create, modify, backup, access;
} ap_dates;
typedef struct myFInfo /* the mac FInfo structure for the cross platform. */
{
int32 fdType, fdCreator;
int16 fdFlags;
int32 fdLocation; /* it really should be a pointer, but just a place-holder */
int16 fdFldr;
} myFInfo;
XP_BEGIN_PROTOS
/*
** string utils.
*/
int write_stream(appledouble_encode_object *p_ap_encode_obj,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, XP_Bool firstTime);
int ap_encode_data( appledouble_encode_object* p_ap_encode_obj, XP_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, XP_Bool firstime);
int ap_parse_header(appledouble_decode_object* p_ap_decode_obj,XP_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, XP_Bool firstime);
int ap_decode_process_data( appledouble_decode_object* p_ap_decode_obj, XP_Bool firstime);
#ifdef XP_MAC
OSErr my_FSSpecFromPathname(char* src_filename, FSSpec* fspec);
char* my_PathnameFromFSSpec(FSSpec* fspec);
#endif
XP_END_PROTOS
#ifdef XP_MAC
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=reset
#endif
#endif /* XP_MAC */
#endif /* ad_codes_h */