WinFuture-Forum.de: Suche Xml Parser Tool - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Software
Seite 1 von 1

Suche Xml Parser Tool


#1 _adlershof_

  • Gruppe: Gste

geschrieben 13. Mrz 2007 - 10:23

Hi Winfuture-Community,

ich suche ein XML Parser Tool, welches Informationen aus einer erst gelschten und dann mit Recuva wiederhergestellten Datei wiederherstellen lsst.

Sollte es Tools geben, dann schreibt sie in der Thread und vorallem, ob dies Freewaretools sind.
0

Anzeige



#2 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beitrge: 5.132
  • Beigetreten: 14. Juli 04
  • Reputation: 36
  • Geschlecht:unbekannt

geschrieben 13. Mrz 2007 - 11:00

Weist du denn genau, was in den Dateien vorkommt und zwar jedes Wort?
Ich nehme mal an, es geht immer noch um deine Dateien von dem Messenger damals, da bringt dir ein Parser mal genau gar nichts, denn den musst du ja erst mit Daten fttern, bevor er berhaupt was macht. Oder willst du nur die XML-Tags weg bekommen, um danach reinen Text zu haben?

Hast du die betreffende Datei schonmal in Notepad/$Editor geffnet, da sollte doch alles drin sein, was von Interesse ist.
0

#3 _adlershof_

  • Gruppe: Gste

geschrieben 13. Mrz 2007 - 11:50

also jetzt habe ich den inhalt der datei nicht mit, dass knnte ich z.b. erst donnerstag machen, aber das was ich wei und wo ich ahnung habe hren sich die ganzen begriff nach visual c++ an
0

#4 _adlershof_

  • Gruppe: Gste

geschrieben 15. Mrz 2007 - 07:47

Dies ist der Inhalt der xml-Datei aus dem Messenger, welche ich ausversehen mal gelscht hatte.


//**
//** Mercury Mail Transport System - Daemon Interface Definitions
//** Copyright © 1997-99, David Harris, All Rights Reserved.
//**
//** Note: the structures defined in this file are all BYTE-ALIGNED.
//** This is very important - if you are using a Borland Compiler
//** and your project uses WORD or DWORD alignment, then you will
//** need to add "#pragma option -a1" before you include this file
//** to ensure that the compiler aligns the structures correctly.
//** Getting the byte alignment wrong will almost certainly result
//** in your Daemon crashing when you load it.
//**

#ifndef _DAEMON_H
#define _DAEMON_H

#ifdef __cplusplus
extern "C" {
#endif

#ifndef INTS_DEFINED
#define INTS_DEFINED
// INT_16 and UINT_16 must be 16-bit Integer types
typedef unsigned short UINT_16;
typedef short INT_16;
typedef unsigned long UINT_32;
typedef long INT_32;
#endif


//**
//** Section 1: Data type definitions and constants for lists
//**

#ifndef _LISTS_H

struct _l_node
{
unsigned int flags, number;
struct _l_node *next, *prev;
void *data;
};

typedef struct _l_node LNODE;

struct _lv_node
{
unsigned int flags, number;
struct _lv_node *next, *prev;
BYTE data [];
};

typedef struct _lv_node LVNODE;

typedef struct
{
LNODE *top, *end; /* pointers to start/end of list */
int icount; /* number of items in list */
unsigned isize; /* size of *data in LNODE */
int ilimit; /* maximum size of list - no limit if 0 */
int ialloc; /* whether or not to allocate space for items */
unsigned int last_acc; /* Last data accessed using get_list_data */
LNODE *last_data; /* " " " " " " " " " " */
} LIST;

#endif

//**
//** Section 2: Data type definitions and constants for
//** Job Management
//**

// Rewind flags - passed to ji_rewind_job

#define JR_CONTROL 1
#define JR_DATA 2

// Diagnostic flags - passed to ji_set/get_diagnostics

#define JD_ELEMENT 1
#define JD_JOB 2

typedef struct
{
int structlen;
char jobstatus;
long jobflags;
char status;
char *from;
char *to;
long dsize;
long rsize;
int total_rcpts;
int total_failures;
int total_retries;
char ip1 [16];
char ip2 [16];
char ip3 [16];
char ip4 [16];
char jobid [20];
} JOBINFO;

enum // Job types, for ji_scan_* and ji_create_job
{
JT_GENERAL, // Local and newly-submitted mail
JT_OUTGOING, // Only mail destined for the outside world
JT_ANY // Any type of job
};

enum // "mode" values for ji_set_element_status
{
JS_COMPLETED, // "date" is ignored
JS_FAILED, // "date" is ignored
JS_RETRY, // "date" is used for requeuing if non-NULL
JS_PENDING, // "date" is ignored
JS_TEMP_FAIL // "date" is ignored
};

enum // "type" values for ji_get_next_element
{
JE_ANY, // Any type of element is OK
JE_READY, // Only return elements ready to be sent
JE_FAILED, // Only return elements marked as failed
JE_COMPLETED, // Only return elements marked as completed
JE_PENDING, // Only return elements marked as "pending"
JE_TEMP_FAIL // Only return elements marked as temporarily failed
};


//**
//** Section 3: General Mercury data type and constant definitions
//** Many of these structures are not directly used by Daemons.
//**

#ifndef MAXFPATH
#define MAXFPATH 128
#endif

#ifndef size
#define size(x) (sizeof (x) / sizeof (x [0]))
#endif

#define MAXUIC 128
#define MAXHOST 128

// Statistics manager constants.

#define STC_INTEGER 0
#define STC_STRING 1
#define STC_DATE 2

#define STF_CUMULATIVE 1
#define STF_PEAK 2
#define STF_UNIQUE 4

// Logging console manager priority constants

#define LOG_DEBUG 25
#define LOG_INFO 20
#define LOG_NORMAL 15
#define LOG_SIGNIFICANT 10
#define LOG_URGENT 5
#define LOG_NONE 0

// Constants that can be passed to "create_object"

#define OBJ_USER 1
#define OBJ_ADMINISTRATOR 2

typedef unsigned char UCHAR;
typedef unsigned short USHORT;
typedef unsigned long ULONG;

// INT_16 and UINT_16 must be 16-bit Integer types
typedef unsigned short UINT_16;
typedef short INT_16;

typedef struct
{
char auto_forward [60];
char gw_auto_forward [60]; // Mercury uses this field for forwarding
char from_alias [60]; // Alternative From: field value
unsigned flags;
char security;
} PMPROP;

typedef struct
{
char *name;
char *domain;
char *login_name;
char *password;
} SERVER_ID;

typedef struct
{
char *name;
char *groupname;
char *hostname;
} GROUP_ID;

typedef struct
{
char *match;
char *rewrite;
} REWRITE;

typedef struct
{
char lname [48];
char fname [128]; // Name of container file for list
char moderator [80]; // Primary list moderator (if any)
char title [80]; // Title for list (used in "to" field
char welcome_file [128]; // File to send to new subscribers
char farewell_file [128]; // File to send to unsubscribers
char ispublic; // NZ if open subscription is available
char matched; // NZ if the address passed in is a moderator
char moderated; // NZ if mailing to the list is restricted
char allow_enumeration; // NZ if anyone may use ENUMERATE
char reply_to_list; // NZ if replies should go to the list
int limit; // Maximum allowable number of subscribers
char errors_to [80]; // Address to which errors should be referred
char restricted; // NZ if only list members may mail to the list
int fanout; // Number of jobs to "fan" the delivery to
char anonymous; // Whether this list is anonymous or not
char title_is_address; // If NZ, the 'title' field contains an address
char digest_name [14]; // Name of digest file
unsigned long digest_maxsize;
int digest_maxwait;
char archive_file [128]; // File into which to archive messages
char digest_default; // If NZ, new users are default to digest mode
char list_headers; // Use IETF draft helper headers
char list_help [80]; // Help URL
char list_signature [128]; // List's signature file
char concealed; // If NZ, do not publicize via the maiser LIST
long maximum_size; // Largest message that may be submitted to list
char password [128]; // Moderator password or password filename
char pwd_is_filename; // NZ if "password" is a filename
} DLIST;

#define FS_BOLD 1
#define FS_ITALIC 2
#define FS_FIXED 4
#define FS_OEMCHARS 8

typedef struct
{
char fontname [LF_FACESIZE];
INT_16 fontsize, style;
} FONTSPEC;

typedef struct
{
char alias [60];
char obj_name [48];
char server [48];
long flags; /* Unused at present - might be handy later */
} CHBIND;

typedef struct
{
char alias [180], name [180];
} ALIAS;


// IMESSAGE structure definition:
// The IMESSAGE structure is used internally to represent messages
// and pseudo-messages. This structure exactly parallels a structure
// used in Pegasus Mail v3.x and later for the same purpose, and is
// included in this way to allow maximum code portability between
// the two.

typedef struct
{
INT_16 dsize; // The size of this data structure
INT_16 mtype; // User-defined message type field
UINT_32 flags; // First bank of message-related flags
UINT_32 flags2; // Second bank of message-related flags
char fname [14]; // Recommended filename for message
char from [42]; // The sender of the message
char subject [50]; // Can you guess what this is?
UCHAR cdate [8]; // Timezone-corrected date from message
UCHAR date [8]; // Raw RFC822 time and date for message
UINT_32 fsize; // Raw size of this message
UINT_16 colour; // Display colour for this entry
UINT_16 charset; // Character set for message
char unique_id [34]; // Unique ID for the message
void *folder; // Currently unused in Mercury/32
char filename [128]; // The file containing the message data
} IMESSAGE;

// Explanation of fields:
// "dsize" The allocated size of this data structure
// "mtype" The user can define message types that can be used for sorting
// "flags" Can contain any of the flag values shown in Group 1 below
// "flags2" Can contain any of the flag values shown in Group 2 below
// "fname" Recommended filename for any storage to do with the message
// "from" Display version of sender's address
// "subject" Display version of message subject
// "date" The date as shown in the message's RFC822 "Date:" field
// "cdate" The date the message arrived at the local system.
// - See below for more on the date format
// "fsize" Raw size of the message, including headers and formatting
// Note - no allowance is made for CR/LF conversions.
// "colour" Index into colour table for message display colour
// "charset" Index into character set table for message charset format
// "unique_id" Guaranteed unique persistent global identifier for this message
// "folder" The folder in which this message is currently stored.
//
// Date format: dates in IMESSAGEs use the NetWare 7-byte date format plus an
// extra byte containing the offset in half-hour units from GMT. The date is
// always pre-corrected to GMT by WinPMail. Note that byte 0 (the year) is
// always the actual year - 1900, so the year 2000 is represented by 100.
// The NetWare date format is as shown:
//
// Byte 0 - Year - 1900 (i.e, 2005 = 105)
// Byte 1 - Month (ie, January == 1)
// Byte 2 - Day (1 .. 31)
// Byte 3 - Hour (0 - 24)
// Byte 4 - Minute (0 - 59)
// Byte 5 - Second (0 - 60)
// Byte 6 - Day of week (Sunday == 0) ("255" == "not calculated")

//
// Group 1 flag values - these can be used in an IMESSAGE "flags" field.
//
#define FILE_MAILED 1 // The message contains a mailed file
#define UUENCODED 2 // The message contains uuencoded data
#define FILE_ATTACHED 0x800003L // Use this as an attachment mask.
#define ENCRYPTED 4 // The message is encrypted
#define EXPIRED 16 // The message is past its expiry date
#define FILE_ASCII 32 // Flag in attachment to indicate ASCII file
#define HAS_BEEN_READ 128 // Hey, what do you know! It's been read!
#define ALTERNATIVE 0x100 // The message is Multipart/Alternative type
#define IS_HTML 0x200 // The message is Text/HTML type
#define IS_CIRCULAR 0x400 // The message is being circulated
#define CONFIRMATION 0x2000 // Sender wants confirmation of reading
#define FORWARD 0x8000L // The message is being forwarded
#define IS_RTF 0x10000L // Message contains MS-RTF data
#define COPYSELF 0x20000L // The message is a copy to self
#define DELETED 0x40000L // The message has been deleted.
#define MIME 0x80000L // The message is a MIME transmission
#define REPLIED 0x100000L // The message has been replied to.
#define FORWARDED 0x200000L // The message has been forwarded.
#define URGENT 0x400000L // The message is urgent/high priority.
#define BINHEX 0x800000L // The message is a BinHex file
#define IS_MHS 0x1000000L // The message originates from MHS
#define IS_SMTP 0x2000000L // The message originated via SMTP
#define IS_ANNOTATED 0x4000000L // The message has an annotation
#define ENCLOSURE 0x8000000L // The message has an enclosure
#define HIGHLIGHTED 0x10000000L // The message has transient significance
#define MIME_MULTI 0x20000000L // The message is in MIME Multipart format
#define TEXT_ENRICHED 0x40000000L // The message is in "text/enriched" format
#define READ_ONLY 0x80000000L // The message may not be deleted

//
// Group 2 flag values - these can be used in an IMESSAGE "flags2" field
//

#define IS_NEWMAIL 1 // The message is in the new mail folder
#define IS_NOTICE 2 // The message comes from a noticeboard
#define IS_TEMPORARY 4


// MIME parsing definitions and structures

enum // Content dispositions
{
MD_ATTACHMENT, MD_INLINE
};

enum // The primary types
{
MP_TEXT, MP_MULTIPART, MP_MESSAGE, MP_APPLICATION,
MP_IMAGE, MP_VIDEO, MP_AUDIO, MP_UNKNOWN
};

enum // TEXT subtypes
{
MPT_PLAIN, MPT_RICHTEXT, MPT_HTML, MPT_RTF, MPT_UNKNOWN
};

enum // MULTIPART subtypes
{
MPP_MIXED, MPP_ALTERNATIVE, MPP_DIGEST,
MPP_PARALLEL, MPP_UNKNOWN
};

enum // MESSAGE subtypes
{
MPM_RFC822, MPM_PARTIAL, MPM_EXTERNAL_BODY, MPM_UNKOWN
};

enum // APPLICATION subtypes
{
MPA_OCTET_STREAM, MPA_POSTSCRIPT, MPA_ODA, MPA_BINHEX, MPA_UNKNOWN
};

enum // IMAGE subtypes
{
MPI_GIF, MPI_JPEG, MPI_UNKNOWN
};

enum // VIDEO subtypes
{
MPV_MPEG, MPV_UNKNOWN
};

enum // AUDIO subtypes
{
MPU_BASIC, MPU_UNKNOWN
};

enum // MIME transfer-encodings
{
// Note that ME_BINHEX and ME_UUENCODE are handled as special
// cases and as such must always appear after ME_UNKNOWN.
ME_7BIT, ME_8BIT, ME_QUOTED_PRINTABLE, ME_BASE64, ME_UNKNOWN,
ME_BINHEX, ME_UUENCODE
};

typedef struct
{
char charset [20];
char *table;
} MPT;

typedef struct
{
char boundary [71];
LIST partlist;
} MPP;

typedef struct
{
char fname [96];
char type [20];
} MPA;

typedef struct
{
int primary, secondary, encoding, disposition;
char p_string [20], s_string [20];
char description [48];
char encryptor [16]; // For encrypted attachments, the encryptor
int encryptor_flags;
int section;
char fname [96];
union
{
MPT mpt;
MPP mpp;
MPA mpa;
IMESSAGE mpm;
} d;
} IMIME;


//**
//** Section 4: Constants for message composition functions
//**

#define OM_M_8BIT 1

#define OM_MT_PLAIN 0 // A simple, single-part text/plain message
#define OM_MT_MULTIPART 1 // A multipart/mixed message
#define OM_MT_ALTERNATIVE 2 // A multipart/alternative message
#define OM_MT_DIGEST 3 // A multipart/digest type

#define OM_MF_TO 1 // Set the master recipient of the message
#define OM_MF_SUBJECT 2 // Set the subject field for the message
#define OM_MF_CC 3 // Set the secondary recipients of the message
#define OM_MF_FROM 4 // Set the originator of the message.
#define OM_MF_BODY 5 // Set the filename containing the message body
#define OM_MF_RAW 6 // Add a raw header for the message.
#define OM_MF_FLAGS 7 // Set the message's "flags" field

#define OM_AE_DEFAULT 0 // Default encoding (MIME BASE64 encoding)
#define OM_AE_TEXT 1 // Simple textual data, unencoded
#define OM_AE_UUENCODE 2 // Uuencoding
#define OM_AE_BINHEX 3 // Macintosh Binhex format (data fork only)

#define OM_AF_INLINE 1 // Write the file as a simple textual section
#define OM_AF_MESSAGE 2 // Write the message as a Message/RFC822 part


//**
//** Section 5: Protocol Module parameter block definition;
//** Daemons are passed a Protocol Module parameter block.
//**

#define GV_QUEUENAME 1
#define GV_SMTPQUEUENAME 2
#define GV_MYNAME 3
#define GV_TTYFONT 4
#define GV_MAISERNAME 5
#define GV_FRAMEWINDOW 6
#define GV_SYSFONT 7
#define GV_BASEDIR 8
#define GV_SCRATCHDIR 9

#define SYSTEM_PASSWORD 1
#define APOP_SECRET 2
#define PASSWD_MUST_EXIST 256

// Messages that protocol modules can send using the
// "mercury_command" function in the protocol parameter block

// GET_MODULE_INTERFACE:
// - "parm1" - char * pointer to name of module to locate
// - Returns: the command interface function for the module, or NULL
#define GET_MODULE_INTERFACE 1

// ADD_ALIAS
// - "parm1" - char * pointer to alias to add
// "parm2" - char * pointer to real-world address string
// - Returns: NZ on success, 0 on failure
#define ADD_ALIAS 2

// DELETE_ALIAS
// - "parm1" - char * pointer to alias field of alias to delete
// Returns: NZ on success, 0 on failure
#define DELETE_ALIAS 3

// RESOLVE_ALIAS
// - "parm1" - char * pointer to buffer to receive address (180 char min)
// "parm2" - char * pointer to alias to resolve
// - Returns: NZ if a match was found, 0 if none was found.
#define RESOLVE_ALIAS 4

// RESOLVE_SYNONYM
// - "parm1" - char * pointer to buffer to receive address (180 char min)
// "parm2" - char * pointer to synonym to resolve
// - Returns: NZ if a match was found, 0 if none was found
#define RESOLVE_SYNONYM 5

// QUEUE_STATE - enable or disable queue processing
// - "parm1" - 0 to query current state, 1 to set state
// "parm2" - 1 to pause processing, 0 to enable it
// - Returns: The state of queue processing prior to the call
#define QUEUE_STATE 6

// DISPLAY_HELP
// - "parm1" - section number in MERCURY.HLP
// "parm2" - unused, must be 0
// - Returns: Nothing.
#define DISPLAY_HELP 512

#define NOT_IMPLEMENTED 0xF0000000L

#define RFC_822_TIME 0
#define RFC_821_TIME 1

typedef DWORD (*GET_VARIABLE) (int index);
typedef int (*IS_LOCAL_ADDRESS) (char *address, char *uic, char *server);
typedef int (*GET_DELIVERY_PATH) (char *path, char *username, char *host);

typedef int (*IS_GROUP) (char *address, char *host, char *groupname);
typedef int (*PARSE_ADDRESS) (char *target, char *source, int limit);
typedef int (*EXTRACT_ONE_ADDRESS) (char *dest, char *source, int offset);
typedef void (*EXTRACT_CQTEXT) (char *dest, char *source, int len);
typedef int (*DLIST_INFO) (DLIST *dlist, char *lname, int num, char *address,
char *errbuf, LIST *modlist);
typedef void (*SEND_NOTIFICATION) (char *username, char *host, char *message);
typedef int (*GET_DATE_AND_TIME) (BYTE *tm);
typedef INT_32 (*VERIFY_PASSWORD) (char *username, char *host,
char *password, INT_32 select);
typedef int (*WRITE_PROFILE) (char *section, char *fname);
typedef int (*MODULE_STATE) (char *modname, int set_value, int state);

// Job control functions

typedef void * (*JI_SCAN_FIRST_JOB) (int type, int mode, void **data);
typedef void * (*JI_SCAN_NEXT_JOB) (void **data);
typedef void (*JI_END_SCAN) (void **data);

typedef int (*JI_OPEN_JOB) (void *jobhandle);
typedef int (*JI_CLOSE_JOB) (void *jobhandle);
typedef void (*JI_REWIND_JOB) (void *jobhandle, int flags);
typedef int (*JI_DISPOSE_JOB) (void *jobhandle);
typedef int (*JI_PROCESS_JOB) (void *jobhandle);
typedef int (*JI_DELETE_JOB) (void *jobhandle);
typedef int (*JI_ABORT_JOB) (void *jobhandle, int fatal);
typedef int (*JI_GET_JOB_INFO) (void *jobhandle, JOBINFO *ji);

typedef void * (*JI_CREATE_JOB) (int type, char *from,
unsigned char *start_time);
typedef int (*JI_ADD_ELEMENT) (void *jobhandle, char *address);
typedef int (*JI_ADD_DATA) (void *jobhandle, char *data);
typedef char * (*JI_GET_DATA) (void *jobhandle, char *buffer, int buflen);

typedef char * (*JI_GET_NEXT_ELEMENT) (void *jobhandle, int type, JOBINFO *job);
typedef int (*JI_SET_JOB_FLAGS) (void *jobhandle, long flags);
typedef int (*JI_SET_ELEMENT_STATUS) (void *jobhandle, int mode,
unsigned char *date);
typedef int (*JI_SET_ELEMENT_RESOLVINFO) (void *jobhandle, char *ip1, char *ip2,
char *ip3, char *ip4);

typedef int (*JI_SET_DIAGNOSTICS) (void *jobhandle, int forwhat, char *text);
typedef int (*JI_GET_DIAGNOSTICS) (void *jobhandle, int forwhat, char *fname);

typedef void (*JI_INCREMENT_TIME) (unsigned char *tm, unsigned int secs);

typedef long (*JI_TELL) (void *jobhandle, int selector);
typedef int (*JI_SEEK) (void *jobhandle, long ofs, int selector);

typedef void * (*JI_GET_JOB_BY_ID) (char *id);
typedef int (*JI_GET_JOB_TIMES) (void *job, char *submitted, char *ready);

// MNICA functions

typedef int (*GET_FIRST_GROUP_MEMBER) (char *group, char *host, char *member,
int mlen, void **data);
typedef int (*GET_NEXT_GROUP_MEMBER) (char *member, int mlen, void **data);
typedef int (*END_GROUP_SCAN) (void **data);
typedef int (*IS_VALID_LOCAL_USER) (char *address, char *username, char *host);
typedef int (*IS_GROUP_MEMBER) (char *host, char *username, char *groupname);
typedef int (*GET_FIRST_USER_DETAILS) (char *host, char *match, char *username,
int ulen, char *address, int alen, char *fullname, int flen, void **data);
typedef int (*GET_NEXT_USER_DETAILS) (char *username, int ulen, char *address,
int alen, char *fullname, int flen, void **data);
typedef int (*GET_USER_DETAILS) (char *host, char *match, char *username, int ulen,
char *address, int alen, char *fullname, int flen);
typedef int (*END_USER_SCAN) (void **data);
typedef void (*READ_PMPROP) (char *userid, char *server, PMPROP *p);
typedef int (*CHANGE_OWNERSHIP) (char *fname, char *host, char *newowner);
typedef int (*BEGIN_SINGLE_DELIVERY) (char *uic, char *server, void **data);
typedef void (*END_SINGLE_DELIVERY) (void **data);

// Miscellaneous functions - Mercury 2.11 and later only

typedef DWORD (*MERCURY_COMMAND) (DWORD selector, DWORD parm1, DWORD parm2);
typedef char * (*GET_DATE_STRING) (int dtype, char *buf, BYTE *date);
typedef char * (*RFC822_TIME) (char *buffer);
typedef char * (*RFC821_TIME) (char *buffer);

// File I/O and parsing functions - Mercury 2.15 and later only

typedef INT_32 (*FM_OPEN_FILE) (char *path, UINT_32 flags);
typedef INT_32 (*FM_OPEN_MESSAGE) (IMESSAGE *im, UINT_32 flags);
typedef int (*FM_CLOSE_MESSAGE) (INT_32 id);
typedef char * (*FM_GETS) (char *buf, INT_32 max, INT_32 id);
typedef INT_16 (*FM_GETC) (INT_32 id);
typedef void (*FM_UNGETC) (INT_16 c, INT_32 id);
typedef INT_32 (*FM_READ) (INT_32 id, char *buffer, INT_32 bufsize);
typedef INT_32 (*FM_GETPOS) (INT_32 fil);
typedef INT_16 (*FM_SETPOS) (INT_32 fil, INT_32 offset);
typedef INT_32 (*FM_GET_FOLDED_LINE) (INT_32 fil, char *line, int limit);
typedef char * (*FM_FIND_HEADER) (INT_32 fil, char *name, char *buf, int len);
typedef int (*FM_EXTRACT_MESSAGE) (void *job, char *fname, int flags);

typedef int (*PARSE_HEADER) (INT_32 fil, IMESSAGE *m);
typedef int (*MIME_PREP_MESSAGE) (INT_32 fil, char *fname, int headers);
typedef int (*PARSE_MIME) (INT_32 fil, IMIME *m);
typedef void (*FREE_MIME) (IMIME *m);
typedef int (*FAKE_IMESSAGE) (IMESSAGE *im, char *dest, char *src,
IMIME *m, char *boundary);
typedef int (*DECODE_MIME_HEADER) (char *dest, char *src);
typedef int (*ENCODE_MIME_HEADER) (char *dest, char *src, int raw);

typedef void * (*OM_CREATE_MESSAGE) (UINT_32 mtype, UINT_32 flags);
typedef INT_32 (*OM_DISPOSE_MESSAGE) (void *mhandle);
typedef INT_32 (*OM_ADD_FIELD) (void *mhandle, UINT_32 selector, char *data);
typedef INT_32 (*OM_ADD_ATTACHMENT) (void *mhandle, char *fname, char *ftype,
char *description, UINT_32 encoding, UINT_32 flags, void *reserved);
typedef INT_32 (*OM_WRITE_MESSAGE) (void *mhandle, char *fname);
typedef void * (*OM_SEND_MESSAGE) (void *mhandle, char *envelope);

typedef int (*ENCODE_BASE64_STR) (char *dest, char *src, int srclen);
typedef int (*DECODE_BASE64_STR) (char *dest, char *src, char *table);

typedef INT_32 (*ST_REGISTER_MODULE) (char *module_name);
typedef INT_32 (*ST_UNREGISTER_MODULE) (INT_32 mhandle);
typedef INT_32 (*ST_CREATE_CATEGORY) (INT_32 mhandle, char *cname,
INT_32 ctag, INT_32 ctype, INT_32 dlen, UINT_32 flags);
typedef INT_32 (*ST_REMOVE_CATEGORY) (INT_32 mhandle, UINT_32 ctag);
typedef INT_32 (*ST_SET_HCATEGORY) (INT_32 chandle, UINT_32 data);
typedef INT_32 (*ST_SET_CATEGORY) (INT_32 mhandle, INT_32 ctag, UINT_32 data);

typedef void (*LOGSTRING) (INT_16 ltype, INT_16 priority, char *str);
typedef void (*LOGDATA) (INT_16 ltype, INT_16 priority, char *fmt, ...);

typedef INT_32 (*CREATE_OBJECT) (char *objectname, INT_32 objecttype,
char *id, INT_32 flags);
typedef INT_32 (*SET_PASSWORD) (char *username, char *host, char *newpassword,
char *oldpassword, INT_32 select);

typedef INT_32 (*ST_GET_NEXT_MODULE) (INT_32 mhandle, char *modname);
typedef INT_32 (*ST_GET_NEXT_CATEGORY) (INT_32 mhandle, INT_32 chandle,
char *cname, INT_32 *ctype, INT_32 *clen, INT_32 *cflags);
typedef INT_32 (*ST_GET_CATEGORY_DATA) (INT_32 chandle, void *data);
typedef INT_32 (*ST_EXPORT_STATS) (INT_32 mhandle, char *fname, UINT_32 flags);

typedef INT_32 (*SELECT_PRINTER) (char *devicename, int maxlen);
typedef INT_32 (* PRINT_FILE) (char *fname, char *printername, UINT_32 flags,
INT_32 lrmargin, INT_32 tbmargin, char *title, char *username, char *fontname,
INT_32 fontsize);

typedef struct
{
long dsize; // Size of this structure
char vmajor, vminor;
HWND hMDIParent;
GET_VARIABLE get_variable;
IS_LOCAL_ADDRESS is_local_address;
IS_GROUP is_group;
PARSE_ADDRESS parse_address;
EXTRACT_ONE_ADDRESS extract_one_address;
EXTRACT_CQTEXT extract_cqtext;
DLIST_INFO dlist_info;
SEND_NOTIFICATION send_notification;
GET_DELIVERY_PATH get_delivery_path;
GET_DATE_AND_TIME get_date_and_time;
VERIFY_PASSWORD verify_password;
WRITE_PROFILE write_profile;
MODULE_STATE module_state;

// Job control functions

JI_SCAN_FIRST_JOB ji_scan_first_job;
JI_SCAN_NEXT_JOB ji_scan_next_job;
JI_END_SCAN ji_end_scan;
JI_OPEN_JOB ji_open_job;
JI_CLOSE_JOB ji_close_job;
JI_REWIND_JOB ji_rewind_job;
JI_DISPOSE_JOB ji_dispose_job;
JI_PROCESS_JOB ji_process_job;
JI_DELETE_JOB ji_delete_job;
JI_ABORT_JOB ji_abort_job;
JI_GET_JOB_INFO ji_get_job_info;
JI_CREATE_JOB ji_create_job;
JI_ADD_ELEMENT ji_add_element;
JI_ADD_DATA ji_add_data;
JI_GET_DATA ji_get_data;
JI_GET_NEXT_ELEMENT ji_get_next_element;
JI_SET_ELEMENT_STATUS ji_set_element_status;
JI_SET_ELEMENT_RESOLVINFO ji_set_element_resolvinfo;
JI_SET_DIAGNOSTICS ji_set_diagnostics;
JI_GET_DIAGNOSTICS ji_get_diagnostics;
JI_INCREMENT_TIME ji_increment_time;

// MNICA (Network interface) functions

GET_FIRST_GROUP_MEMBER get_first_group_member;
GET_NEXT_GROUP_MEMBER get_next_group_member;
END_GROUP_SCAN end_group_scan;
IS_VALID_LOCAL_USER is_valid_local_user;
IS_GROUP_MEMBER is_group_member;
GET_FIRST_USER_DETAILS get_first_user_details;
GET_NEXT_USER_DETAILS get_next_user_details;
GET_USER_DETAILS get_user_details;
END_USER_SCAN end_user_scan;
READ_PMPROP read_pmprop;
CHANGE_OWNERSHIP change_ownership;
BEGIN_SINGLE_DELIVERY begin_single_delivery;
END_SINGLE_DELIVERY end_single_delivery;

// Miscellaneous functions

MERCURY_COMMAND mercury_command;
GET_DATE_STRING get_date_string;
RFC822_TIME rfc822_time;
RFC821_TIME rfc821_time;

// File parsing and I/O functions

FM_OPEN_FILE fm_open_file;
FM_OPEN_MESSAGE fm_open_message;
FM_CLOSE_MESSAGE fm_close_message;
FM_GETS fm_gets;
FM_GETC fm_getc;
FM_UNGETC fm_ungetc;
FM_READ fm_read;
FM_GETPOS fm_getpos;
FM_SETPOS fm_setpos;
FM_GET_FOLDED_LINE fm_get_folded_line;
FM_FIND_HEADER fm_find_header;
FM_EXTRACT_MESSAGE fm_extract_message;

PARSE_HEADER parse_header;
MIME_PREP_MESSAGE mime_prep_message;
PARSE_MIME parse_mime;
FREE_MIME free_mime;
FAKE_IMESSAGE fake_imessage;
DECODE_MIME_HEADER decode_mime_header;
ENCODE_MIME_HEADER encode_mime_header;

OM_CREATE_MESSAGE om_create_message;
OM_DISPOSE_MESSAGE om_dispose_message;
OM_ADD_FIELD om_add_field;
OM_ADD_ATTACHMENT om_add_attachment;
OM_WRITE_MESSAGE om_write_message;
OM_SEND_MESSAGE om_send_message;

ENCODE_BASE64_STR encode_base64_str;
DECODE_BASE64_STR decode_base64_str;

ST_REGISTER_MODULE st_register_module;
ST_UNREGISTER_MODULE st_unregister_module;
ST_CREATE_CATEGORY st_create_category;
ST_REMOVE_CATEGORY st_remove_category;
ST_SET_HCATEGORY st_set_hcategory;
ST_SET_CATEGORY st_set_category;

JI_TELL ji_tell;
JI_SEEK ji_seek;
JI_SET_JOB_FLAGS ji_set_job_flags;

LOGSTRING logstring;
LOGDATA logdata;

CREATE_OBJECT create_object;
SET_PASSWORD set_password;

ST_GET_NEXT_MODULE st_get_next_module;
ST_GET_NEXT_CATEGORY st_get_next_category;
ST_GET_CATEGORY_DATA st_get_category_data;
ST_EXPORT_STATS st_export_stats;

JI_GET_JOB_BY_ID ji_get_job_by_id;
JI_GET_JOB_TIMES ji_get_job_times;

SELECT_PRINTER select_printer;
PRINT_FILE print_file;
} M_INTERFACE;


#ifdef USES_M_INTERFACE

// Convenience macros: allow calls to internal Mercury functions to
// be made in the same way as they would be in the core code (good
// for portability).

// Values for the "flags" field of print_file

#define PRT_MESSAGE 1 // Print as an RFC822 message
#define PRT_REFORMAT 2 // Reformat long lines when printing
#define PRT_TIDY 4 // Print only "important" headers
#define PRT_FOOTER 8 // Print a footer on each page
#define PRT_NOHEADERS 16 // Print no message headers
#define PRT_FIRSTONLY 32 // Print only first line of headers
#define PRT_ITALICS 64 // Print quoted text in italics

extern M_INTERFACE *mi;

#define get_variable(x) (mi->get_variable (x))
#define is_local_address(a,u,s) (mi->is_local_address (a, u, s))
#define is_group(a,h,g) (mi->is_group (a, h, g))
#define parse_address(t,s,l) (mi->parse_address (t, s, l))
#define extract_one_address(d,s,o) (mi->extract_one_address (d, s, o))
#define extract_cqtext(d,s,l) (mi->extract_cqtext (d, s, l))
#define dlist_info(d,l,n,a,e,m) (mi->dlist_info(d, l, n, a, e, m))
#define send_notification(u,h,m) (mi->send_notification (u, h, m))
#define get_delivery_path(p,u,h) (mi->get_delivery_path (p, u, h))
#define get_date_and_time(b) (mi->get_date_and_time (b))
#define verify_password(u,s,p,e) (mi->verify_password (u, s, p, e))
#define write_profile(s,f) (mi->write_profile (s, f))
#define module_state(m,v,s) (mi->module_state (m, v, s))

#define ji_scan_first_job(t,m,d) (mi->ji_scan_first_job (t,m,d))
#define ji_scan_next_job(d) (mi->ji_scan_next_job (d))
#define ji_end_scan(d) (mi->ji_end_scan (d))
#define ji_open_job(j) (mi->ji_open_job (j))
#define ji_close_job(j) (mi->ji_close_job (j))
#define ji_rewind_job(j,f) (mi->ji_rewind_job (j,f))
#define ji_dispose_job(j) (mi->ji_dispose_job (j))
#define ji_process_job(j) (mi->ji_process_job (j))
#define ji_delete_job(j) (mi->ji_delete_job (j))
#define ji_abort_job(j,f) (mi->ji_abort_job (j, f))
#define ji_get_job_info(j,i) (mi->ji_get_job_info (j, i))
#define ji_create_job(t,f,s) (mi->ji_create_job (t,f,s))
#define ji_add_element(j,a) (mi->ji_add_element (j,a))
#define ji_add_data(j,d) (mi->ji_add_data (j,d))
#define ji_get_data(j,b,l) (mi->ji_get_data (j,b,l))
#define ji_get_next_element(j,t,i) (mi->ji_get_next_element (j,t,i))
#define ji_set_element_status(j,m,d) (mi->ji_set_element_status (j,m,d))
#define ji_set_element_resolvinfo(j,k,l,m,n) (mi->ji_set_element_resolvinfo (j,k,l,m,n))
#define ji_set_diagnostics(j,w,t) (mi->ji_set_diagnostics (j,w,t))
#define ji_get_diagnostics(j,w,f) (mi->ji_get_diagnostics (j,w,f))
#define ji_increment_time(t,s) (mi->ji_increment_time (t,s))
#define ji_tell(j,s) (mi->ji_tell (j,s))
#define ji_seek(j,o,s) (mi->ji_seek(j,o,s))
#define ji_set_job_flags(j,f) (mi->ji_set_job_flags(j,f))
#define ji_get_job_by_id(i) (mi->ji_get_job_by_id(i))
#define ji_get_job_times(j,s,r) (mi->ji_get_job_times(j,s,r))

#define get_first_group_member(g,h,m,l,d) (mi->get_first_group_member(g,h,m,l,d))
#define get_next_group_member(m,l,d) (mi->get_next_group_member(m,l,d))
#define end_group_scan(d) (mi->end_group_scan(d))
#define is_valid_local_user(a,u,h) (mi->is_valid_local_user(a,u,h))
#define is_group_member(h,u,g) (mi->is_group_member(h,u,g))
#define get_first_user_details(h,n,u,ul,a,al,f,fl,d) (mi->get_first_user_details(h,n,u,ul,a,al,f,fl,d))
#define get_next_user_details(u,ul,a,al,f,fl,d) (mi->get_next_user_details(u,ul,a,al,f,fl,d))
#define get_user_details(h,m,u,ul,a,al,f,fl) (mi->get_user_details(h,m,u,ul,a,al,f,fl))
#define end_user_scan(d) (mi->end_user_scan(d))
#define read_pmprop(u,s,p) (mi->read_pmprop(u,s,p))
#define change_ownership(f,h,n) (mi->change_ownership(f,h,n))
#define begin_single_delivery(u,s,d) (mi->begin_single_delivery(u,s,d))
#define end_single_delivery(d) (mi->end_single_delivery(d))

#define mercury_command(s,p1,p2) (mi->mercury_command(s,p1,p2))
#define get_date_string(s,b,d) (mi->get_date_string(s,b,d))
#define rfc822_time(s) (mi->rfc822_time(s))
#define rfc821_time(s) (mi->rfc821_time(s))

#define fm_open_file(p,f) (mi->fm_open_file(p,f))
#define fm_open_message(i,f) (mi->fm_open_message(i,f))
#define fm_close_message(i) (mi->fm_close_message(i))
#define fm_gets(b,m,i) (mi->fm_gets(b,m,i))
#define fm_getc(i) (mi->fm_getc(i))
#define fm_ungetc(c,i) (mi->fm_ungetc(c,i))
#define fm_read(i,b,s) (mi->fm_read(i,b,s))
#define fm_getpos(f) (mi->fm_getpos(f))
#define fm_setpos(f,o) (mi->fm_setpos(f,o))
#define fm_get_folded_line(f,l,x) (mi->fm_get_folded_line(f,l,x))
#define fm_find_header(i,n,b,l) (mi->fm_find_header(i,n,b,l))
#define fm_extract_message(j,n,f) (mi->fm_extract_message(j,n,f))

#define parse_header(f,m) (mi->parse_header(f,m))
#define mime_prep_message(i,f,h) (mi->mime_prep_message(i,f,h))
#define parse_mime(i,m) (mi->parse_mime(i,m))
#define free_mime(m) (mi->free_mime(m))
#define fake_imessage(i,s,m,e,b) (mi->fake_imessage(i,s,m,e,b))
#define decode_mime_header(d,s) (mi->decode_mime_header(d,s))
#define encode_mime_header(d,s,r) (mi->encode_mime_header(d,s,r))

#define om_create_message(m,f) (mi->om_create_message(m,f))
#define om_dispose_message(m) (mi->om_dispose_message(m))
#define om_add_field(m,s,d) (mi->om_add_field(m,s,d))
#define om_add_attachment(m,f,t,d,e,g,r) (mi->om_add_attachment(m,f,t,d,e,g,r))
#define om_write_message(m,f) (mi->om_write_message(m,f))
#define om_send_message(m,e) (mi->om_send_message(m,e))

#define encode_base64_str(d,s,l) (mi->encode_base64_str(d,s,l))
#define decode_base64_str(d,s,t) (mi->decode_base64_str(d,s,t))

#define st_register_module(m) (mi->st_register_module(m))
#define st_unregister_module(h) (mi->st_unregister_module(h))
#define st_create_category(m,c,t,y,l,f) (mi->st_create_category(m,c,t,y,l,f))
#define st_remove_category(m,c) (mi->st_remove_category(m,c))
#define st_set_hcategory(c,d) (mi->st_set_hcategory(c,d))
#define st_set_category(m,c,d) (mi->st_set_category(m,c,d))

#define logstring(l,p,s) (mi->logstring(l,p,s))
// "logdata" has variable parameters and cannot be accessed via a macro

#define create_object(n,t,i,f) (mi->create_object(n,t,i,f))
#define set_password(u,h,n,o,s) (mi->set_password(u,h,n,o,s))

#define st_get_next_module(m,n) (mi->st_get_next_module(m,n))
#define st_get_next_category(m,h,c,t,l,f) (mi->st_get_next_category(m,h,c,t,l,f))
#define st_get_category_data(c,d) (mi->st_get_category_data(c,d))
#define st_export_stats(m,f,l) (mi->st_export_stats(m,f,l))

#define select_printer(d,m) (mi->select_printer(d,m))
#define print_file(f,p,l,m,b,t,u,n,z) (mi->print_file(f,p,l,m,b,t,u,n,z))

#endif // USES_M_INTERFACE

#ifdef __cplusplus
};
#endif

#endif // _DAEMON_H

FOFV _` ƒ t
,  $ _``#\Z ` C : \ P r o g r a m m e \ P i n n a c l e \ S t u d i o 1 0 \ p r o g r a m s \ v f o e x t u . d l l $  N0A ΂F C : \ P r o g r a m m e \ P i n n a c l e \ S t u d i o 1 0 \ p r o g r a m s \ v f o e x t u . d l l $  ΂F C : \ P r o g r a m m e \ P i n n a c l e \ S t u d i o 1 0 \ p r o g r a m s \ v f o e x t u . d l l $ B@=gBn `@ֆ C : \ P r o g r a m m e \ P i n n a c l e \ S t u d i o 1 0 \ p r o g r a m s \ v f o e x t u . d l l t
  IAFVsR I K K N E N R o m a n S c h o l z D E F A U L T 4 /t @  , /t E r s t e l l e n ? 4   _` ƒ    ? X   B T S h a n g h a i _ T r a i n i n g _ ( 4 ) . V O B GN S h a n g h a i _ T r a i n i n g _ ( 4 ) . V O B [ 9 : 2 2 : 2 8 . 1 2 ]  5 A H i i i  8 T  i -  BM x   OCIP BLUE      JFIF    C  

 $.' ",#(7),01444'9=82<.342 C 

2!!2222222222222222222222222222222222222222222222
2222  x !    
  } !1AQa"q2#BR$3br
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz

  
  w !1AQaq"2B #3Rbr
$4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz

  ? 
kR, II}qU'A,C@ ?CH^”(~ ABq8!X=P1@rQ1"aZiAEqHBCt*~|~_W ] S<

(~L`<$c?^+Ӛ;#+70 d2>UQ%.1zNmtI:R8OZm6+%we3}=<
\Tm|aIۭǔgk)< ǿsq<+$H*kOSG?g I} 0KQ񷑠H<?Ja}N 1̑Z4a6Pw1p;CniGk&Pɾ1#Y<cɎZPk58s\ ';:! Sv;}F}
3ۂݞ^߻}Q<eq5OKU2K`O8f3LRZ;=֙ip9 *mv\e G#(PQ@ )%6U]䉑\4d1\Lm.!vEΕlp `g~Y^\Cko 5~\7J19}[iwKc}72_D*#R>eɓ<[lcTx㷲PgWQ.zWw˽;bxٶh?E|g,w_eGg3.P#]
ӌ4+R.Y[xZQlId^6A0ӵ]N
Re̞j\4r.p3sRvKzm'f/ɱ TPЈ 
>mq ٞp.x#6}3 hId²jC܈O
qU,ow;Fǂ-ʄ

Qnz&;1e{\ťUz y (ᝮw.d.Qt. G^Ιxo\öA= V;G wc*2MGKt"k2-I,U\FX89
֦SzjwՋ;2=#M\%4@s$aW[Uͥf R09ec jgmUz_CV)b{
8iN__zjvqo) D[PY 2tnj:HQjJ4o컵˗d$LX0.
8OZ<?صynZYtdW]#
n@v388!FHgN/
I@A89=yz`e-Y]F
#E2#֜]p< Q&Cm8+GwvJ,|% k̈OEџ3(xf,q{Gw#ZhK
Qʀ= P0;Oh%
.8?%aUIb'ܜ5E=PEkRݼqm~ݟVBŸٶp,
!9,X(.){EE['*"oU_5Kߓn.Bm62O4ZV noB
r@ո<[9xQbRƑUm|Acc蠧Iyj
"#{;̘)NcQUS3?6G#ʙJORGVDy<8t?xX^%EG0j2X~y/]$O'ۖ?g+/~hהݚmO,
(4V%]apV.>VhM&"Ce5"I. L O|\f$^g :7hXVr;62o ?*Fd l ,T/\bY\>EQ2Jl>NHwkk-,MnOb qNƦ uYQ̘*xWE.?5s|zyⶩs.ne~~<K;=ztiIsZg]"
(+rP3Zhy̻ 4Kc T6K
8 ;IXYH
sh"E&+GAȓS@ `1o~?; {]SgL*!Hȉ$>W/Ī03Q_f?ԸE5Hk" r&C󯊑>2*i;yŠ |u--m?55ēE̞T0ɀ
~?je!#<i8#Z?)MC$q݁XB >q~TI~T`o$
&Md!"FO) VͥżG f9ji/b/*SqomG tsL,$W/#TKAH?E(PuhgM ݠ# dhj(((K>)>V'aH&$K`Nj[80&!O<mL 1Z$%g1뚰a'8h6:HoQh
KkvvTI#ֽ2Yv+6"o^s[BGu˾KR#!$،;|s }k;ahf=YףΤY8? H\0Ga^imv c o(;O ZjWN8|t5
Z۬)* e*\nAA?i0 VI$":Ku Mh5ṑq$UFM
Mۏ@-卪)E ,i! ߭SF.<IU9*˖s<q*UrλF2Ooz-\O6Os*h4gPGғЎ
Y~n?>s!E0@1Fݛ>G;.7 [31$Xk~.s WEc̨0:/>x'iӖ9fi->P&tQotk=$T:%"zP#CL7lC.
`p=5λՀ\ہ'iZVnK[!
q<c]4iwi-BpI OqOƛX[/!Dn /7PbBѓt5S>?΅>KHUAq'=PK4r8XSRB\E4q yӚωRKIǝr-

(lLjCDwK ՏJtw[{. =s^Ɓ3vS7Ӭq>2 ꭋ-*èA[ݗ )`q?@]#3
ۃo+^YT]#==hߕ"*Cc $cxuSp㣀8'6 ?#E!a <OZZKvvI2i@?NzPI 8!1U.eͼ۸c@Xya%19[Xǒ2;U!H.L)gAAE mh)}4w0p0 ݏ$+bu6N8imY۾n}E&$wP M$e߿8k LKXᷖ+}-< }6 }hNPClo\ߍDco-D
-ݘ=3PIlĔˌ>?Joˤ38m-6 w''=N8z1F(I jp6G@tU鞀qU[pb.G#
F x?Z]tp{3d [mE2 /5O_=z . U9 ΁j9-\|T|Lr\1pA8SRF cʬG992官l3
#z=?>BIwmS gUXXzc՛KF-ŨmuFBW|=pod2mx S#*-σ^FN3ҁjpQ_8u5!PF X$ҿ1XrT
AUPm'_(49\܃bKS̨;7֖?ows

,r~~zm&lf HNOEŃ_bg]WMy*K 1 gV1ѷKiÿ-r22@nx=& Bck)Kv X|Nq4vfu
+ nq'w€-Xxw/7.vtIl֤#i-u^v
ր*GYU }`deX?5%9_1t3]
۶]7/˜Ś+:J 1Go^о+м_}۠!A^{H_hm$i/
7HtS }Ux^{ekcJY3&:rjűxG$kJ ~0_W}krż&#8'恤y} ٿ  BM x   OCIP BLUE      JFIF    C   !"$"$ C
  x !    
  } !1AQa"q2#BR$3br
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz

  
  w !1AQaq"2B #3Rbr
$4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz

  ? ʊ ?*«竸ǷR0*+Pe83}-4S:U{>5u3Jud,ad^ dWC w@cƶ[:hhpF&F ϖr::W78Q~Q#l,6 ~5!OOuE}`\ z㓌חͺ->.>fx^Ke4%c$q}*
V}Amg1lQ*y8p{v<SYkUw / j>FRDy8Ϫ;9D2\ uv Hl֜>$'9*+r uۏfJ竹W
-2ǯN%J2H;q]$8/y9#K>?OZ:߉iΖ1'D Ir0s ):cu EpfԏNmѼ
ϸ9@E :m󘞜`0O'+Tq[|5(ajIw@YARSnn6A
f : Ȥvsҽ**77)x=*Ӭg1&P 2}
r<I
O cW (9QOqL(Š +j["r9 Y 7ۀy?ΘJv۹5x^@7Xy3L{FF2AS}?.+HkՇ٥wjsNΒY+6288+n`آ]p <|j'VM]Lg翵SԴWZPDx wp:sIIm<7"[*v|l;|?/![ c }W6y1NPڭԛscw0xRܕTuks<lJ 
0zsTWAQ@>$ G5oD.9bd&n4֙H@Nzҝm_6Z,ʇp
HʮIhkkƏ!$8O^\%BY[j.jfM߉dD
҇FSͽZ}˝b2Bry i[P;׭Ǖw2l͂GVV6Jvu
S:QHW1b8$$z`dVŭX֒yj/@/=U@]8Q@~e ' j[%U8WОMHn ȞJ#0/sۥR" ݏAǶ8)Ե]S䢓1o(9I[T[~
j NԚ0NsZas,SVU89[ٝ&n%wg ` :"K~nIŒ =U9MJ<)g T0؀17sX #e"6Laow5,Rň(X
({?WZq\rV5M
?ti62G- S)\pQVz sqqްKVvRg_t E'#ۓ 2LAW4JZɻgbK$>$vF 21 l /Do1\<6>UIe q׀j{I'<ˢq v~wjQ$
nv[.U q5cݏ_kU7pն2p7ڜm ?IT89z4FڈR&Xj=諢7 Y:}j֩#崲DCAJؗIv}tnTd{Ӵ

c t񑎠ҔF;KUB0K4ٰq#Oj<08+j{4Bλ+?.N6QzszXskw[ApGlVB,ntá
'׺뮬ys-FC(of#אIǿAֿٙ~x9LیsQ}-{#[<rOL=yQi{c~JdJhh
(M' Ei]oR 7|]|x.eQ$Iï?o:T7{ưMHqi9rBѼ%[ȭ VIbfQѺpki^m4p^װhot ø!r@ۜ Z >pdv$(Zmy^c,o,cU7kX6'jw:ٙzݞƒE<}+w0 ]45<B喆$0bG8\᭮SڪÂ;~^VVGMȂB(f\7wEhq)>J/uny|7mgo kWZRR';kͫO#T_rI'95Z-b&' =~8إO8jijV1DFP\t3\x*ͣgMai3cxS86;[x
Ҍ2WBO
zͥkuuWLoZ:@[Yd*qJ0nRS
,fx7bpyp 894tPq# v,ݘ.qW- fkX{0'C[[iˎE{FZ8$GE{aE \fWGl(ZF%jUk%Wi4{PּO Vj2%clu>ju3")ڿ_zp2䎽I".°1,_$9X@DS şQ0wіvi0z8T\ J&-Zوc;8^Uo]]LVgC:
-!Ǿk|1&ěS=Xҹq2Z624" *QH _}9W "=F6 F~VW8+0
(Or@P~|5Tp]Z&+џҝzӸ]IG=k(AY^Жf X|G瑍ias%\HW{QI%E´i2rH|R7&]B=AaiC> `Wz:cW7q_sI6p[!FF2H>}W;gO@-\ &q.O.]4rּbH׺h'299q^]Ɉ١ltk֣nwf
/c~OyR?Z.Ƕ
Gs('zu " ˤl ;q ׮\v$>mn<jrd#r?MmI 9Tׅ5owb*)1Кue"0][wq6~e\
N> |"Nz0c̐@snGNk]+gA"(rֱ :?z8vO3$zv.wE.N=H#Eu>[kP˱Z*I,lK]S+
#NBn U前TG^P빈iSHζd* moVبoȮWx1v늚Lh&\$X`O!k佣{$4/m8XZi G d1cPߞ+T3j~'FDAop
K><}q^H#ۄӍ pyg󙰈xI$ kWޙ >͡)"sۏzr?j
w ]Ib[/hlwZ뼮AC^}D\E<:Dx!Og]ty*$ a7y=aE [3.IkCB5ouz1lH $c{aQzŨ7nEku*DrD$Ov
jxo[-<AiĒyLˆ@lq#P&9/ '؂0p Nfe!2kJF: D .k;&YHTa#ϵrӝr/x5..[QϒCo:c؁skz~łο(D<-X֧'kZi | ǵixwGբD+|M#'V|f{mEenXR0N $A zVNI
x2_3lva\>U;^SwM;|a雎لH᪚V<`.Ә/bWnL卆\k)i+ӳ-YV1SRie_fD~34ٯllD] k(o}>5hIMθ9~5@>\l0SYbXeW;thRֆU-͡xzQoC/rN89Ϩ]
J6בQֽ S(h: oqw axJHܙ?Nu|z5Ě҆e)
ć О^IxNɵv*AYc !ڹ v82NA3Ҽ#MQ5;UMtyE
qٿ  BMi m R   OCIP BLUE       JFIF    C 
  
 



 C  

  R m!    
  } !1AQa"q2#BR$3br
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz

  
  w !1AQaq"2B #3Rbr
$4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz

  ?  4v f hɠF}h/| w~gzY]- epd" I;H%/ҭȏX$&?8-K3Va8 ࢜y&i2a?jze!h.5;g?3cʚA9~Ϟ_\ɧ͑6
̱Fh(' 㒾 MXf:gHBn[c]XűX#cG?d ]?q 'K`"Q\S1B *X$\pKGᦉ k^,G̿hQb\ <Ҩk8/u\3G';!2#$.d=<tڲ:*`!}Lȿf_ [Yܕ2}7D ;(n7)݁X~ҧ]ՙ-#0]Y-t; ɕS$6 'bemNia$׋amO؟9Er`|k69rkzƻ#G$$aXhf|(bx$x|mg&euKF#fl_T |[KM;P$doM?{z⦶.XHo˞t72@yE.ݜ*'']Xc[7UfGui7v10 gk)}~ucg;ZT Kw6I<j#d!Nuυhsd> MK.\`|ICa%w]ћz
j}[+[$3ʛdf0c~)<Mecv|Mؐ;[r2 ArLl)ێsz]Ar_KKIW1p
~D \eZUOOqoլ4s*'ُ>p,~\׽cIToB? o\QӶ;s$fHtd$p2JzgCI>!{=ҭ[˗ܻC
NOTsv85/5
z
@€kx!V <n~U`6p.SÒͦ^iC%s5`3R n^jCYZvvܦ?\cōB! /i-L@Ymb C&</ul  [2nzİۯ gC\xgTHy@ L.;5nS MvmkIɌLA 
ԓ::mlQ\[BچKYxc+]q>\T+Cdj/= }-#S#3) ``+4?Z_yfRAe.yt圃Sl{Ȑnq Sv{N] .iz\
[JH|I^KuetAwbM )}nxkᇌu
_Q4jJm pKg#Q9$FFyphMl5d_  obF6zeij_>4%#G9ng'.XvdԼ1=u p4H\fɂ;Q[%qze?B-+hu;M X;bNJ3u<2AxSpo)D mdv10hmc77
7VbvkY | nU v׮<_
mZG[[W9.fʦHP:FRA3~c
9m77?ٷ7Rj>],qrXZac
c[ Ix}z5fܥeM ^6+
^Q,yZh77W<Cj..#ޱ%bDq#lKPԺg[}V/Bڳ I!q0/(呁pc>&x OlٍtƑ"C68Ro#H}]uҫ()H+jWL
Դ؞ѮnńS*H
9Q+b> yY"E.r@H+NQh.X玴GFӎKra
;S bf* W#w.Ŧ"E;'l zϮ*
Yt*iLKksyCRKkS,Q߈v.rWf(N$%A!Oin5o
PC,dF&6d1/Pvnݹvnp3;}9 WKxms2 ؤPkþ0LI Z* 6!_ְu% /_w稟285]xDմ(uI.m
6|Æ .0p6H ߿+1½ B_M]&iq<PXGD;8PDR0)j˨ijZV K[b#!  mve^ۖ.nuo~ [-`A Bb8@ ?֚ψ/4{hmdY" ` 9kI]+w_yO%į?<MkIZ*ji 
Et dKXyɓ%@xSM_L=k[5?\؞dkt;,m;I+rK1CƔ~e ^k^OGek~&G/#7$m{H1dgQzU"՟}ZW)Iu<VKs;IlDM6Ujoٹxy MRI'C" |`ښO÷z厕7Ĥ{x*&1@l.eF JkY9+jG\٣Z&ϧ?dwj7s>ӏf ^1[EYm.aS<lE)Gelc%?vˤ/Vco]ki
_4:d!AܴJ.6,xËۈ.@ p'AnVFOlRG]6@
1;~5).ڼ^l8um
Pr fL
(씔~oU3r }5B{&&o|8>MR,Vy:b [
_<I/jjbKO$"$N`nY5ʂHrA֮g?`SZrk_M7KÞ
CX;#ek+L(HVxX؍;So9!)%p
_
9 N/vyۊ4>8T֮x{(X7=zG>|#xM 2.wsy}M{nof|ilsVw6
8#+"9bX2*wېp@
g5X3F7èllOL M3=?gе{{mXe;[BzgcUj~.
VJkxK+D8w˖-\򐤪^ 05
r+t5fXEH];T0J|divfzfn5dZx^
7J<+Aψ%Y~oK%eIRg*8*8bf8
:QTRxւ~^ho{Ic;6
, тk=NdZ`W̒N1 6;,
r Vjiۺ>tJ%zO
[]orb`q 8JMچFuoًЂѤ87 :g
p~":Xd/6Nh՜ѼPlʹ![1\ +[źαi<,nh- "m!g$^Z>
MWSTPX׭tQciwmw%vb6 񆤷zԓڱ$ɜ2au=7g~'?׀wT;#aw.Ֆw|Q2򎧃{ i/:mfZ&gsA-ZMv5ېA+&۲<zu\69/f/ƂХẽٛ q`H=rWiwYV|74jn
89{tnW/w}i~!xb-7z'SyJX+p JF6A>;Pt7PN$9~ 1ߚajtGL+ëU?Ms?XVq|ڏཏ,~ X\Au %E(Qԋv\E9i5ڗTokww')[}@`HT,@*& <Yh7?nmz ,7`
o4h#[Ikt %*\* F@%)>K 1ȍ&0p`aqC [B5E"mM5-iDPZI',w;[;K0 go{a .ILd/XzƊ>[6| )s{'=i 3ژ L@} њ Gݤ 4v
CҀ֔t  @ S t u d i o F i l e s 0 @ "       _  )H R : \ D V D \ F o r m e l 1 \ F o r m e l 1 S h a n g h a i \ T r a i n i n g \ S h a n g h a i _ T r a i n i n g _ ( 4 ) . V O B . M P G   9 5 H 5 z1& 5  < I m p I n f o > < I D R o u t i n g = " 8 0 0 0 " M I D = " 0 " I n = " 0 9 : 0 3 : 0 7 : 0 2 2 5 . 0 0 H z " P a t h = " R : \ D V D \ F o r m e l * 1 \ F o r m e l * 1 * S h a n g h a i \ T r a i n i n g \ S h a n g h a i _ T r a i n i n g _ ( 4 ) . V O B . M P G " A t t r i b u t e s = " 0 " / > < I D R o u t i n g = " 7 " M I D = " c 2 a 5 0 2 c f " I n = " 0 9 : 0 3 : 0 7 : 0 2 2 5 . 0 0 H z " P a t h = " R : \ D V D \ F o r m e l * 1 \ F o r m e l * 1 * S h a n g h a i \ T r a i n i n g \ S h a n g h a i _ T r a i n i n g _ ( 4 ) . V O B . M P G " A t t r i b u t e s = " 0 " / > < / I m p I n f o > _`  

'C');

CR
0

#5 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beitrge: 5.132
  • Beigetreten: 14. Juli 04
  • Reputation: 36
  • Geschlecht:unbekannt

geschrieben 15. Mrz 2007 - 12:24

Das ist ja hochinteressant, was Microsoft da als XML bezeichnet :rolleyes: Ich versteh darunter ja eher das - man beachte v.a. die Sektion "Aufbau".

EDIT:

Zitat

< I m p I n f o > < I D R o u t i n g = " 8 0 0 0 " M I D = " 0 " I n = " 0 9 : 0 3 : 0 7 : 0 2 2 5 . 0 0 H z " P a t h = " R : \ D V D \ F o r m e l * 1 \ F o r m e l * 1 * S h a n g h a i \ T r a i n i n g \ S h a n g h a i _ T r a i n i n g _ ( 4 ) . V O B . M P G " A t t r i b u t e s = " 0 " / >
Also wenn du in der Konversation nicht grade eine DVD verschickt hast - welcher normale Mensch wrda das schon via Messenger tun?! - finde ich diesen Pfad sehr interessant...

EDIT2:
Pack den Code bitte in eine quotebox oder codebox, so muss man ja ewig scrollen. Thx.

Dieser Beitrag wurde von ph030 bearbeitet: 15. Mrz 2007 - 12:27

0

#6 _adlershof_

  • Gruppe: Gste

geschrieben 16. Mrz 2007 - 08:00

Ja find ich auch, obwohl die Aufnahme erst spter als die XML - Datei entstanden ist.

und danke fr den hinweis mit der codebox usw.

aber wie kann ich diese datei wiederherstellen mit den informationen oder sind die genzlich verloren?
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gste: 1, unsichtbare Mitglieder: 0