|
|
/*************************************************************************** libdbx.h - Header file for DBX handling Library ------------------- begin : April 2001 copyright : (C) 2001 by David Smith email : Dave.S@Earthcorp.com ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ /* libdbx - read dbx files as used by Outlook Express 5.0 */ #ifndef _LIBDBX_H_ #define _LIBDBX_H_ #include <stdio.h> #define LIBDBX_VERSION "0.1" /* Control Structure */ struct dbxcontrolstruct { FILE *fd; //file descriptor of the dbx file int indexCount; //number of elements in the following array int * indexes; //array of indexes int type; //type of DBX file }; typedef struct dbxcontrolstruct DBX; /* Folder Entity - Extracted from folders.dbx */ struct dbxfolderstruct { char *name; //name of folder char *fname; //filename of the folder int id; //numeric id of the folder int parentid; //numeric id of the parent folder }; typedef struct dbxfolderstruct DBXFOLDER; /* Email Entity - Extracted from a mail type .dbx file */ struct dbxemailstruct { char *email; char *subject; char *messageid; char *parent_message_ids; char *sender_name; char *sender_address; char *recip_name; char *recip_address; int id; }; typedef struct dbxemailstruct DBXEMAIL; /* Global Variables */ extern int dbx_errno; /* DBX Errors */ /*0 - No error. i.e. Success */ #define DBX_NOERROR 0 /*1 - dbx file operation failed (open or close)*/ #define DBX_BADFILE 1 /*2 - Reading of Item Count from dbx file failed */ #define DBX_ITEMCOUNT 2 /*3 - Reading of Index Pointer from dbx file failed */ #define DBX_INDEX_READ 3 /*4 - Number of indexes read from dbx file is less than expected*/ #define DBX_INDEX_UNDERREAD 4 /*5 - Number of indexes read from dbx file is greater than expected*/ #define DBX_INDEX_OVERREAD 5 /*6 - Request was made for index reference greater than exists (subscript out of range)*/ #define DBX_INDEXCOUNT 6 /*7 - Reading of data from dbx file failed */ #define DBX_DATA_READ 7 /*8 - Item is a news item not an email*/ #define DBX_NEWS_ITEM 8 /* Prototypes */ #ifdef __cplusplus extern "C" { #endif DBX *dbx_open(char*); DBX *dbx_open_stream(FILE *fp); int dbx_close(DBX*); int dbx_free(DBX *dbx, void *item); void* dbx_get(DBX*, int); int dbx_perror(char*); #ifdef __cplusplus } #endif /*Types of DBX file*/ /*0 - Contains emails*/ #define DBX_TYPE_EMAIL 0 /*1 - Contains news group items*/ #define DBX_TYPE_NEWS 1 /*2 - Contains the folder structure of Outlook*/ #define DBX_TYPE_FOLDER 2 #endif //_LIBDBX_H_
Generated by: dave@davepc on Sun May 13 17:03:35 2001, using kdoc 2.0a42. |