the r27 source from http://svn.techwires.net/svn/projects/freebsd/sys/.
Actually this driver works now, but as it is developed outside of the FreeBSD
repo, I will not include it into Haiku's repository.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34790 a95241bf-73f2-0310-859d-f6bbb57e9c96
include the <stdio.h> first. I don't see, why the header defines stuff that
is already defined in <stdio.h> anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34716 a95241bf-73f2-0310-859d-f6bbb57e9c96
parent interface. It calls if_addmulti() on it but temporarily sets the ioctl
hook to NULL. We need to account for that so we don't crash on multicast setup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34699 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use C++ comment styles.
* Use a common pointer orientation throughout the code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34693 a95241bf-73f2-0310-859d-f6bbb57e9c96
This gets rid of one layer of indirection, too.
Also, this removed a potential memory leakage, when deleting external memory
in destruct_pkt_mbuf. In the case where memory of type EXT_JUMBO9 was
previously allocated, this would have been wrongly catched by the condition
(ext_type & EXT_CLUSTER) != 0.
* Renamed some variables to more human readable style.
* Commented some constants in mbuf.h to make more clear what they indicate and
to show that they should not be treatet as flags, as it was the case one
some locations before.
* Removed the EXT_PACKET constant, as it requests the same cache as
EXT_CLUSTER. EXT_PACKET is a optimizing technique from BSD, where a cache
exists holding some preallocated mbuf + cluster memory. Such a thing is not
implemented in the compat layer, at all. Though EXT_CLUSTER tells more
clearly what the size of the external data buffer is.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34692 a95241bf-73f2-0310-859d-f6bbb57e9c96
also handles the M_PKTHDR flag. Before, the uninitialized fields could be left over
from earlier freed mbufs and on m_freem previous m_next fields could be returned
resulting in random mbufs being freed. This makes the iprowifi4965 work and fixes
#5089.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34691 a95241bf-73f2-0310-859d-f6bbb57e9c96
FreeBSD 8 (r199625) and thus adding the FreeBSD license header.
* Implementing the glue code to make the wavelanwifi driver linking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34626 a95241bf-73f2-0310-859d-f6bbb57e9c96
Both are compiling, but not linking yet. Only for compilation of pci support
has been taken care of, as neither ISA nor PCMCIA are usable within Haiku
anyway.
* Enhancing the FreeBSD compat layer so that the above drivers are compiling.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34621 a95241bf-73f2-0310-859d-f6bbb57e9c96
The internal_intr structure needed to be adapted accordingly, otherwise it
would not compile anymore.
This definition is needed by the aironet (if_an.c) driver I'm currently
porting.
* Extending FreeBSD compat layer a bit in preparation of porting the remaining
wlan drivers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34620 a95241bf-73f2-0310-859d-f6bbb57e9c96
header. This shall ensure uniqueness of the ioctls.
* Added a special SIOCEND define to Haiku's sockio.h, so that drivers can define
private ioctls as can be seen in src/add-ons/kernel/drivers/network/wlan/atheros/dev/ath/if_athioctl.h.
* Modified ioccom.h of the FreeBSD compat layer, to make use of the special
SIOCEND define.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34612 a95241bf-73f2-0310-859d-f6bbb57e9c96
* *::Index() is now const, thanks to the BList improvements.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34521 a95241bf-73f2-0310-859d-f6bbb57e9c96
fixes the problem where building wlan drivers failed, due to not yet assembled
kernel_c++_structs_sizes.h while only the wlan stack needed to be compiled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34501 a95241bf-73f2-0310-859d-f6bbb57e9c96
r34441. This allows to completely stick to FreeBSD's conditional cv_* function
semantics as 'struct cv' variables are freed automatically now.
This also gets rid of the dynamically de-/allocating of ConditionalVariables.
Thank you Ingo for helping me through this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34489 a95241bf-73f2-0310-859d-f6bbb57e9c96
separates the usage of published and unpublished ConditionalVariables into
different functions.
This allows to stick to the semantics of FreeBSD's condition variable subsystem
where it isn't needed to call cv_destroy. With the refactoring now there aren't
orphaned published ConditionalVariable left over, when shutting down the compat
layer.
Though, allocated unpublished struct cv's aren't cleaned up yet. This will be
addressed in a next commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34468 a95241bf-73f2-0310-859d-f6bbb57e9c96
freebsd compat layer.
* Renaming functions where their names aren't preset by FreeBSD to stick
to the coding style guidelines.
* Making use of static Notify functions of Haiku's ConditionalVariable
implementation.
* Removing management of used ConditionalVariables within the compat layer.
This should also fix#5072.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34461 a95241bf-73f2-0310-859d-f6bbb57e9c96
in uninit_condition_variables(). This method and its counterpart
init_condition_variables() will be removed, once the need for the
sConditionVariableHash will be eliminated.
* Now every initialized ConditionalVariable gets removed right after it is no
longer needed. Ingo what do you think?
* This behaviour matches with the FreeBSD way, where a conditional variable
gets assigned to a sleepqueue only when needed, and is removed from that
sleepqueue the moment the condition is met.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34427 a95241bf-73f2-0310-859d-f6bbb57e9c96
holding the InterruptsSpinLocker.
* Have to use B_RELATIVE_TIMEOUT if you want to wait for a specific period.
This fixes the problem of failing firmware loading in iprowifi2200 due to
always timing out before the firmware would have had the chance to actually
load.
* I can surf with iprowifi2200 now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34410 a95241bf-73f2-0310-859d-f6bbb57e9c96
up.
* Removed the cv_waiters structure member as it is nowhere used in the network
subsytem by FreeBSD either.
* Removing the sleepqueue dummy functions completely, as Haiku's condition
variable subsystem is well suited for this purpose.
* This fixes the build, too, as it introduces the new implementation of pause
and _pause.
* Implementing the msleep and wakeup functions based on the condition variable
implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34395 a95241bf-73f2-0310-859d-f6bbb57e9c96
easier to a) cleanup on driver unloading and b) to implement the msleep
and wakeup functions. This is facilitated by keeping track of used
conditional variables in a hash table. Also this table can be used to get
the conditional variable belonging to a hash, which isn't supported by
Haiku's conditional variable support at the moment.
All network drivers are compiling and linking but it needs to be tested,
whether executing rises any issues.
* Minor coding style cleanup in condvar.h regarding intersection spacing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34375 a95241bf-73f2-0310-859d-f6bbb57e9c96
This port is based on FreeBSD RELEASE_8_0_0 (r199625) found in Haiku's
freebsd vendor branch.
* Added freebsd_wlan directory to the Jamfile in HAIKU_TOP/src/libs/compat/
so that the stack can be built with jam libfreebsd_wlan.a.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34343 a95241bf-73f2-0310-859d-f6bbb57e9c96
a file suitable for the CreateAsmStructOffsetsHeader rule. The file is then
used to generate the actual matypes.h header. This fixes issues when
cross-compiling from a 64 bit platform.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34312 a95241bf-73f2-0310-859d-f6bbb57e9c96
ethernet and wlan drivers when compiling them. Also this removes the burden to
recompile every ethernet driver just because of changes in the wlan part.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34306 a95241bf-73f2-0310-859d-f6bbb57e9c96
(O_MOUNT, O_EXLOCK, and O_SHLOCK). I only left the non-standard O_TEMPORARY
for the time being (as it shouldn't fool anyone).
* Fixed libutil that already used O_EXLOCK, even though it did not do anything.
* Moved O_NOCACHE, and O_NOFOLLOW to the section with implemented modes.
* Added O_DIRECTORY.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34278 a95241bf-73f2-0310-859d-f6bbb57e9c96
instead of getrusage.
- Thanks François for insisting on this. :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34133 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Untested, but should work (will test it when I get home later today).
- This is my first attempt at adding something for compatibility reasons. Let
me know if something in wrong.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34091 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Adding the complete ieee80211 channel structure as it contains alot of useful information which is hard to obtain otherwise (e.g. conversion between frequency and channel number).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33855 a95241bf-73f2-0310-859d-f6bbb57e9c96