xref: /haiku/src/add-ons/kernel/network/ppp/shared/libkernelppp/_KPPPPFCHandler.h (revision e79e4e7c9e432c90415f79809b7160e864f79001)
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_PFC_HANDLER__H
9 #define __K_PPP_PFC_HANDLER__H
10 
11 #include <KPPPOptionHandler.h>
12 
13 
14 class _PPPPFCHandler : public PPPOptionHandler {
15 	public:
16 		_PPPPFCHandler(ppp_pfc_state& localPFCState, ppp_pfc_state& peerPFCState,
17 			PPPInterface& interface);
18 
19 		virtual status_t AddToRequest(PPPConfigurePacket& request);
20 		virtual status_t ParseNak(const PPPConfigurePacket& nak);
21 		virtual status_t ParseReject(const PPPConfigurePacket& reject);
22 		virtual status_t ParseAck(const PPPConfigurePacket& ack);
23 
24 		virtual status_t ParseRequest(const PPPConfigurePacket& request,
25 			int32 index, PPPConfigurePacket& nak, PPPConfigurePacket& reject);
26 		virtual status_t SendingAck(const PPPConfigurePacket& ack);
27 
28 		virtual void Reset();
29 
30 	private:
31 		ppp_pfc_state &fLocalPFCState, &fPeerPFCState;
32 };
33 
34 
35 #endif
36