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" >
< title > 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 >
2003-03-30 12:32:32 +00:00
<!-- Generated by Doxygen 1.3 - rc3 -->
2003-01-26 23:52:48 +00:00
< center >
2004-04-04 22:03:32 +00:00
< 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 > < / center >
2003-01-26 23:52:48 +00:00
< hr > < 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" > < / span >
2003-02-09 12:49:00 +00:00
00003 < span class = "comment" > */< / span >
00004
00005 < span class = "preprocessor" > #include "inspircd_config.h"< / span >
00006 < span class = "preprocessor" > #include "< a class = "code" href = "base_8h.html" > base.h< / a > "< / span >
00007 < span class = "preprocessor" > #include < string> < / span >
2004-04-02 12:38:41 +00:00
00008 < span class = "preprocessor" > #include < map> < / span >
2003-02-09 12:49:00 +00:00
00009 < span class = "preprocessor" > #include < sys/socket.h> < / span >
00010 < span class = "preprocessor" > #include < sys/types.h> < / span >
00011 < span class = "preprocessor" > #include < netdb.h> < / span >
00012 < span class = "preprocessor" > #include < netinet/in.h> < / span >
00013 < span class = "preprocessor" > #include < unistd.h> < / span >
00014 < span class = "preprocessor" > #include < errno.h> < / span >
00015 < span class = "preprocessor" > #include < time.h> < / span >
2004-04-17 12:33:39 +00:00
00016 < span class = "preprocessor" > #include < vector> < / span >
00017 < span class = "preprocessor" > #include < deque> < / span >
00018
00019 < span class = "preprocessor" > #ifndef __CONNECTION_H__< / span >
00020 < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define __CONNECTION_H__< / span >
00021 < span class = "preprocessor" > < / span >
< a name = "l00022" > < / a > < a class = "code" href = "connection_8h.html#a0" > 00022< / a > < span class = "preprocessor" > #define STATE_DISCONNECTED 0< / span >
< a name = "l00023" > < / a > < a class = "code" href = "connection_8h.html#a1" > 00023< / a > < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define STATE_CONNECTED 1< / span >
< a name = "l00024" > < / a > < a class = "code" href = "connection_8h.html#a2" > 00024< / a > < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define STATE_SYNC 2< / span >
< a name = "l00025" > < / a > < a class = "code" href = "connection_8h.html#a3" > 00025< / a > < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define STATE_NOAUTH_INBOUND 3< / span >
< a name = "l00026" > < / a > < a class = "code" href = "connection_8h.html#a4" > 00026< / a > < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define STATE_NOAUTH_OUTBOUND 4< / span >
2004-04-24 23:26:47 +00:00
< a name = "l00027" > < / a > < a class = "code" href = "connection_8h.html#a5" > 00027< / a > < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define STATE_SERVICES 5< / span >
00028 < span class = "preprocessor" > < / span >
2004-04-29 15:34:51 +00:00
< a name = "l00041" > < / a > < a class = "code" href = "classircd__connector.html" > 00041< / 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 >
2004-04-24 23:26:47 +00:00
00042 {
00043 < span class = "keyword" > private< / span > :
< a name = "l00046" > < / a > < a class = "code" href = "classircd__connector.html#o0" > 00046< / a > sockaddr_in < a class = "code" href = "classircd__connector.html#o0" > addr< / a > ;
00047
< a name = "l00050" > < / a > < a class = "code" href = "classircd__connector.html#o1" > 00050< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#o1" > fd< / a > ;
00051
< a name = "l00054" > < / a > < a class = "code" href = "classircd__connector.html#o2" > 00054< / a > std::string < a class = "code" href = "classircd__connector.html#o2" > servername< / a > ;
00055
< a name = "l00058" > < / a > < a class = "code" href = "classircd__connector.html#o3" > 00058< / a > std::string < a class = "code" href = "classircd__connector.html#o3" > description< / a > ;
00059
< a name = "l00063" > < / a > < a class = "code" href = "classircd__connector.html#o4" > 00063< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#o4" > state< / a > ;
00064
00067 < span class = "keywordtype" > bool< / span > < a class = "code" href = "classircd__connector.html#c0" > SetHostAddress< / a > (< span class = "keywordtype" > char< / span > * host, < span class = "keywordtype" > int< / span > port);
00068
00069 < span class = "keyword" > public< / span > :
00070
< a name = "l00075" > < / a > < a class = "code" href = "classircd__connector.html#m0" > 00075< / a > < span class = "keywordtype" > char< / span > < a class = "code" href = "classircd__connector.html#m0" > host< / a > [MAXBUF];
00076
< a name = "l00081" > < / a > < a class = "code" href = "classircd__connector.html#m1" > 00081< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#m1" > port< / a > ;
00082
< a name = "l00087" > < / a > < a class = "code" href = "classircd__connector.html#m2" > 00087< / a > std::vector< std::string> < a class = "code" href = "classircd__connector.html#m2" > routes< / a > ;
00088
00089
00092 < 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);
00093
00096 std::string < a class = "code" href = "classircd__connector.html#a1" > GetServerName< / a > ();
00097
00100 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a2" > SetServerName< / a > (std::string serv);
00101
00104 < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#a3" > GetDescriptor< / a > ();
00105
00108 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a4" > SetDescriptor< / a > (< span class = "keywordtype" > int< / span > fd);
00109
00112 < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#a5" > GetState< / a > ();
00113
00116 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a6" > SetState< / a > (< span class = "keywordtype" > int< / span > state);
00117
00120 < span class = "keywordtype" > char< / span > * < a class = "code" href = "classircd__connector.html#a7" > GetServerIP< / a > ();
00121
00124 std::string < a class = "code" href = "classircd__connector.html#a8" > GetDescription< / a > ();
00125
00128 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a9" > SetDescription< / a > (std::string desc);
00129
00135 < span class = "keywordtype" > int< / span > < a class = "code" href = "classircd__connector.html#a10" > GetServerPort< / a > ();
00136
00139 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a11" > SetServerPort< / a > (< span class = "keywordtype" > int< / span > p);
00140
00143 < 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);
00144
00148 < span class = "keywordtype" > void< / span > < a class = "code" href = "classircd__connector.html#a13" > CloseConnection< / a > ();
00149 };
2004-04-17 12:33:39 +00:00
00150
2004-04-24 23:26:47 +00:00
00151
< a name = "l00155" > < / a > < a class = "code" href = "classpacket.html" > 00155< / 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 >
00156 {
00157 };
00158
2004-04-29 15:23:02 +00:00
< a name = "l00161" > < / a > < a class = "code" href = "classconnection.html" > 00161< / 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 >
2004-04-24 23:26:47 +00:00
00162 {
00163 < span class = "keyword" > public< / span > :
< a name = "l00166" > < / a > < a class = "code" href = "classconnection.html#m0" > 00166< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classconnection.html#m0" > fd< / a > ;
00167
< a name = "l00170" > < / a > < a class = "code" href = "classconnection.html#m1" > 00170< / a > < span class = "keywordtype" > char< / span > < a class = "code" href = "classconnection.html#m1" > host< / a > [256];
00171
< a name = "l00174" > < / a > < a class = "code" href = "classconnection.html#m2" > 00174< / a > < span class = "keywordtype" > char< / span > < a class = "code" href = "classconnection.html#m2" > ip< / a > [32];
00175
< a name = "l00178" > < / a > < a class = "code" href = "classconnection.html#m3" > 00178< / a > < span class = "keywordtype" > char< / span > < a class = "code" href = "classconnection.html#m3" > inbuf< / a > [MAXBUF];
00179
< a name = "l00182" > < / a > < a class = "code" href = "classconnection.html#m4" > 00182< / a > < span class = "keywordtype" > long< / span > < a class = "code" href = "classconnection.html#m4" > bytes_in< / a > ;
00183
< a name = "l00186" > < / a > < a class = "code" href = "classconnection.html#m5" > 00186< / a > < span class = "keywordtype" > long< / span > < a class = "code" href = "classconnection.html#m5" > bytes_out< / a > ;
00187
< a name = "l00190" > < / a > < a class = "code" href = "classconnection.html#m6" > 00190< / a > < span class = "keywordtype" > long< / span > < a class = "code" href = "classconnection.html#m6" > cmds_in< / a > ;
00191
< a name = "l00194" > < / a > < a class = "code" href = "classconnection.html#m7" > 00194< / a > < span class = "keywordtype" > long< / span > < a class = "code" href = "classconnection.html#m7" > cmds_out< / a > ;
00195
< a name = "l00198" > < / a > < a class = "code" href = "classconnection.html#m8" > 00198< / a > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classconnection.html#m8" > haspassed< / a > ;
00199
< a name = "l00204" > < / a > < a class = "code" href = "classconnection.html#m9" > 00204< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classconnection.html#m9" > port< / a > ;
00205
< a name = "l00208" > < / a > < a class = "code" href = "classconnection.html#m10" > 00208< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classconnection.html#m10" > registered< / a > ;
00209
< a name = "l00212" > < / a > < a class = "code" href = "classconnection.html#m11" > 00212< / a > < span class = "keywordtype" > short< / span > < span class = "keywordtype" > int< / span > < a class = "code" href = "classconnection.html#m11" > state< / a > ;
00213
< a name = "l00216" > < / a > < a class = "code" href = "classconnection.html#m12" > 00216< / a > time_t < a class = "code" href = "classconnection.html#m12" > lastping< / a > ;
00217
< a name = "l00220" > < / a > < a class = "code" href = "classconnection.html#m13" > 00220< / a > time_t < a class = "code" href = "classconnection.html#m13" > signon< / a > ;
00221
< a name = "l00224" > < / a > < a class = "code" href = "classconnection.html#m14" > 00224< / a > time_t < a class = "code" href = "classconnection.html#m14" > idle_lastmsg< / a > ;
00225
< a name = "l00228" > < / a > < a class = "code" href = "classconnection.html#m15" > 00228< / a > time_t < a class = "code" href = "classconnection.html#m15" > nping< / a > ;
00229
< a name = "l00232" > < / a > < a class = "code" href = "classconnection.html#m16" > 00232< / a > < span class = "keywordtype" > char< / span > < a class = "code" href = "classconnection.html#m16" > internal_addr< / a > [MAXBUF];
00233
< a name = "l00236" > < / a > < a class = "code" href = "classconnection.html#m17" > 00236< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classconnection.html#m17" > internal_port< / a > ;
00237
< a name = "l00241" > < / a > < a class = "code" href = "classconnection.html#m18" > 00241< / a > std::vector< ircd_connector> < a class = "code" href = "classconnection.html#m18" > connectors< / a > ;
00242
00245 < a class = "code" href = "classconnection.html#a0" > connection< / a > ();
00246
00249 < 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);
00250
00253 < 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);
00254
00257 < 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);
00258
00261 < span class = "keywordtype" > void< / span > < a class = "code" href = "classconnection.html#a4" > TerminateLink< / a > (< span class = "keywordtype" > char< / span > * targethost);
00262
00266 < 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);
00267
00272 < 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);
00273
00276 < a class = "code" href = "classircd__connector.html" > ircd_connector< / a > * < a class = "code" href = "classconnection.html#a7" > FindHost< / a > (std::string host);
00277
00281 < 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);
00282
00285 < span class = "keywordtype" > long< / span > < a class = "code" href = "classconnection.html#a9" > GenKey< / a > ();
00286 };
2004-04-17 12:33:39 +00:00
00287
2004-04-24 23:26:47 +00:00
00288
00289 < span class = "preprocessor" > #endif< / span >
00290 < span class = "preprocessor" > < / span >
2004-05-01 23:10:23 +00:00
< / pre > < / div > < hr > < address style = "align: right;" > < small > Generated on Sun May 2 00:09:18 2004 for InspIRCd by
2003-01-26 23:52:48 +00:00
< a href = "http://www.doxygen.org/index.html" >
< img src = "doxygen.png" alt = "doxygen" align = "middle" border = 0
2003-03-30 12:32:32 +00:00
width=110 height=53>< / a > 1.3-rc3 < / small > < / address >
2003-01-26 23:52:48 +00:00
< / body >
< / html >