55 lines
1.9 KiB
C
55 lines
1.9 KiB
C
|
|
|||
|
// *************************************************************
|
|||
|
// 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);
|