Added some control/ioctl ops.
Moved KPPPUtils.h to headers.
Limited the name length of each handler to a maximum of 255 characters (not including the zero-byte).
Removed PPP_ACTION from (K)PPPDefs.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4502 a95241bf-73f2-0310-859d-f6bbb57e9c96
Replaced spawn_kernel_thread with spawn_thread (KernelExport.h will do the distinction between kernel mode and userland).
Changed PPPLCP::Send().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4468 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixed all warnings and errors (except from the one mentioned above).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4437 a95241bf-73f2-0310-859d-f6bbb57e9c96
TODO:
- implement Control() methods
- write an authentication option handler
- write an MRU option handler
I will need to write the jamfile...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4415 a95241bf-73f2-0310-859d-f6bbb57e9c96
- PPPDevice
- PPPEncapsulator
- PPPOptionHandler
- PPPProtocol
Added SendCodeReject implementation (though, I am not sure if it really works because I am not familiar with mbufs).
Fixed some bugs.
Changed the manager interface (there are no pointers to classes anymore).
Some minor changes.
TODO for libkernelppp.a:
- finish PPPLCP
- finish PPPConfigurePacket
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4400 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added a new case when to destroy interface (when Up() failes and DialOnDemand is disabled).
Forgot some to remove fUpThread in Up().
Changed UpFailedEvent() so that it pretends a connection-lost event (so we can try to redial).
Added ResetOptionHandlers() and DownProtocols/Encapsulators().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4351 a95241bf-73f2-0310-859d-f6bbb57e9c96
Started to get familiar with the code, again. ;)
Some _very_ small work on Up().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4305 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added checking for sender to report system.
Worked on StateMachine and added cases where the interface should be deleted.
Added some flags (report and protocol) and report codes.
Started implementing Up().
Some minor changes (comments, multilink).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4108 a95241bf-73f2-0310-859d-f6bbb57e9c96
Unfortunately I need threads for this (because reports will be used in Up()/Down() and always creating a reply port is not very nice).
Does anyone have a good send/receive_data_etc() implementation? :) I hope our kernel will get that functionality.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4085 a95241bf-73f2-0310-859d-f6bbb57e9c96
Event/action code should be finished soon.
TODO for libkernelppp.a:
- reports
- redial
- PPPInterface::Up()/Down()
- all other classes (not very much work)
- LCP protocol
- MRU and protocol-field-compression (needs some addition to PPPInterface, too) option handlers
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4071 a95241bf-73f2-0310-859d-f6bbb57e9c96
StateMachine now waits until all protocols/encapsulators have finished going up before entering next phase.
Added StateMachine methods to support main interfaces (multilink).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4055 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added some more events.
Added UpRequested methods to protocols/encapsulators.
Worked on actions and events. Also added some checks.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4054 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added some initial code to get general (as far as possible) multilink support (the modules must be aware of whether they belong to the device or to the bundle).
PPPDevice now reports speed and number of bytes in the output queue.
Removed PPP_CTOR_DTOR_PHASE. Modules can be loaded in PPP_DOWN_PHASE.
Worked on events and actions.
Some minor changes/fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4008 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added lcp_packet structure.
Changed reference style.
Changed some names.
Added general events.
Completed most events.
Copy constructors and assign operators are now private (just to be on the safe side ;).
SendToDevice() now checks if the packet is small enough.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3930 a95241bf-73f2-0310-859d-f6bbb57e9c96
Still far from being complete.
Comments are welcome.
In brief: Stack will be modular and written in C++.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3875 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Improved the driver: It now publishes a control device and ten `data'
devices. Via an ioctl one can assign an arbitrary file to a free data
device. (The devices are published in /dev/misc instead of /dev/disk to
prevent them from being scanned by the Tracker and DriveSetup.)
* Added a small command line tool to (un)register files that way.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3649 a95241bf-73f2-0310-859d-f6bbb57e9c96