xref: /haiku/src/add-ons/kernel/network/ppp/shared/libkernelppp/_KPPPAuthenticationHandler.h (revision 51978af14a173e7fae0563b562be5603bc652aeb)
1 //----------------------------------------------------------------------
2 //  This software is part of the OpenBeOS distribution and is covered
3 //  by the OpenBeOS license.
4 //
5 //  Copyright (c) 2003 Waldemar Kornewald, Waldemar.Kornewald@web.de
6 //---------------------------------------------------------------------
7 
8 #ifndef __K_PPP_AUTHENTICATION_HANDLER__H
9 #define __K_PPP_AUTHENTICATION_HANDLER__H
10 
11 #include <KPPPOptionHandler.h>
12 
13 
14 class _PPPAuthenticationHandler : public PPPOptionHandler {
15 	public:
16 		_PPPAuthenticationHandler(PPPInterface& interface);
17 
18 		PPPProtocol *NextAuthenticator(const PPPProtocol *start, ppp_side side) const;
19 
20 		virtual status_t AddToRequest(PPPConfigurePacket& request);
21 		virtual status_t ParseNak(const PPPConfigurePacket& nak);
22 		virtual status_t ParseReject(const PPPConfigurePacket& reject);
23 		virtual status_t ParseAck(const PPPConfigurePacket& ack);
24 
25 		virtual status_t ParseRequest(const PPPConfigurePacket& request,
26 			int32 index, PPPConfigurePacket& nak, PPPConfigurePacket& reject);
27 		virtual status_t SendingAck(const PPPConfigurePacket& ack);
28 
29 		virtual void Reset();
30 
31 	private:
32 		PPPProtocol *fLocalAuthenticator, *fPeerAuthenticator,
33 			*fSuggestedLocalAuthenticator, *fSuggestedPeerAuthenticator;
34 		bool fPeerAuthenticatorRejected;
35 };
36 
37 
38 #endif
39