1 /* $Id: oscar_dc.h 2726 2009-03-10 22:47:09Z kuhlmann $ */ 2 3 #ifndef CLIMM_PEER_H 4 #define CLIMM_PEER_H 5 6 #include "contact.h" 7 8 Event *ConnectionInitPeer (Connection *list); 9 10 /* Open, close, disallow connection of UIN with this listener */ 11 BOOL TCPDirectOpen (Connection *list, Contact *cont); 12 void TCPDirectClose (Connection *list, Contact *cont); 13 void TCPDirectOff (Connection *list, Contact *cont); 14 15 /* Do the given peer2peer request */ 16 UBYTE PeerSendMsg (Connection *list, Contact *cont, UDWORD type, const char *text); 17 UBYTE PeerSendMsgFat (Connection *list, Contact *cont, Message *msg); 18 BOOL TCPSendFiles (Connection *list, Contact *cont, const char *description, const char **file, const char **as, int count); 19 BOOL TCPGetAuto (Connection *list, Contact *cont, UWORD which); 20 BOOL TCPSendSSLReq (Connection *list, Contact *cont); 21 22 Connection *PeerFileCreate (Server *serv); 23 BOOL PeerFileAccept (Connection *peer, UWORD ackstatus, UDWORD port); 24 UBYTE PeerFileIncAccept (Connection *list, Event *event); 25 26 void PeerFileResend (Event *event); 27 void PeerFileDispatchIncoming (Connection *fpeer); 28 void PeerFileDispatch (Connection *); 29 30 Packet *PeerPacketC (Connection *peer, UBYTE cmd); 31 void PeerPacketSend (Connection *peer, Packet *pak); 32 33 void TCPDispatchShake (Connection *peer); 34 void TCPDispatchReconn (Connection *peer); 35 void TCPDispatchMain (Connection *peer); 36 void TCPDispatchConn (Connection *peer); 37 void TCPClose (Connection *peer); 38 void TCPPrint (Packet *pak, Connection *peer, BOOL out); 39 40 #define ASSERT_MSGLISTEN(s) (assert (s), assert ((s)->type == TYPE_MSGLISTEN), assert ((s)->serv), assert ((s)->serv->oscar_dc == (s))) 41 #define ASSERT_MSGDIRECT(s) (assert (s), assert ((s)->type == TYPE_MSGDIRECT), assert ((s)->serv), ASSERT_MSGLISTEN ((s)->serv->oscar_dc)) 42 #define ASSERT_FILELISTEN(s) (assert (s), assert ((s)->type == TYPE_FILELISTEN), assert ((s)->serv)) 43 #define ASSERT_FILEDIRECT(s) (assert (s), assert ((s)->type == TYPE_FILEDIRECT), assert ((s)->serv), ASSERT_FILELISTEN ((s)->serv->oscar_dc)) 44 #define ASSERT_FILE(s) (assert (s), assert ((s)->type == TYPE_FILE), ASSERT_FILEDIRECT ((s)->serv)) 45 46 #endif /* CLIMM_PEER_H */ 47