#
bb83316a |
| 26-Apr-2024 |
Augustin Cavalier <waddlesplash@gmail.com> |
L2CAP: Major refactor of the whole component.
(And surrounding portions of the "btCoreData" module.)
* Rewrote the main "l2cap.h" header representing protocol constants and structures. Now conf
L2CAP: Major refactor of the whole component.
(And surrounding portions of the "btCoreData" module.)
* Rewrote the main "l2cap.h" header representing protocol constants and structures. Now conforms to general Haiku naming conventions rather than BSD ones. Some more constants added/removed based on the most recent Bluetooth specification.
* Rewrote all code derived from the BSDs to match Haiku conventions and structures in the driver.
* Dropped the "channel" and "frame" structures from "btCoreData". Channels are now managed by L2capEndpoints, and "frames" are now just plain net_buffers without surrounding structures. This also makes state management much simpler.
* Made it so that actual net_buffers are passed through to the l2cap_receive function rather than another data structure. A fake interface address is used to communicate connection information. (This probably ought to be changed, though.)
* Get rid of l2cap_lower and l2cap_upper abstractions. Everything related to channel/endpoint management is now done in L2capEndpoint, while buffer reception is handled directly in l2cap_receive and elsewhere, same as other drivers.
* Wire up more hooks and fix module flags (needed to be able to get the module loaded and opening sockets at all.)
* Implement an actual locking strategy in L2capEndpoint and HciConnection. There's still problems with lifetime management, but at least thread-safety is mostly handled.
* Create an L2capEndpointManager and use it to manage the endpoints, rather than having a single (unsafe) linked-list.
And plenty of other refactorings and cleanups besides. There's still more to be done for Bluetooth overall, though:
* The "btCoreData" and "hci" modules also badly need a major overhaul, and should be merged into a single "bluetooth" bus_manager. They also shouldn't be passing around pointers to other modules like this.
* There's a number of TODOs/FIXMEs in the L2CAP module, most notably around timeouts (especially command timeouts) and parameter validation/specification.
Tested by myself with kallisti5's help. Incoming connections (on the PSM for SDP) get all the way to the latter half of the Configuration step before hanging.
show more ...
|
#
62f5ba00 |
| 02-Apr-2010 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
- Read Local features al LocalDevice constructor - keep record in UL and KL side
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36027 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9760dcae |
| 17-Jan-2010 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
- Move bluetooth net_device module to a independent module HCI, remake API interfaces - Move functionality for assembling ACL/events packets of the driver to this module - Move h2generic driver to c+
- Move bluetooth net_device module to a independent module HCI, remake API interfaces - Move functionality for assembling ACL/events packets of the driver to this module - Move h2generic driver to c++ (not style) - Pass checkstyle.py to all commited files. Fixes: - Wrong condition for finishing l2cap packet segmentation. - Place NetBuffersPrependers in a inner scope to avoid Sycing twice in destructor. - Avoid keeping trace of l2cap responses of any other kind of thread. - Do not free net_buffers of for Frame containers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35117 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
a1163de8 |
| 13-Jun-2009 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
- Long events were locking the bluetooth server, as events can be more than 256 counting with the header. - Add debug more information in H2 driver and Command Status event - Change name of port for
- Long events were locking the bluetooth server, as events can be more than 256 counting with the header. - Add debug more information in H2 driver and Command Status event - Change name of port for posting events(former was too long)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31036 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
07e4b460 |
| 14-Oct-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
Add flow specificacion command. Add port names being used among the Stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28106 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8bd74919 |
| 05-Aug-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
Commit the file i forgot yesterday (ioctl change and cleanups)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26831 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6ac63f93 |
| 04-Aug-2008 |
François Revol <revol@free.fr> |
- fix warning - fix build (weird ioctl name)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26811 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
001662ae |
| 02-Aug-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
A bit more styling on main headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26743 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
26e7ba56 |
| 31-Jul-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
More Stylistic changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26705 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0f9aa9c2 |
| 31-Jul-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
Patch by Fredrik Ekdahl. Fix tabs and whitespaces, this set of files were conflicting
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26702 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ded32592 |
| 31-Jul-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
Patch by Fredrik Ekdahl. Fix tabs and whitespaces
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26701 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d04eb939 |
| 09-Jul-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
-Move the launching of the Local Device to an IOCTL from the open hook to be more compatible with the net_stack -Implement Launch method in the accesors regarding previous comment -Fix KDL at removin
-Move the launching of the Local Device to an IOCTL from the open hook to be more compatible with the net_stack -Implement Launch method in the accesors regarding previous comment -Fix KDL at removing device
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26345 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
ade530ec |
| 02-Jul-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
Fix EOL
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26231 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc892ed4 |
| 05-Mar-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
Remove prefixes and adapt the JSR82 api a bit more to the Be style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24251 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d816d816 |
| 20-Feb-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
Lesson learned, dont use system IOCTL codes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24038 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c9502bbe |
| 06-Feb-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
Added macros to parse port code, cointaining the event
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23897 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b06bf23f |
| 01-Feb-2008 |
Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com> |
Add 'public' headers in order all stuff actually compiles
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23816 a95241bf-73f2-0310-859d-f6bbb57e9c96
|