ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/gvpe/src/sockinfo.h
(Generate patch)

Comparing gvpe/src/sockinfo.h (file contents):
Revision 1.6 by pcg, Mon Apr 7 01:12:56 2003 UTC vs.
Revision 1.11 by pcg, Fri Mar 18 01:53:05 2005 UTC

1/* 1/*
2 sockinfo.h -- socket address management 2 sockinfo.h -- socket address management
3 Copyright (C) 2003 Marc Lehmann <gvpe@schmorp.de>
4
5 This file is part of GVPE.
3 6
4 Copyright (C) 2003 Marc Lehmann <pcg@goof.com>
5
6 This program is free software; you can redistribute it and/or modify 7 GVPE is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 8 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or 9 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version. 10 (at your option) any later version.
10 11
11 This program is distributed in the hope that it will be useful, 12 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details. 15 GNU General Public License for more details.
15 16
16 You should have received a copy of the GNU General Public License 17 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 18 along with gvpe; if not, write to the Free Software
18 Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19*/ 20*/
20 21
21#ifndef VPE_SOCKINFO_H__ 22#ifndef GVPE_SOCKINFO_H__
22#define VPE_SOCKINFO_H__ 23#define GVPE_SOCKINFO_H__
23 24
24#include <sys/socket.h> 25#include "netcompat.h"
25#include <netinet/in.h>
26 26
27#include "conf.h" 27#include "conf.h"
28 28
29// encapsulate one or more network addresses. this structure 29// encapsulate one or more network addresses. this structure
30// gets transferred over the wire, so be careful with endianness etc. 30// gets transferred over the wire, so be careful with endianness etc.
45 45
46 operator const char *() const; 46 operator const char *() const;
47 47
48 const sockaddr *sav4 () const; 48 const sockaddr *sav4 () const;
49 const socklen_t salenv4 () const 49 const socklen_t salenv4 () const
50 {
50 { return sizeof (sockaddr_in); } 51 return sizeof (sockaddr_in);
52 }
51 53
52 const char *ntoa () const; 54 const char *ntoa () const;
53 55
54 bool valid () const 56 bool valid () const
57 {
55 { return prot != 0 && host != 0; } 58 return prot != 0 && host != 0;
59 }
56 60
57 sockinfo() { prot = 0; } 61 sockinfo() { prot = 0; }
58 62
59 sockinfo(const sockaddr_in &sa, u8 prot) 63 sockinfo(const char *hostname, u16 port, u8 prot) { set (hostname, port, prot); }
60 { set (&sa, prot); } 64 sockinfo(const sockaddr_in &sa, u8 prot) { set (&sa, prot); }
61 65 sockinfo(const conf_node *conf, u8 prot) { set (conf, prot); }
62 sockinfo(const conf_node *conf, u8 prot)
63 { set (conf, prot); }
64 }; 66 };
65 67
66bool operator == (const sockinfo &a, const sockinfo &b); 68bool operator == (const sockinfo &a, const sockinfo &b);
67bool operator < (const sockinfo &a, const sockinfo &b); 69bool operator < (const sockinfo &a, const sockinfo &b);
68 70

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines