1Dies ist nur eine blitz-fassung der bisher unterst�tzten Funktionen der
2PKTAPI32.DLL:
3
4Funktionen:
5
6PktApiOpen(struct _minf *);
7
8Muss vor dem Aufruf der API-Funktionen passieren.
9MsgApiOpen() ist dann nicht mehr n�tig !
10
11
12PktApiClose();
13
14Schliesst die Api. MsgCloseApi() ist nicht mehr n�tig.
15
16
17HPKT PktOpenPkt(char *name, word mode, word type);
18
19�ffnet ein PKT zum Lesen ODER schreiben.
20
21Mode: PKTMODE_READ
22      PKTMODE_WRITE
23
24Type: PKTTYPE_2
25
26
27PktClosePkt(HPKT hp);
28
29Schliesst ein PKT.
30
31
32PktReadMsg(HPKT hp, XMSG *xmsg, dword textlen, char *text);
33
34Liesst eine Nachricht aus einem PKT was mit PKTMODE_READ ge�ffnet wurde.
35XMSG enth�lt den Nachrichtenheader. Ist text == NULL oder textlen = 0, wird
36der Messagetext nicht gelesen und kann sp�ter eingelesen werden indem xmsg auf
37NULL gesetzt wird.
38Rueckgabewerte: 0 - Die Nachricht wurde komplett eingelesen
39                1 - Die Nachricht wurde nicht komplett eingelesen.
40                    Durch einen weiteren Aufruf mit xmsg = NULL, wird der
41                    n�chste Teil der Nachricht eingelesen.
42               -1 - Es ist ein Fehler aufgetreten. (EOF oder BAD-Packet)
43
44
45PktReadMsgComplete(HPKT hp, XMSG *xmsg, char **text);
46
47Liesst eine Nachricht komplett ein. Dazu alloziert die API ein genuegend
48grossen Speicherbereich, der mit PktFreeText() freigegeben werden muss.
49PktReadMsgComplete ist nicht in allen F�llen die effizienteste L�sung, aber
50meistens die einfachste ! ;)
51
52
53PktWriteMsg(HPKT hp, XMSG *xmsg, word fAppend, char *text);
54
55Schreibt eine Nachricht in ein mit PKTMODE_WRITE ge�ffnetes Packet.
56fAppend gibt an, ob dem Nachrichtentext noch weiterer Text folgt. Ist
57fAppend = 1, dann kann weiterer Text geschrieben werden indem xmsg = NULL
58gesetzt wird. Die API beginnt eine neue Mail in jedem fall, wenn xmsg != NULL
59ist.
60
61
62sword MAPIENTRY PktCopyPktHdr(HPKT dest, HPKT src)
63
64Kopiert die Informationen des PKT-Headers von SRC nach DEST. Diese Funktion
65ist n�tzlich f�r Pkt-Filter u.�. Tools.
66
67
68sword MAPIENTRY PktCreateCtrlBuf(char *sztext, PKTCTRLBUF *ctrlbuf)
69
70Erzeugt aus einer vorliegenden Mail aus den Seen-By und Path-Lines einen
71Ctrl-Buffer, der die Informationen in bin�rer Form enth�lt.
72Der CtrlBuffer muss mit PktFreeCtrlBuf() wieder frei gegeben werden.
73
74sword MAPIENTRY PktFreeCtrlBuf(PKTCTRLBUF *ctrl)
75
76Gibt den Speicher frei den ein Ctrl-Buffer belegt.
77
78
79char * MAPIENTRY PktConvertCtrlToText(PKTCTRLBUF *ctrl)
80
81Erzeugt aus einem Ctrl-Buffer einen lesbaren String laut FTS004. Der String hat
82die Form:
83
84SEEN-BY: <....>
85\001PATH: <....>
86
87ggf. werden mehrere SEEn-BY: und PATH: Zeilen eingef�gt. Keine Zeile ist
88l�nger als 80 Zeichen. Der String kann so an eine Mail geh�ngt werden.
89
90
91sword MAPIENTRY PktCtrlAddSeenby(PKTCTRLBUF *ctrl, NETADDR *addr)
92
93F�gt eine Adresse in die Liste der Seen-By Adressen hinzu, falls
94sie nicht vorhanden ist.
95
96Return: 0 wenn die Adresse hinzugef�gt wurde
97        1 die Adresse war bereits in den Seen-By's vorhanden
98
99
100sword MAPIENTRY PktCtrlAddPath(PKTCTRLBUF *ctrl, NETADDR *addr)
101
102F�gt eine Adresse in die Path-Lines hinzu.
103
104
105sword MAPIENTRY PktCtrlChkPath(PKTCTRLBUF *ctrl, NETADDR *addr)
106
107Pr�ft ob eine Adresse in den Path-Lines vorhanden ist.
108
109Return: 0 wenn sie nicht vorhanden ist
110        1 wenn sie vorhanden ist
111
112
113Supportet Packet-Types:
114
115Packet 2 (StoneAge) (FTS001)
116Packet 2+           (FSC038/045)
117Packet 2.2          (FSC048)
118
119Planned Packet-Types:
120Packet 3            (FSC077)
121
122
123
124