Commit Graph

566 Commits

Author SHA1 Message Date
Clemens Zeidler
5b6fca0639 - Rework the ALM layout api. The AddItemTo* function are now related to the current Area. On default the current Area is the last added Area.
- Add some more const where appreciated.
- Fix some style issues and a leak in Row and Column.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-29 03:30:47 +00:00
Axel Dörfler
144e57d8d7 * Empty structures behave differently in C vs. C++ (while they are 0 byte sized
in C, they are 1 byte sized in C++). The empty knlist is what broke the WLAN
  stuff in various ways since I renamed ieee80211_haiku.c to cpp.
* This fixes at least bug #6521.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-28 17:41:05 +00:00
Clemens Zeidler
030345058e Handle layout items like glue correct. Update the preferred size constraint if a tab has been replaced. Fix coding style (thanks Axel).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-24 03:22:37 +00:00
Rene Gollent
c6789116b7 Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 16:11:32 +00:00
Clemens Zeidler
2adb769e33 Add the possibility to unset the aspect ratio again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 08:05:45 +00:00
Clemens Zeidler
19ddd4f1cb SetDefaultBehavior is not needed since all views handled in this function have min and max size equal the pref size (despite of the status bar length, which is ok). As a result they don't grow or shrink undesirable as assumed previously. As a result also the AutoPreferredContentSize is not needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 07:57:40 +00:00
Clemens Zeidler
21f083af82 - Implement all Add* function of the BLayout class properly. If the Add* functions of the BLayout class are called add the item to the right upper corner of the previous area. That is at least better than ignore this functions.
- Add more convenience AddViewTo{Right, Left, Top, Bottom} functions to add a item to the sides of an existing area.
- Need to add the Jamfile hack again to include the ViewLayoutItem.h header. I thing about to add the ALMLayout.* files to the interface dir when its a little bit more matured. Then the problem will be solved. Till I made a decision or somebody tell me its a bad idea to add the ALMLayout to the official interface stuff or the ViewLayoutItem.h should be in a shared header dir I will keep this hack.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 07:16:49 +00:00
Clemens Zeidler
96e2013e70 Add inset and spacing to BALMLayout. Each Area is able to overwrite this global values and use his own inset. Add spacing and inset to the tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 00:53:33 +00:00
Clemens Zeidler
40d939a43f - Add some checks if the Area is initialized.
- Init some more variables in the constructor.
- Rename HasSame*As to Set*As. The old one is more a question. Also add an optional factor and remove the HasSameSizeAs function which tempt the user to leak a BList.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 00:04:08 +00:00
Clemens Zeidler
9503cf19be - Don't pass a min size in the Area _Init function. The min size is updated before solving the layout so we don't have to set it in the beginning. This also simplifies the BALMLayout api.
- Header include style fixes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 21:53:32 +00:00
Clemens Zeidler
8f60d419c5 Remove unused Constraint variables.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 05:55:15 +00:00
Clemens Zeidler
eb4dd1a2a9 Clean up Area header a bit more and remove unused functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 05:50:51 +00:00
Clemens Zeidler
0871de7bdf Remove unsupported reverse engineering feature. Further clean up.
Also remove LayoutStyle feature because resizing the parent view might not be a good idea. If the parent view should be resized you should better but it into a BLayout too.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 05:29:50 +00:00
Clemens Zeidler
33c82c1e9d Compare the correct orientation and add a comment about it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 05:24:15 +00:00
Clemens Zeidler
5f15562e70 Use the AlignInFrame BLayoutItem function to do the item alignment. The child area is not needed any more.
Don't leak the fConstraints list.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 04:51:09 +00:00
Clemens Zeidler
3a3c1d8222 Removed unused min, max, pref variables.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 23:51:41 +00:00
Clemens Zeidler
1d1e47de0c Should be part of the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 23:35:36 +00:00
Clemens Zeidler
8d9b6ef428 - Rename BALMLayout.* file to ALMLayout.*.
- Fix some copyrights.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 23:31:50 +00:00
Clemens Zeidler
8ec038986a BALMLayout now takes the view min, max and pref values into account. Previously it managed its own values.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 23:18:43 +00:00
Clemens Zeidler
14bf35a2ef Remove unneeded header path.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 20:23:31 +00:00
Clemens Zeidler
248bbad27c First step to make the ALM layout engine more compatible with the haiku layout API. Many stuff was/is managed by ALM which could and should be done by the standard layout facilities.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 07:04:40 +00:00
Clemens Zeidler
b3b7b663e0 Encapsulate the solver in the ALM layout class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 22:47:13 +00:00
Clemens Zeidler
cd88ee006d More cleanup and BList -> BObjectList.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 06:26:32 +00:00
Clemens Zeidler
601eded950 - Hide constraint header in Area file.
- Start to replace BList with BObjectList.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 06:09:19 +00:00
Clemens Zeidler
0401a9c712 Remove unused fOwner variable. Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 05:42:31 +00:00
Clemens Zeidler
aa519a9e14 Fix the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 05:40:49 +00:00
Clemens Zeidler
43b24b87de Simplify code and clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 04:52:30 +00:00
Clemens Zeidler
b329767e2f Clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 04:34:38 +00:00
Clemens Zeidler
416aca7ac9 Fix some memory leaks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 03:45:04 +00:00
Jérôme Duval
cceb9427a8 Updated iprowifi4965 based on iwn FreeBSD 8.1.0 with the following changes:
* added more firmware to be used by the driver and updated the old one.
* avoid the switch to using ICT interrupt mode (dunno what it implies on Haiku)
* commented ieee80211_ratectl_*() calls. They can be uncommented when we support them.
* added ieee80211_ratectl.h with functions commented out
Switch to using ICT interrupt mode


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 23:18:06 +00:00
Jérôme Duval
86bec4a995 updated libtiff to 3.9.4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 12:01:26 +00:00
Jérôme Duval
2ae952521b updated libpng to 1.4.3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 11:22:54 +00:00
Clemens Zeidler
e16e4d4de1 Small optimization.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 05:11:15 +00:00
Philippe Houdoin
80528f21d6 Fix gcc2 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 14:43:20 +00:00
Philippe Houdoin
48933a73b8 Expand glutGetProcAddress() to support core GL functions too under Haiku,
now that we do have a way to retrieve such address.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 10:41:44 +00:00
Philippe Houdoin
256571764d Mesa's glapi_getproc.c was missing...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 09:31:04 +00:00
Axel Dörfler
db4015a5f8 * Work in progress of reworking the net80211 stack a bit, implementing some of
the missing notifications.
* Renamed ieee80211_haiku.c to .cpp, and made it compile (this part requires
  the updated GCC2, as it uses the ISO-C varargs macros).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-26 14:35:03 +00:00
Clemens Zeidler
27c4d40fd1 lp_solve takes real not double values. Despite of that also the max real values are to big and lp_slove has problems to solve the constraints. So choose a default range big enough for UI stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-23 06:21:55 +00:00
Alex Wilson
1d6c7b6cb6 Big change deriving BLayout from BLayoutItem, and allowing viewless BLayouts.
a few highlights:
* BLayout now derives publicly from BLayoutItem
* Added BAbstractLayout class, which our layouts now derive from
* updated layout builders to avoid creating views when they don't need to
* updated layout classes
* updated AboutSystem to fix a little regression
* more details on #6407
* please tell me about any regressions, I've tried to find them all, but some
  may have slipped by.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 18:43:41 +00:00
Clemens Zeidler
4667e77fe1 Set a more reasonable Variable range then the default one ([0, inf)).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 05:34:12 +00:00
Jérôme Duval
40277b7b25 merged freetype 2.4.2
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-06 23:01:05 +00:00
Philippe Houdoin
a4491a5052 Reuse game mode window on re-enter, and restore previous window, if any,
when leaving game mode. Now a windowed glut app can (re-)enter
and leave game mode as much as it wants to.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 14:56:02 +00:00
Philippe Houdoin
3596a9aa08 Remove comment-out include.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 00:23:46 +00:00
Philippe Houdoin
90bff7f0ed Named the game mode fullscreen window after the mode string.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 00:14:40 +00:00
Philippe Houdoin
9f11a87e65 Ooops, forgot header guard.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 00:13:03 +00:00
Philippe Houdoin
74ca134aff Sort display mode in decrease order (resolution, bpp, frequency), which help to choose by default the best nearest mode, instead
of the "worse" one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 23:37:24 +00:00
Philippe Houdoin
bbd5dd572d Experimental GLUT Game Mode support.
Still several issues with non-32bits color spaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 17:34:37 +00:00
Axel Dörfler
ca215dfe68 * Replaced more occurences of EOPNOTSUPP with B_NOT_SUPPORTED.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 16:27:44 +00:00
Philippe Houdoin
24ca4df9de * Group all GLUT exit cleanup tasks in one place, __glutExitCleanup().
* Automatically leave game mode if it's still active at exit
 * Remove explicit game mode cleanup from testbed app.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-30 15:18:09 +00:00
Philippe Houdoin
a5d4249c2e Initiate game mode support
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-30 11:57:26 +00:00
Axel Dörfler
9d771afb39 * Added Haiku specific socket ioctls to configure the interface aliases:
SIOC_IF_ALIAS_ADD, SIOC_IF_ALIAS_REMOVE, SIOC_IF_ALIAS_GET, SIOC_ALIAS_SET,
  and SIOC_IF_ALIAS_COUNT.
* Implemented all of those new ioctls, though they are yet untested.
* Added ifreq::ifr_data, and removed the hack in the FreeBSD compat if.h
  header.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 09:43:08 +00:00
Axel Dörfler
642e8bd72a * Should have been part of the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 18:00:09 +00:00
Philippe Houdoin
1c6a53c07c Fixed warnings about ErrorCallback() hidding BGLView method. Should works as expected now. Plus, no more warnings. Yeah.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 15:24:12 +00:00
Philippe Houdoin
235129deb8 Ooops, should not have been commited yet. Sorry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 14:32:21 +00:00
Philippe Houdoin
a7bc66a9f5 Expanded glutDeviceGet() support. Now reports the key repeat settings I added a few days ago.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 13:55:25 +00:00
Philippe Houdoin
a67d485cf3 Reduce warnings noise/signal a bit under gcc4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 13:36:25 +00:00
Philippe Houdoin
924b42436f Style fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-26 08:19:19 +00:00
Philippe Houdoin
aacfa4790d Implemented glutSetKetRepeat() and glutIgnoreKeyRepeat().
this fix #5330.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-25 20:54:03 +00:00
Axel Dörfler
ca83261dd6 Patch by Atis Elsts with only minor changes by myself:
* Moved ip6.h header from FreeBSD private to posix/netinet.
* Added some more IPv6 support definitions to in.h, and in6.h.
* Added icmp6.h header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 15:03:37 +00:00
Axel Dörfler
e7c3a8ffd7 Fixed a few regressions that were introduced during the last months:
* device_attach() must not load the network stack. Besides being completely
  unbalanced, this was also one reason why the stack could not be unloaded
  anymore. Instead, it's now done in compat_open(), as before.
* This also fixes network booting from FreeBSD drivers - the stack apparently
  could not be initialized that early.
* Replaced the previous network stack based callout implementation with one
  that mostly copies its functionality, but has no dependencies. Furthermore,
  it runs at a higher priority (the one of the network timer should also be
  revisited, though).
* Fixed mtx_owned() to work without KDEBUG as well. It's not a good idea to
  introduce code that behaves completely different based on debug settings.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 10:41:16 +00:00
Axel Dörfler
fd5c0135e2 * Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 10:18:04 +00:00
Adrien Destugues
5098ba1b94 Update ICU to 4.4
* Remove 4.2 sourcecode
 * ICU is now an optional package (mandatory)
 * Adjust the namespaces and libraries names where needed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-13 19:04:40 +00:00
Wim van der Meer
d78da068bb Including header to get rid of a no previous prototype warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-30 12:28:17 +00:00
Wim van der Meer
b3df2c9a87 Fixing BeOS binary compatibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-28 22:16:07 +00:00
Ingo Weinhold
c5e722714e Reimplemented _kernel_contigmalloc() to support the physical address
restrictions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-22 12:22:35 +00:00
Ingo Weinhold
2c9f2dcb89 map_mem(): Fixed handling of physical address parameter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 22:30:47 +00:00
Jérôme Duval
af90dcab6f added pci_set_max_read_req, pci_get_max_read_req and definitions required by if_re.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-06 17:27:22 +00:00
Stephan Aßmus
a478859f51 Added liblocale and the ICU libs to the libbe_test target (app_server test
environment). Allows "TARGET_PLATFORM=libbe_test jam install-test-apps" to
build cleanly again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-06 12:11:43 +00:00
Ingo Weinhold
8c9b84a588 Replaced the swap_addr_t and SWAP_SLOT_NONE in RadixBitmap.{h,cpp} by
radix_slot_t and RADIX_SLOT_NONE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-02 20:42:53 +00:00
Jérôme Duval
6f1452f92f merge zlib 1.2.5 into trunk
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-09 15:28:00 +00:00
Ingo Weinhold
b9d586e9d9 Added wrappers for the spinlock functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-17 19:59:02 +00:00
Ingo Weinhold
35ca8fd8aa Added various missing functions to the error mapper.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 21:23:46 +00:00
Axel Dörfler
edd8c1c247 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 13:02:35 +00:00
Michael Lotz
2b5b2e045a Implement MSI support using the x86 specific PCI module in the FreeBSD
compatibility layer. This should make some network and wireless hardware use
MSIs and therefore solve issues related to interrupt sharing and wrongly
advertised interrupt lines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 15:24:18 +00:00
Ithamar R. Adema
f7b0c08cae This modifies the Postscript printer to be able to insert a pipe in between the Postscript generation
and the transport addon. The actual command use as pipe is retrieved from the PPD that can be selected
at printer creation time.

Currently PPD selection is not shown (as the PPD directory is not available) and therefore the pipe
will not be inserted.

This still needs a bit of TLC, so hope to commit the last changes to fully support this later this week.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 22:01:13 +00:00
Ingo Weinhold
de0b831289 * opentty(): Added missing return in error case. Fixed warning.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 09:59:59 +00:00
Ithamar R. Adema
663b74a594 * Lock printing status window before calling Quit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 15:33:11 +00:00
Jérôme Duval
1590c69933 * added forkpty() and login_tty() to bsd compatibility, a test for forkpty().
* added a TODO questioning the closing master and slave in openpty() when applying window size fails.
* added TIOCSCTTY as a TTY ioctl code, the caller become controlling TTY. Review comments are welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 13:48:28 +00:00
Ingo Weinhold
baa26c5b4c Fixed "if" condition: We need to map the error code to a negative value, when
it is positive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-08 17:09:56 +00:00
Ingo Weinhold
691b9fac72 Left-over from before splitting the files. Duplicate definitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 17:11:41 +00:00
Jérôme Duval
e842ee1933 * moved tiff public headers to headers/libs/tiff
* build shared and static libraries for libtiff, cleaned libtiff sources
* TIFFTranslator now uses this library
I used 3.8 as library version as it seems the API didn't change since then


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-14 14:13:12 +00:00
Jérôme Duval
b0ec5aef02 copied libtiff 3.9.2 to trunk
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-14 12:15:52 +00:00
Jérôme Duval
b4f7c2428d adjusted png library version as suggested by Oliver. I hope I got it right!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-14 11:37:15 +00:00
Jérôme Duval
6793fc9a17 updated libpng to 1.4.1
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-13 18:30:53 +00:00
Oliver Tappe
3fbef6e0ec * added one more missing dependency for ICU_Confusables, fixing #5475
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-27 01:08:26 +00:00
Oliver Tappe
5dbf6e515e closing #5039:
* fix ICU jamfiles to no longer MakeLocate on source files and added some 
  missing dependency declarations for break-iterators - now building with
  -j16 no longer fails (it did before, for me too)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-26 23:27:21 +00:00
Jérôme Duval
dd4974484f merged freetype 2.3.12
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-21 20:08:50 +00:00
Ingo Weinhold
25daf1cf1e * Build libsupc++.so and libstdc++.so only when they aren't provided by the
compiler. Fixes #5322 (the ones in /boot/develop would be overwritten).
* Simplified the Jamfile building these libraries.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-03 20:19:53 +00:00
Oliver Tappe
783930d916 * reverted the part of r35362 that introduced support for minor ABI versioning - my evil twin made
me do that!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-31 23:41:44 +00:00
Oliver Tappe
af50956825 * added ABI version info for libz.so, libpng.so and libjpeg.so (hopefully, I got it right, as it is
really hard to tell from the available info)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-31 20:55:16 +00:00
Colin Günther
3c08c615dc * Broken build detected by mmadia: When compiling with jam -j8 the atheroswifi
driver may not build due to dependencies to the kernel_c++_structs.h header.
  Normally this header is build by jam when building the libfreebsd_network.a
  library, with the first network driver so to speak.
  Adding a rule to the atheroswifi Jamfile to build kernel_c++_structs.h
  would be the wrong fix, because the atheroswifi doesn't need condition
  variables.
  The correct fix is to remove the #include <condvar.h> statement from proc.h.
  And while I'm at it, I remove all the other include statements, too, as none
  of them are needed by this header (all drivers are still compiling).
* Thank you mmadia for the heads up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-30 19:04:45 +00:00
Axel Dörfler
00d70bc148 * Jerome obviously did not test the new libjpeg... replaced /usr/tmp with /tmp
as found out in #5332.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-29 15:20:45 +00:00
Oliver Tappe
ebaeff9e68 * activated API-versioning for ICU-libs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 23:14:50 +00:00
Oliver Tappe
9d63a92ad0 * automatic whitespace cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 18:38:03 +00:00
Jérôme Duval
2a22d2f0e6 forgot these files
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 02:00:32 +00:00
Jérôme Duval
7fd580914a * updated libjpeg to version 8, as the previous version on trunk didn't look like version 7, the merge wasn't usable. I modified jpeglib.h to have the JPEGTranslator built.
* added libjpeg to AboutSystem
* JPEGTranslator now uses the shared library libjpeg.so


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 01:57:51 +00:00
Ingo Weinhold
8d1316fd23 Replaced CACHE_DONT_SLEEP by two new flags CACHE_DONT_WAIT_FOR_MEMORY and
CACHE_DONT_LOCK_KERNEL_SPACE. If the former is given, the slab memory manager
does not wait when reserving memory or pages. The latter prevents area
operations. The new flags add a bit of flexibility. E.g. when allocating page
mapping objects for userland areas CACHE_DONT_WAIT_FOR_MEMORY is sufficient,
i.e. the allocation will succeed as long as pages are available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 21:19:23 +00:00
Ingo Weinhold
86c794e5c1 slab allocator:
* Implemented a more elaborated raw memory allocation backend (MemoryManager).
  We allocate 8 MB areas whose pages we allocate and map when needed. An area is
  divided into equally-sized chunks which form the basic units of allocation. We
  have areas with three possible chunk sizes (small, medium, large), which is
  basically what the ObjectCache implementations were using anyway.
* Added "uint32 flags" parameter to several of the slab allocator's object
  cache and object depot functions. E.g. object_depot_store() potentially wants
  to allocate memory for a magazine. But also in pure freeing functions it
  might eventually become useful to have those flags, since they could end up
  deleting an area, which might not be allowable in all situations. We should
  introduce specific flags to indicate that.
* Reworked the block allocator. Since the MemoryManager allocates block-aligned
  areas, maintains a hash table for lookup, and maps chunks to object caches,
  we can quickly find out which object cache a to be freed allocation belongs
  to and thus don't need the boundary tags anymore.
* Reworked the slab boot strap process. We allocate from the initial area only
  when really necessary, i.e. when the object cache for the respective
  allocation size has not been created yet. A single page is thus sufficient.

other:
* vm_allocate_early(): Added boolean "blockAlign" parameter. If true, the
  semantics is the same as for B_ANY_KERNEL_BLOCK_ADDRESS.
* Use an object cache for page mappings. This significantly reduces the
  contention on the heap bin locks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 23:10:52 +00:00
Colin Günther
d3806c1b62 * Reworked firmware loading. This gets rid of the need for the settings files.
Name mapping is now defined in the glue code.
* Adding two macros for handling firmware name mapping completely in the glue
  code:
  - HAIKU_FIRMWARE_NAME_MAP(firmwarePartsCount) is used when mapping is
    required. Have a look to iprowifi2100's glue code for an example.
  - NO_HAIKU_FIRMWARE_NAME_MAP() is used when the firmware names don't need to
    be mapped. For example: broadcom43xx
* Discard usage of vm_map_file() and use the previously read() method again.
  After Axel and Ingo agree that both methods are fine in this particular use
  case, using read() looks easier on the eye. It needs only 3 parameters, where
  vm_map_file() takes 10.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 17:44:38 +00:00
Colin Günther
865639deac * Changing the naming scheme for firmwares. Instead of directly renaming
the respective firmware files renaming is now done within the firmware loader.
  The mapping of original firmware names to FreeBSD internal firmware names is
  now done within driver specific settings files. Those are committed in a next
  step.
  This approach allows a clean separation of FreeBSD compat layer requirements
  and native driver requirements.
  For example: we have two Intel PRO/Wireless 2100 drivers. Do we prefer the
  naming scheme of the native driver or do we force the native driver to use
  the one of the FreeBSD driver? With this commit we prefer native over FreeBSD.
* Changed the firmware loader to make use of Haiku's file mapping facility.
* Implementing firmware unloading.
* Some minor cleanups in two compat layer header files, which are using Haiku
  defined identifiers, where apropriate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 09:08:52 +00:00
Stephan Aßmus
c50dfc20df Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-12 22:11:17 +00:00
Oliver Tappe
6ed5e0d208 fixed a couple of issues that I encountered when testing our xattr support
(in libgnu.so) with my current rsync port:
* Node now opens its fd with O_RDONLY, as otherwise BFS will refuse to open
  (the attributes of) directories
* Node::Get() and Node::Set() now make use of the encoded attribute type,
  as otherwise all created attributes would have the type 'XATR' (instead
  of the encoded haiku-specific type)
* minor cleanup with respect to the line width limit 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-05 15:43:42 +00:00
Oliver Tappe
82cbfd3573 first stab at fixing #5091:
* let BuildSetup set HAIKU_HOST_IS_BIG_ENDIAN according to HOST_GCC_MACHINE
* minor cleanup in BuildSetup
* when building ICU, set the endianness indicator suffix according to
  HAIKU_HOST_IS_BIG_ENDIAN

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-02 22:11:08 +00:00
Colin Günther
8d84a92032 Coding style cleanup. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-30 09:04:01 +00:00
Colin Günther
485da29cbc Found a better solution for implementing ieee80211_node_dectestref().
Now the reference count get accessed only once, leading to true atomarity.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-30 01:00:51 +00:00
Colin Günther
5ce504e289 * Reworked scanner registration. Scanners are getting cleanly unregistered
on wlan stack shutdown, now.
* Added patch by mmlr to support IBSS (aka Ad-hoc) mode. To activate IBSS mode
  one would need recompile the wlan stack, though, once the constant in
  start_wlan() is switched from IEEE80211_M_STA to IEEE80211_M_IBSS. There is
  no runtime configuration, yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-30 00:37:23 +00:00
Colin Günther
f0f0db8b2a Enabling FreeBSD based WLAN ioctls, as those will become the future Haiku
WLAN ioctls anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 03:54:55 +00:00
Colin Günther
e31bb3f634 Removing superflous files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 03:26:10 +00:00
Colin Günther
e14aa471c2 Adding crypto support for ccmp (aka WPA2) to the wlan stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 03:21:16 +00:00
Colin Günther
9f6777c625 Copying the rijndael (aka AES) cryptographic algorithm into the freebsd_wlan
folder, as it is used by the crypto_ccmp module, only. Though there would be
no sense in making AES available to the FreeBSD compat layer in general.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 03:15:29 +00:00
Colin Günther
f5c86019c4 Adding crypto support for tkip (aka WPA) to the wlan stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 02:40:21 +00:00
Colin Günther
f1c8646374 Adding crypto support for wep to the wlan stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 02:35:59 +00:00
Colin Günther
ca16bde32b Enhancing the freebsd compat layer in preparation of including crypto support
for the wlan stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 02:34:47 +00:00
Colin Günther
25b7483716 * Removing comments, that were leftovers from FreeBSD. These comments lead to
wrong impression about innerworkings of Haiku's compat layer.
* Use C++ comment style where appropriate.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 04:53:18 +00:00
Colin Günther
041865ac2b Adding a constant, to allow compiling of the iprowifi5xxx driver based on
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
2009-12-28 04:48:17 +00:00
Colin Günther
430eb68718 * Removing debugging flag to lower the debug output. Moreover the removed DEBUG_ELEMID flag proved unuseful anyway.
* Whitespace cleanup.
* Uniform usage of pointer char.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 04:39:15 +00:00
Colin Günther
b7dbc3795f Whitespace cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 16:48:32 +00:00
Colin Günther
32a0e3810e This change should have been part of r34718.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 13:44:43 +00:00
Colin Günther
cc69ec0dd6 Implementing pci_{get|set}_powerstate. There are some wlan chips with the need
to be switched to D0 first.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 13:10:20 +00:00
Ingo Weinhold
96054879c1 Fixed build. Since vprintf() is defined as a macro, it's a good idea to
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
2009-12-20 13:07:02 +00:00
Colin Günther
949b2ceb01 Adding a function to the freebsd compat layer, to support linkage of the
aironetwifi driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-19 20:25:07 +00:00
Michael Lotz
cc83a8213b The wlan part uses a very specific way to update multicast addresses for the
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
2009-12-19 03:26:28 +00:00
Colin Günther
db1ee3078d Partially undoing r34965, as pcivar.h should not have been part of it. Sorry
for the noise.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-18 21:32:33 +00:00
Colin Günther
250affd447 Whitespace cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-18 21:11:20 +00:00
Colin Günther
8f1951519e Whitespace cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-18 20:59:10 +00:00
Colin Günther
92d96f0105 * Whitespace cleanup. No functional change.
* 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
2009-12-18 20:03:23 +00:00
Colin Günther
fafb321062 * Removed code duplication by merging destruct_pkt_mbuf and mb_free_ext.
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
2009-12-18 19:18:58 +00:00
Michael Lotz
de86f3421c Also call construct_mbuf() from m_getjcl() as it initializes the mbuf fields. It
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
2009-12-18 18:00:11 +00:00
Colin Günther
2b03fdfe35 * Implementing rman_get_start and copying rman_make_alignment_flags from
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
2009-12-10 22:04:51 +00:00
Colin Günther
0229a55264 * Adding remaining wlan drivers (FreeBSD RELEASE_8_0_0) to trunk.
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
2009-12-10 16:23:38 +00:00
Colin Günther
3d9728baf9 * Changed definition of driver_intr_t to the way it is defined in FreeBSD.
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
2009-12-10 16:16:19 +00:00
Colin Günther
ccc02f719a * Moved socket ioctls from FreeBSD compat layer into the corresponding Haiku
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
2009-12-10 11:11:03 +00:00
Stephan Aßmus
b8ec67f491 * Simplified and optimized a lot the "ToString()" debugging facilities.
* *::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
2009-12-06 13:14:45 +00:00
Colin Günther
69972fe0de Enabling usage of C++ structures in C only code for the wlan stack, too. This
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
2009-12-05 11:16:02 +00:00
Colin Günther
ef102a3599 Removing superflous headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-04 13:15:48 +00:00
Colin Günther
a22b78e693 Making use of the C++ structures in C only code feature introduced with
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
2009-12-04 13:10:23 +00:00
Colin Günther
c9986738a3 Refactoring condition variable subsystem of FreeBSD compat layer. Basically it
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
2009-12-03 17:47:20 +00:00
Colin Günther
0a05bd2063 Removing superflous functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 13:41:29 +00:00
Colin Günther
a49ed9ad76 * Refactoring the condition variable and synchronization subsystem of the
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
2009-12-03 12:50:14 +00:00
Colin Günther
962b2f7296 This function needs to handle the sJumboPageSizeCache, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 22:51:33 +00:00
Colin Günther
f47e4d7f93 * Adding another mbuf cache for handling MJUMPAGESIZE sized clusters.
* This should fix ticket #5063.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 20:28:51 +00:00
Colin Günther
8aefb67757 Remove unused header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 19:36:33 +00:00
Colin Günther
56c28b450f * Getting rid of the necessity for cleaning up initialized ConditionalVariables
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
2009-12-01 18:48:54 +00:00
Colin Günther
aa068fb982 * Fixing the panics occured when deleting ConditionVariables while still
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
2009-12-01 15:02:50 +00:00
Colin Günther
cb89b085e3 * Completing the condition variable subsystem. Thanks to ingo for the heads
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
2009-11-30 22:27:02 +00:00
Colin Günther
914a9b34b7 Adding adaptive multi rate retry algorithm module to the wlan stack, as it is
needed by some drivers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 21:49:26 +00:00
Colin Günther
fcd8a8a031 Enhancing freebsd network compat layer with linkage support of the iprowifi2100
driver in mind.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 21:19:30 +00:00
Colin Günther
d0805bf47e * Basically reimplemented the conditional variable support, so that it is now
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
2009-11-30 13:17:04 +00:00
Colin Günther
a315b76dc8 * Importing r401 of ported wlan stack from osdrawer.net/haiku-wifi.
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
2009-11-29 11:22:01 +00:00
Ingo Weinhold
dc28a50219 Hacked up mesa/x86/gen_matypes.c so it no longer generates a header file, but
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
2009-11-27 14:12:32 +00:00