2003-01-26 23:52:48 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
< html > < head > < meta http-equiv = "Content-Type" content = "text/html;charset=iso-8859-1" >
2005-03-25 03:51:56 +00:00
< title > InspIRCd: connection.h Source File< / title >
2004-04-03 15:46:53 +00:00
< link href = "inspircd.css" rel = "stylesheet" type = "text/css" >
2003-01-26 23:52:48 +00:00
< / head > < body >
2005-03-25 03:51:56 +00:00
<!-- Generated by Doxygen 1.3.3 -->
< div class = "qindex" > < a class = "qindex" href = "main.html" > Main Page< / a > | < a class = "qindex" href = "namespaces.html" > Namespace List< / a > | < a class = "qindex" href = "hierarchy.html" > Class Hierarchy< / a > | < a class = "qindex" href = "classes.html" > Alphabetical List< / a > | < a class = "qindex" href = "annotated.html" > Compound List< / a > | < a class = "qindex" href = "files.html" > File List< / a > | < a class = "qindex" href = "functions.html" > Compound Members< / a > | < a class = "qindex" href = "globals.html" > File Members< / a > < / div >
< h1 > connection.h< / h1 > < a href = "connection_8h.html" > Go to the documentation of this file.< / a > < div class = "fragment" > < pre > 00001 < span class = "comment" > /* +------------------------------------+< / span >
00002 < span class = "comment" > * | Inspire Internet Relay Chat Daemon |< / span >
00003 < span class = "comment" > * +------------------------------------+< / span >
00004 < span class = "comment" > *< / span >
00005 < span class = "comment" > * Inspire is copyright (C) 2002-2004 ChatSpike-Dev.< / span >
00006 < span class = "comment" > * E-mail:< / span >
00007 < span class = "comment" > * < brain@chatspike.net> < / span >
00008 < span class = "comment" > * < Craig@chatspike.net> < / span >
00009 < span class = "comment" > * < / span >
00010 < span class = "comment" > * Written by Craig Edwards, Craig McLure, and others.< / span >
00011 < span class = "comment" > * This program is free but copyrighted software; see< / span >
00012 < span class = "comment" > * the file COPYING for details.< / span >
00013 < span class = "comment" > *< / span >
00014 < span class = "comment" > * ---------------------------------------------------< / span >
00015 < span class = "comment" > */< / span >
00016
00017 < span class = "preprocessor" > #include "inspircd_config.h"< / span >
00018 < span class = "preprocessor" > #include "< a class = "code" href = "base_8h.html" > base.h< / a > "< / span >
00019 < span class = "preprocessor" > #include < string> < / span >
00020 < span class = "preprocessor" > #include < map> < / span >
00021 < span class = "preprocessor" > #include < sys/types.h> < / span >
00022 < span class = "preprocessor" > #include < sys/socket.h> < / span >
00023 < span class = "preprocessor" > #include < netdb.h> < / span >
00024 < span class = "preprocessor" > #include < netinet/in.h> < / span >
00025 < span class = "preprocessor" > #include < unistd.h> < / span >
00026 < span class = "preprocessor" > #include < errno.h> < / span >
00027 < span class = "preprocessor" > #include < time.h> < / span >
00028 < span class = "preprocessor" > #include < vector> < / span >
00029 < span class = "preprocessor" > #include < deque> < / span >
00030
00031 < span class = "preprocessor" > #ifndef __CONNECTION_H__< / span >
00032 < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define __CONNECTION_H__< / span >
00033 < span class = "preprocessor" > < / span >
< a name = "l00034" > < / a > < a class = "code" href = "connection_8h.html#a0" > 00034< / a > < span class = "preprocessor" > #define STATE_DISCONNECTED 0< / span >
< a name = "l00035" > < / a > < a class = "code" href = "connection_8h.html#a1" > 00035< / a > < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define STATE_CONNECTED 1< / span >
< a name = "l00036" > < / a > < a class = "code" href = "connection_8h.html#a2" > 00036< / a > < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define STATE_SYNC 2< / span >
< a name = "l00037" > < / a > < a class = "code" href = "connection_8h.html#a3" > 00037< / a > < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define STATE_NOAUTH_INBOUND 3< / span >
< a name = "l00038" > < / a > < a class = "code" href = "connection_8h.html#a4" > 00038< / a > < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define STATE_NOAUTH_OUTBOUND 4< / span >
< a name = "l00039" > < / a > < a class = "code" href = "connection_8h.html#a5" > 00039< / a > < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define STATE_SERVICES 5< / span >
00040 < span class = "preprocessor" > < / span >
< a name = "l00053" > < / a > < a class = "code" href = "classircd__connector.html" > 00053< / a > < span class = "keyword" > class < / span > < a class = "code" href = "classircd__connector.html" > ircd_connector< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classExtensible.html" > Extensible< / a >
00054 {
00055 < span class = "keyword" > private< / span > :
< a name = "l00058" > < / a > < a class = "code" href = "classircd__connector.html#r0" > 00058< / a > sockaddr_in < a class = "code" href = "classircd__connector.html#r0" > addr< / a > ;
2004-04-24 23:26:47 +00:00
00059
2005-03-25 03:51:56 +00:00
< a name = "l00062" > < / a > < a class = "code" href = "classircd__connector.html#r1" > 00062< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#r1" > fd< / a > ;
00063
< a name = "l00066" > < / a > < a class = "code" href = "classircd__connector.html#r2" > 00066< / a > std::string < a class = "code" href = "classircd__connector.html#r2" > servername< / a > ;
00067
< a name = "l00070" > < / a > < a class = "code" href = "classircd__connector.html#r3" > 00070< / a > std::string < a class = "code" href = "classircd__connector.html#r3" > description< / a > ;
00071
< a name = "l00075" > < / a > < a class = "code" href = "classircd__connector.html#r4" > 00075< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#r4" > state< / a > ;
00076
00079 < span class = "keywordtype" > bool< / span > < a class = "code" href = "classircd__connector.html#d0" > SetHostAddress< / a > (< span class = "keywordtype" > char< / span > * host, < span class = "keywordtype" > int< / span > port);
00080
00081 < span class = "keyword" > public< / span > :
00082
< a name = "l00087" > < / a > < a class = "code" href = "classircd__connector.html#o0" > 00087< / a > < span class = "keywordtype" > char< / span > < a class = "code" href = "classircd__connector.html#o0" > host< / a > [MAXBUF];
00088
< a name = "l00093" > < / a > < a class = "code" href = "classircd__connector.html#o1" > 00093< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#o1" > port< / a > ;
00094
< a name = "l00099" > < / a > < a class = "code" href = "classircd__connector.html#o2" > 00099< / a > std::vector< std::string> < a class = "code" href = "classircd__connector.html#o2" > routes< / a > ;
00100
00101
00104 < span class = "keywordtype" > bool< / span > < a class = "code" href = "classircd__connector.html#a0" > MakeOutboundConnection< / a > (< span class = "keywordtype" > char< / span > * host, < span class = "keywordtype" > int< / span > port);
2004-04-24 23:26:47 +00:00
00105
2005-03-25 03:51:56 +00:00
00108 std::string < a class = "code" href = "classircd__connector.html#a1" > GetServerName< / a > ();
2004-04-24 23:26:47 +00:00
00109
2005-03-25 03:51:56 +00:00
00112 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a2" > SetServerName< / a > (std::string serv);
2004-04-24 23:26:47 +00:00
00113
2005-03-25 03:51:56 +00:00
00116 < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#a3" > GetDescriptor< / a > ();
2004-04-24 23:26:47 +00:00
00117
2005-03-25 03:51:56 +00:00
00120 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a4" > SetDescriptor< / a > (< span class = "keywordtype" > int< / span > fd);
2004-04-24 23:26:47 +00:00
00121
2005-03-25 03:51:56 +00:00
00124 < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#a5" > GetState< / a > ();
2004-04-24 23:26:47 +00:00
00125
2005-03-25 03:51:56 +00:00
00128 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a6" > SetState< / a > (< span class = "keywordtype" > int< / span > state);
2004-04-24 23:26:47 +00:00
00129
2005-03-25 03:51:56 +00:00
00132 < span class = "keywordtype" > char< / span > * < a class = "code" href = "classircd__connector.html#a7" > GetServerIP< / a > ();
00133
00136 std::string < a class = "code" href = "classircd__connector.html#a8" > GetDescription< / a > ();
00137
00140 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a9" > SetDescription< / a > (std::string desc);
00141
00147 < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#a10" > GetServerPort< / a > ();
00148
00151 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a11" > SetServerPort< / a > (< span class = "keywordtype" > int< / span > p);
00152
00155 < span class = "keywordtype" > bool< / span > < a class = "code" href = "classircd__connector.html#a12" > SetHostAndPort< / a > (< span class = "keywordtype" > char< / span > * host, < span class = "keywordtype" > int< / span > port);
00156
00160 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a13" > CloseConnection< / a > ();
00161 };
00162
00163
< a name = "l00167" > < / a > < a class = "code" href = "classpacket.html" > 00167< / a > < span class = "keyword" > class < / span > < a class = "code" href = "classpacket.html" > packet< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classclassbase.html" > classbase< / a >
00168 {
00169 };
00170
< a name = "l00173" > < / a > < a class = "code" href = "classconnection.html" > 00173< / a > < span class = "keyword" > class < / span > < a class = "code" href = "classconnection.html" > connection< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classExtensible.html" > Extensible< / a >
00174 {
00175 < span class = "keyword" > public< / span > :
< a name = "l00178" > < / a > < a class = "code" href = "classconnection.html#o0" > 00178< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classconnection.html#o0" > fd< / a > ;
2004-04-24 23:26:47 +00:00
00179
2005-03-25 03:51:56 +00:00
< a name = "l00182" > < / a > < a class = "code" href = "classconnection.html#o1" > 00182< / a > < span class = "keywordtype" > char< / span > < a class = "code" href = "classconnection.html#o1" > host< / a > [256];
00183
< a name = "l00186" > < / a > < a class = "code" href = "classconnection.html#o2" > 00186< / a > < span class = "keywordtype" > char< / span > < a class = "code" href = "classconnection.html#o2" > ip< / a > [32];
00187
< a name = "l00190" > < / a > < a class = "code" href = "classconnection.html#o3" > 00190< / a > < span class = "keywordtype" > char< / span > < a class = "code" href = "classconnection.html#o3" > inbuf< / a > [MAXBUF];
00191
< a name = "l00194" > < / a > < a class = "code" href = "classconnection.html#o4" > 00194< / a > < span class = "keywordtype" > long< / span > < a class = "code" href = "classconnection.html#o4" > bytes_in< / a > ;
2004-04-24 23:26:47 +00:00
00195
2005-03-25 03:51:56 +00:00
< a name = "l00198" > < / a > < a class = "code" href = "classconnection.html#o5" > 00198< / a > < span class = "keywordtype" > long< / span > < a class = "code" href = "classconnection.html#o5" > bytes_out< / a > ;
2004-04-24 23:26:47 +00:00
00199
2005-03-25 03:51:56 +00:00
< a name = "l00202" > < / a > < a class = "code" href = "classconnection.html#o6" > 00202< / a > < span class = "keywordtype" > long< / span > < a class = "code" href = "classconnection.html#o6" > cmds_in< / a > ;
00203
< a name = "l00206" > < / a > < a class = "code" href = "classconnection.html#o7" > 00206< / a > < span class = "keywordtype" > long< / span > < a class = "code" href = "classconnection.html#o7" > cmds_out< / a > ;
00207
< a name = "l00210" > < / a > < a class = "code" href = "classconnection.html#o8" > 00210< / a > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classconnection.html#o8" > haspassed< / a > ;
00211
< a name = "l00216" > < / a > < a class = "code" href = "classconnection.html#o9" > 00216< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classconnection.html#o9" > port< / a > ;
2004-04-24 23:26:47 +00:00
00217
2005-03-25 03:51:56 +00:00
< a name = "l00220" > < / a > < a class = "code" href = "classconnection.html#o10" > 00220< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classconnection.html#o10" > registered< / a > ;
2004-04-24 23:26:47 +00:00
00221
2005-03-25 03:51:56 +00:00
< a name = "l00224" > < / a > < a class = "code" href = "classconnection.html#o11" > 00224< / a > < span class = "keywordtype" > short< / span > < span class = "keywordtype" > int< / span > < a class = "code" href = "classconnection.html#o11" > state< / a > ;
2004-04-24 23:26:47 +00:00
00225
2005-03-25 03:51:56 +00:00
< a name = "l00228" > < / a > < a class = "code" href = "classconnection.html#o12" > 00228< / a > time_t < a class = "code" href = "classconnection.html#o12" > lastping< / a > ;
2004-04-24 23:26:47 +00:00
00229
2005-03-25 03:51:56 +00:00
< a name = "l00232" > < / a > < a class = "code" href = "classconnection.html#o13" > 00232< / a > time_t < a class = "code" href = "classconnection.html#o13" > signon< / a > ;
2004-04-24 23:26:47 +00:00
00233
2005-03-25 03:51:56 +00:00
< a name = "l00236" > < / a > < a class = "code" href = "classconnection.html#o14" > 00236< / a > time_t < a class = "code" href = "classconnection.html#o14" > idle_lastmsg< / a > ;
00237
< a name = "l00240" > < / a > < a class = "code" href = "classconnection.html#o15" > 00240< / a > time_t < a class = "code" href = "classconnection.html#o15" > nping< / a > ;
00241
< a name = "l00244" > < / a > < a class = "code" href = "classconnection.html#o16" > 00244< / a > < span class = "keywordtype" > char< / span > < a class = "code" href = "classconnection.html#o16" > internal_addr< / a > [MAXBUF];
00245
< a name = "l00248" > < / a > < a class = "code" href = "classconnection.html#o17" > 00248< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classconnection.html#o17" > internal_port< / a > ;
00249
< a name = "l00253" > < / a > < a class = "code" href = "classconnection.html#o18" > 00253< / a > std::vector< ircd_connector> < a class = "code" href = "classconnection.html#o18" > connectors< / a > ;
2004-04-24 23:26:47 +00:00
00254
2005-03-25 03:51:56 +00:00
00257 < a class = "code" href = "classconnection.html#a0" > connection< / a > ();
2004-04-24 23:26:47 +00:00
00258
2005-03-25 03:51:56 +00:00
00261 < span class = "keywordtype" > bool< / span > < a class = "code" href = "classconnection.html#a1" > CreateListener< / a > (< span class = "keywordtype" > char< / span > * host, < span class = "keywordtype" > int< / span > p);
2004-04-24 23:26:47 +00:00
00262
2005-03-25 03:51:56 +00:00
00265 < span class = "keywordtype" > bool< / span > < a class = "code" href = "classconnection.html#a2" > BeginLink< / a > (< span class = "keywordtype" > char< / span > * targethost, < span class = "keywordtype" > int< / span > port, < span class = "keywordtype" > char< / span > * password, < span class = "keywordtype" > char< / span > * servername, < span class = "keywordtype" > int< / span > myport);
00266
00269 < span class = "keywordtype" > bool< / span > < a class = "code" href = "classconnection.html#a3" > MeshCookie< / a > (< span class = "keywordtype" > char< / span > * targethost, < span class = "keywordtype" > int< / span > port, < span class = "keywordtype" > long< / span > cookie, < span class = "keywordtype" > char< / span > * servername);
00270
00273 < span class = "keywordtype" > void< / span > < a class = "code" href = "classconnection.html#a4" > TerminateLink< / a > (< span class = "keywordtype" > char< / span > * targethost);
00274
00278 < span class = "keywordtype" > bool< / span > < a class = "code" href = "classconnection.html#a5" > SendPacket< / a > (< span class = "keywordtype" > char< / span > *message, < span class = "keyword" > const< / span > < span class = "keywordtype" > char< / span > * host);
00279
00284 < span class = "keywordtype" > bool< / span > < a class = "code" href = "classconnection.html#a6" > RecvPacket< / a > (std::deque< std::string> & messages, < span class = "keywordtype" > char< / span > * host);
00285
00288 < a class = "code" href = "classircd__connector.html" > ircd_connector< / a > * < a class = "code" href = "classconnection.html#a7" > FindHost< / a > (std::string host);
00289
00293 < span class = "keywordtype" > bool< / span > < a class = "code" href = "classconnection.html#a8" > AddIncoming< / a > (< span class = "keywordtype" > int< / span > fd,< span class = "keywordtype" > char< / span > * targethost, < span class = "keywordtype" > int< / span > sourceport);
00294
00297 < span class = "keywordtype" > long< / span > < a class = "code" href = "classconnection.html#a9" > GenKey< / a > ();
00298 };
00299
00300
00301 < span class = "preprocessor" > #endif< / span >
00302 < span class = "preprocessor" > < / span >
2005-04-07 20:15:05 +00:00
< / pre > < / div > < hr size = "1" > < address style = "align: right;" > < small > Generated on Thu Apr 7 20:14:20 2005 for InspIRCd by
2003-01-26 23:52:48 +00:00
< a href = "http://www.doxygen.org/index.html" >
2005-03-25 03:51:56 +00:00
< img src = "doxygen.png" alt = "doxygen" align = "middle" border = 0 >
< / a > 1.3.3 < / small > < / address >
2003-01-26 23:52:48 +00:00
< / body >
< / html >