fz/com.h

55 lines
1.9 KiB
C
Raw Permalink Normal View History

2021-11-03 04:29:33 +01:00
// *************************************************************
// stellt verbindung zum (IPv6) ircd her
// int port = ircd-port
// char *ipnum = ipnummer des ircd in xxx.xxx.xxx.xxx -notation
// return -1 = fehler beim socket-erstellen
// return -2 = fehler beim connecten
// return num>0 = socketfd
//
extern int connect_irc(int port, char *ipnum);
extern int connect_irc6(int port, char *ipnum);
// *************************************************************
// resolved die IPv4 / IPv6 des ircd
//
extern int resolve_ircd(char *host, int port);
// *************************************************************
// schliesst die verbindung zum ircd
// int socketnum = socketfd
//
extern int disconnect_irc(int socketnum);
// ***************************************************************
// sendet einen string an den ircd,
// zu lange strings werden nach stelle LINELENGTH-2 abgeschnitten
// und nen CR-LF (also \r\n) angef<65>gt
// int socketnum = socket-handler
// char *msg = zu sendender string (1-LINELENGTH byte)
// return -2 = string leer
// return -1 = fehler in send()
// return num>0 = <20>bertragene bytes
//
extern int netsend(int socketnum, char *msg);
// ************************************************
// empf<70>ngt eine zeile vom ircd und gibt einen zeiger auf den string zur<75>ck.
// jede zeile des ircd SOLLTE mit einem \r\n abgeschlossen sein.
// die zeilenl<6E>nge ist in LINELENGTH definiert. im RFC ist diese mit maximal
// 512byte (inklusive \r\n) angegeben. standard it aber 255byte
// sollte die zeilenl<6E>nge LINELENGTH <20>berschreiten wird socket geschlossen.
// int socketnum = socketfd zum ircd
// return '\0' = zeile zu lang oder CR-LF-fehler leerer string wird zur<75>ckgegeben und disconnect
// return *char = zeiger auf den empfangenen string
//
extern char *netrecv(int socketnum);