/********************************************************
* 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
syntax highlighted by Code2HTML, v. 0.9.1