socketengine.h File Reference

Go to the source code of this file.

Data Structures

struct  MessageBuffer
struct  Socket
struct  sendq

Defines

#define MAXLEN   2048
#define MAXREADBUFFER   MAXLEN*120+5
#define SOCK_UPLINK   0x00000001
#define SOCK_DCC   0x00000002
#define SOCK_DCCCONN   0x00000004
#define SOCK_WRITE   0x00000008
#define SOCK_READ   0x00000010
#define SOCK_NOREAD   0x00000020
#define SOCK_DEAD   0x00000040
#define SOCK_CONNECTING   0x00000080
#define SOCK_DCCIN   0x00000100
#define SOCK_DCCOUT   0x00000200
#define SOCK_LISTEN   0x00000400
#define SOCK_ERR_OK   0

Functions

Socketadd_new_socket (void(*read)(Socket *, int), void(*write)(void *))
Socketse_init ()
Socketnew_socket ()
Socketfind_socket (char *)
int receive (Socket *)
int send_line (char *,...)
int handle_msg (char *)
int Connect (Socket *, char *, char *, int)
char * GetLine (Socket *)
void socket_cleanup ()
void se_HandleEvent (void *)
struct in_addr * GetHost (char *address)
char * SendToken (char *, char *)
void send_cmd (char *, char *, char *,...)
void sendto_one (User *, User *, char *,...)
void sendto_one_privmsg (User *, User *, char *,...)
void sendto_one_notice (User *, User *, char *,...)
void sendto_one_numeric (char *, User *, int, char *,...)
void sendto_ircops (User *, char *,...)
void sendto_channel (User *, Channel *, char *,...)
void sendto_server (User *, char *,...)
int sendto_socket (Socket *, char *,...)
void uplink_cleanup (void *, int)
struct hostent * get_hostname (char *)
struct addrinfo * gethostinfo (char const *, int)

Variables

dlink_list connected_sockets
dlink_list sockets
time_t rawtime
struct tm * timeinfo
fd_set wfdset
fd_set rfdset
fd_set errfdset
Socketservsock
dlink_list sendq

Define Documentation

#define MAXLEN   2048

Definition at line 6 of file socketengine.h.

Referenced by GetLine(), sock_getbyte(), and sock_readline().

#define MAXREADBUFFER   MAXLEN*120+5

Definition at line 7 of file socketengine.h.

Referenced by create_mod_temp().

#define SOCK_CONNECTING   0x00000080

Definition at line 17 of file socketengine.h.

Referenced by receive(), and socket_flags_to_string().

#define SOCK_DCC   0x00000002

Definition at line 10 of file socketengine.h.

#define SOCK_DCCCONN   0x00000004

Definition at line 11 of file socketengine.h.

#define SOCK_DCCIN   0x00000100

Definition at line 18 of file socketengine.h.

Referenced by receive().

#define SOCK_DCCOUT   0x00000200

Definition at line 19 of file socketengine.h.

Referenced by receive().

#define SOCK_DEAD   0x00000040
#define SOCK_ERR_OK   0

Definition at line 24 of file socketengine.h.

Referenced by OneTimeAround().

#define SOCK_LISTEN   0x00000400

Definition at line 21 of file socketengine.h.

Referenced by Listen(), receive(), and socket_flags_to_string().

#define SOCK_NOREAD   0x00000020

Definition at line 14 of file socketengine.h.

#define SOCK_READ   0x00000010

Definition at line 13 of file socketengine.h.

Referenced by Listen(), receive(), and socket_flags_to_string().

#define SOCK_UPLINK   0x00000001

Definition at line 9 of file socketengine.h.

Referenced by receive(), Run(), sock_getbyte(), and socket_flags_to_string().

#define SOCK_WRITE   0x00000008

Definition at line 12 of file socketengine.h.

Referenced by receive(), and socket_flags_to_string().


Function Documentation

Socket* add_new_socket ( void(*)(Socket *, int)  read,
void(*)(void *)  write 
)

Definition at line 45 of file socketengine.c.

References new_socket(), Socket::read_callback, and Socket::write_callback.

Referenced by Run().

int Connect ( Socket ,
char *  ,
char *  ,
int   
)

Definition at line 287 of file socketengine.c.

References CfgSettings, Socket::sd, and Conf::uplink.

Referenced by ev_connectuplink(), and Run().

Socket* find_socket ( char *   ) 

Definition at line 104 of file socketengine.c.

References DLINK_FOREACH, Socket::name, and sockets.

struct hostent* get_hostname ( char *   )  [read]

Definition at line 1555 of file socketengine.c.

References MAXSERV.

Referenced by VerifyConf().

struct in_addr* GetHost ( char *  address  )  [read]

Definition at line 441 of file socketengine.c.

struct addrinfo* gethostinfo ( char const *  ,
int   
) [read]
char* GetLine ( Socket s  ) 

Return a pointer to our buffered lines

block loss prevention -.- some how were spitting out WAY to many blocks here

==21769== 49,428 bytes in 96 blocks are definately lost in loss record 40 of 41 ==21769== at 0x40053C0 malloc (vg_replace_malloc.c:149) ==21769== by 0x804D3FF GetLine (socketengine.c:433)

This occurse on the malloc below - Twitch

Definition at line 1034 of file socketengine.c.

References alog(), dlink_delete(), DLINK_FOREACH_SAFE, dlink_free(), Socket::fullLines, MAXLEN, Socket::mbuffer, and MessageBuffer::message.

Referenced by psr_HandleEvent().

int handle_msg ( char *   ) 
Socket* new_socket (  ) 
int receive ( Socket  ) 
void se_HandleEvent ( void *   ) 
Socket* se_init (  ) 
void send_cmd ( char *  source,
char *  cmd,
char *  arg,
  ... 
)

send_cmd() Sends a command from source to the server.

Parameters:
u The source of of the command if this is null we will use the servername.
cmd The command to send this takes veradic arguments
arg Aguments to the command
... Varatic arguments for CMD
Returns:
void

Note this is perfered to be used because it assumes a sender and makes proper format :)

Definition at line 1235 of file socketengine.c.

References CfgSettings, send_line(), and Conf::servername.

int send_line ( char *  ,
  ... 
)
void sendto_channel ( User *  ,
Channel ,
char *  ,
  ... 
)

Definition at line 1356 of file socketengine.c.

References BURSTING, IRCd, Channel::name, send_line(), sync_state, and IRCDProto::ts6.

Referenced by sendto_socket().

void sendto_ircops ( User *  ,
char *  ,
  ... 
)

Definition at line 1328 of file socketengine.c.

References DLINK_FOREACH, sendto_one_notice(), and userlist.

void sendto_one ( User *  ,
User *  ,
char *  ,
  ... 
)
void sendto_one_notice ( User *  ,
User *  ,
char *  ,
  ... 
)

Definition at line 1305 of file socketengine.c.

References HasId, IRCd, send_line(), and IRCDProto::ts6.

Referenced by sendto_ircops().

void sendto_one_numeric ( char *  ,
User *  ,
int  ,
char *  ,
  ... 
)
void sendto_one_privmsg ( User *  ,
User *  ,
char *  ,
  ... 
)

Definition at line 1283 of file socketengine.c.

References HasId, IRCd, send_line(), and IRCDProto::ts6.

void sendto_server ( User *  ,
char *  ,
  ... 
)

Definition at line 1398 of file socketengine.c.

References CfgSettings, HasId, send_line(), and Conf::servername.

int sendto_socket ( Socket ,
char *  ,
  ... 
)
char* SendToken ( char *  reg,
char *  tok 
)

SendToken() - This function checks wether or not we have specified to use tokens if we have it returns the tokens if not then it returns reg

Parameters:
reg - Non token command. IE NICK
tok - Tokenized version of the command IE & return char* the correct version we are using

Definition at line 1206 of file socketengine.c.

References UseTokens.

void socket_cleanup (  ) 

Definition at line 1586 of file socketengine.c.

References dlink_delete(), DLINK_FOREACH_SAFE, dlink_free(), Socket::sd, sendq_flush(), and sockets.

Referenced by AtExit().

void uplink_cleanup ( void *  ,
int   
)

Variable Documentation

dlink_list connected_sockets

Definition at line 32 of file socketengine.h.

Referenced by init_lists(), and receive().

fd_set errfdset

Definition at line 38 of file socketengine.h.

Referenced by receive().

time_t rawtime

Definition at line 35 of file socketengine.h.

fd_set rfdset

Definition at line 38 of file socketengine.h.

Referenced by receive().

dlink_list sendq

Definition at line 129 of file socketengine.h.

Definition at line 85 of file socketengine.h.

Referenced by ev_connectuplink(), ev_ping(), receive(), Run(), send_line(), and uplink_cleanup().

dlink_list sockets

Definition at line 33 of file socketengine.h.

Referenced by find_socket(), init_lists(), new_socket(), receive(), and socket_cleanup().

struct tm* timeinfo

Definition at line 36 of file socketengine.h.

fd_set wfdset

Definition at line 38 of file socketengine.h.

Referenced by receive().

Generated on Mon Jul 19 21:53:05 2010 for Omega Security Services by  doxygen 1.6.3