X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fplugins%2Fpppoe%2Fpppoe.h;h=26e14f5d9f4fade2857887b4ee600e39abce00fa;hb=HEAD;hp=b70cccf7b7080863281829fbce4b8a8bfc0813b2;hpb=887ca1d538b7b8b5fdd5e76e04642bdaf71b2678;p=ppp.git diff --git a/pppd/plugins/pppoe/pppoe.h b/pppd/plugins/pppoe/pppoe.h index b70cccf..1952dcb 100644 --- a/pppd/plugins/pppoe/pppoe.h +++ b/pppd/plugins/pppoe/pppoe.h @@ -9,18 +9,14 @@ * This program may be distributed according to the terms of the GNU * General Public License, version 2 or (at your option) any later version. * -* $Id: pppoe.h,v 1.4 2008/06/15 04:35:50 paulus Exp $ -* ***********************************************************************/ -#include "config.h" - #include /* For FILE */ #include /* For pid_t */ #include #include -#include "pppd/pppd.h" /* For error */ +#include /* For error */ /* How do we access raw Ethernet devices? */ #undef USE_LINUX_PACKET @@ -244,6 +240,7 @@ typedef struct PPPoEConnectionStruct { int storedmru; /* Stored MRU */ int mtu; int mru; + char *actualACname; /* Name of AC we connected to */ } PPPoEConnection; /* Structure used to determine acceptable PADO or PADS packet */ @@ -260,8 +257,6 @@ UINT16_t etherType(PPPoEPacket *packet); int openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr); int sendPacket(PPPoEConnection *conn, int sock, PPPoEPacket *pkt, int size); int receivePacket(int sock, PPPoEPacket *pkt, int *size); -void dumpPacket(FILE *fp, PPPoEPacket *packet, char const *dir); -void dumpHex(FILE *fp, unsigned char const *buf, int len); int parsePacket(PPPoEPacket *packet, ParseFunc *func, void *extra); void parseLogErrs(UINT16_t typ, UINT16_t len, unsigned char *data, void *xtra); void syncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet); @@ -276,7 +271,7 @@ void initPPP(void); void clampMSS(PPPoEPacket *packet, char const *dir, int clampMss); UINT16_t computeTCPChecksum(unsigned char *ipHdr, unsigned char *tcpHdr); UINT16_t pppFCS16(UINT16_t fcs, unsigned char *cp, int len); -void discovery1(PPPoEConnection *conn); +void discovery1(PPPoEConnection *conn, int waitWholeTimeoutForPADO); void discovery2(PPPoEConnection *conn); unsigned char *findTag(PPPoEPacket *packet, UINT16_t tagType, PPPoETag *tag); @@ -326,3 +321,10 @@ do {\ #define NOT_UNICAST(e) ((e[0] & 0x01) != 0) #define BROADCAST(e) ((e[0] & e[1] & e[2] & e[3] & e[4] & e[5]) == 0xFF) #define NOT_BROADCAST(e) ((e[0] & e[1] & e[2] & e[3] & e[4] & e[5]) != 0xFF) + +#ifndef MIN +#define MIN(a, b) ((a) < (b)? (a): (b)) +#endif +#ifndef MAX +#define MAX(a, b) ((a) > (b)? (a): (b)) +#endif