/******************************************************** * File: memmessage.h * Created at Sun Jan 28 22:10:31 MSK 2001 by raorn // raorn@binec.ru * * $Id: memmessage.h,v 1.3 2001/12/24 01:02:55 raorn Exp $ *******************************************************/ #ifndef MEMMESSAGE_H #define MEMMESSAGE_H /*#define PKT_CHUNKLEN 10000*/ #define PKT_NUM2D 50 #define PKT_NUMPATH 10 #define MM_ADD 0 #define MM_HEAD 1 #define MM_KLUDGE 2 struct TextChunk { struct TextChunk *Next; uchar *Data; }; struct Nodes2D { struct Nodes2D *Next; ushort Nodes; ushort Net[PKT_NUM2D]; ushort Node[PKT_NUM2D]; }; struct Path { struct Path *Next; ushort Paths; uchar Path[PKT_NUMPATH][100]; }; struct MemMessage { ulong msgnum; struct Node4D OrigNode; struct Node4D DestNode; struct Node4D PktOrig; struct Node4D PktDest; uchar Area[80]; uchar To[36]; uchar From[36]; uchar Subject[72]; uchar DateTime[20]; uchar MSGID[80]; uchar REPLY[80]; ushort Attr; ushort Cost; uchar Type; bool Rescanned; bool Changed; bool Deleted; bool no_security; struct jbList TextChunks; struct jbList SeenBy; struct jbList Path; }; bool mmAddNodes2DList(struct jbList *list, ushort net, ushort node); void mmRemNodes2DList(struct jbList *list, ushort net, ushort node); void mmRemNodes2DListPat(struct jbList *list, struct Node2DPat *pat); bool mmAddPath(uchar * str, struct jbList *list); bool mmAddBuf(struct jbList *chunklist, uchar * buf, ulong len, ulong where); bool mmAddLine(struct MemMessage *mm, uchar * buf, ulong where); struct MemMessage *mmAlloc(void); void mmClear(struct MemMessage *mm); void mmFree(struct MemMessage *mm); bool mmSortNodes2D(struct jbList *list); uchar *mmMakeSeenByBuf(struct jbList *list); #endif