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
* 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
* 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
* 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
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
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
* 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
* 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
* 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
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
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
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
* 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
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
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
(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
* 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
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
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
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
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
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
* Copyright style fixes.
* Implemented FreeBSD hardclock subsystem, which is needed to update the ticks
variable. The previous usage of "#define ticks system_time()" wasn't
sufficient anymore, as there are drivers using the ticks name for local
scoped variables.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33785 a95241bf-73f2-0310-859d-f6bbb57e9c96
Using macro nonnull which actually resolves to an attribute doesn't work
on inline functions.
Thx to mmlr for helping out.
Eitherway it should have worked in the first place, because the compiler
has all the information it needs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33745 a95241bf-73f2-0310-859d-f6bbb57e9c96
ordering.
this makes porting driver (especially wifi ones) more
convinient
* based on FreeBSD svn revision 196691
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33739 a95241bf-73f2-0310-859d-f6bbb57e9c96
to avoid recurring problems during migration of subversion checkouts
(restored binary files that were garbled by subversions during checkout)
* added appropriate svn:mime-type property for problematic (binary) files
* removed a single (mistyped) svn:mimetype property
* dropped svn:eol-style property for cleanup (they all contained 'native')
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33670 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fix fgetln() in libbsd to actually return the length of the string.
Thanks a bunch!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33315 a95241bf-73f2-0310-859d-f6bbb57e9c96
been since long already.
This should help aljen reintegrate his gallium branch sooner than later,
which after the speed improvment on softpipe made last days will
be welcomed, I'll bet ;-)
Maybe it's possible to even have both current Mesa Software Renderer add-on
*and* Gallium-based SoftPipe one. Will need to actually support renderer
selection (in OpenGL preference panel or via a missing OpenGL Kit API),
as today the first add-on found is the only one ever selected...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33282 a95241bf-73f2-0310-859d-f6bbb57e9c96
work to do, but it's about time to give this code more exposure.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33176 a95241bf-73f2-0310-859d-f6bbb57e9c96
a '\n', the other cutting off the last char.
* *getxattr() is supposed to return the attribute size when a 0 sized buffer
is supplied. Otherwise, if the buffer is too short, it needs to fail with
ERANGE.
* *listxattr(): The buffer pointer wasn't adjusted after each iteration.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32682 a95241bf-73f2-0310-859d-f6bbb57e9c96
image and DevelopmentMin optional package. This is the original libjpeg (6b),
which I will updated to version 7 within the next few days. I need to
understand better the modifications made to it before updating.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32553 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed the headers/gnu from the default headers (the Jamfiles needing it
use it explicitly, now) and moved it under headers/compatibility/.
* Added libgnu.so to the image. Still untested, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32481 a95241bf-73f2-0310-859d-f6bbb57e9c96
(analoguously to libbsd.so).
* Added an implementation of the GNU/Linux xattr interface. xattrs are mapped
to Haiku attributes with type B_XATTR_TYPE. Haiku attributes are mapped to
xattrs by moving them into the "user.haiku." namespace and appending the
type to their name. Complete, but utterly untested yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32427 a95241bf-73f2-0310-859d-f6bbb57e9c96
it (headers and library) from the image. The libiconv in our tree is
only used internally as a backend for libtextencoding. The real libiconv
is provided as an optional package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31452 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Moved the ExpressionParser class to shared. It's now built into its own
static library.
* Added hexadecimal number support to the expression parser as well as
Evaluation*() methods to get a number instead of a string.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31298 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
adding a missing check for a failed memory allocation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96
BIconUtils to understand and render it. This makes it possible to use the
HVIFTranslator to also read Icon-O-Matic files out of the box. Will cleanup
now duplicated files next.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30794 a95241bf-73f2-0310-859d-f6bbb57e9c96
ported software:
* If the macro B_USE_POSITIVE_POSIX_ERRORS is defined the POSIX error code
constants (ENOMEM, EINTR,...) will have positive values.
* Introduced the macros B_TO_{POSITIVE,NEGATIVE}_ERROR() which do convert a
given error code to a positive/negative value.
* Added static library libposix_error_mapper.a that overrides all POSIX
functions (save the ones I forgot to add :-)) directly meddling with error
codes (having them as parameter or returning them) dealing with the
positive<->negative error code conversions. The functions have hidden
visibility, so they affect only the shared object they are linked into.
* So ideally all one has to do is to build a ported software with
-DB_USE_POSITIVE_POSIX_ERRORS and -lposix_error_mapper and be good with
respect to error code problems.
* Potential issues:
- When mixing ported and Haiku native code, i.e. using Haiku native code in
a ported software or using a ported library in a Haiku native application
care must be taken to convert error codes where the two interface. That's
what the B_TO_{POSITIVE,NEGATIVE}_ERROR() macros are supposed to be used
for.
- A ported static library can obviously not be linked directly against
-lposix_error_mapper. The shared object linking a against the ported static
library has to do that. The previous point applies when that causes mixing
with Haiku native code.
- When dependent ported libraries are used probably all of them should use
the error mapping.
Comments welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29653 a95241bf-73f2-0310-859d-f6bbb57e9c96
the gDeviceNameList[] entries are no longer in the same order.
* This fixes bug #3124.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29593 a95241bf-73f2-0310-859d-f6bbb57e9c96
* get e1000 to compile
* remove dev/em from the build (might be removed later on)
* tested on VirtualBox (gcc2,gcc4), VMware(gcc4) and natively on
ThinkPad T500 (gcc4)
* courtesy of Michael Weirauch (emwe)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29247 a95241bf-73f2-0310-859d-f6bbb57e9c96
for now. This is a workaround and should be removed once we have proper
interrupt return values from FreeBSD drivers. Should work around interrupt
storms for shared interrupts with some network cards that use a FreeBSD driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29242 a95241bf-73f2-0310-859d-f6bbb57e9c96
Renamed BGradient::color_step to BGradient::ColorStop
as it's called everywhere else. Also renamed BGradient::gradient_type
to just BGradient::Type. Renamed BGradient::Type() to GetType().
* Simplification of method names in Painter.cpp. Some not yet
complete and yet inactive code to accelerate vertical gradients
(bypassing AGG for this special case).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29214 a95241bf-73f2-0310-859d-f6bbb57e9c96
build. I sure hope that this doesn't break the build for anyone else.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28992 a95241bf-73f2-0310-859d-f6bbb57e9c96
* adjusted libtextencoding's Jamfile
* added libiconv.so to image
* added iconv headers to optional package Development (under 3rdparty)
* removed old private version of libiconv from textencoding
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28631 a95241bf-73f2-0310-859d-f6bbb57e9c96
the libiconv that was available for R5
* cleaned up iconv.h
* moved public libiconv headers (iconv.h and localcharset.h) into a
specific folder in headers/libs
* renamed config.h to libiconv_config.h in order to circumvent strange
problems with regex.c from glibc picking it up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28630 a95241bf-73f2-0310-859d-f6bbb57e9c96
(config.h, iconv.h and localcharset.h were created by running 'configure'
on haiku)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28629 a95241bf-73f2-0310-859d-f6bbb57e9c96
first chunk of a possibly multi-buffer mbuf. This fixes#2840, thanks a lot!
* Fixed warning in _bus_dmamap_load_buffer().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28599 a95241bf-73f2-0310-859d-f6bbb57e9c96
class/namespace. Renamed the B_GRADIENT_* types to TYPE_* as the context
is already given.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28564 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Implemented BGradient, BGradientLinear, BGradientRadial,
BGradientDiamond, BGradientConic and BGradientRadialFocus
new Interface Kit classes.
* Implemented all the (AGG-based) backend necessary in
the app_server to render gradients (Painter, DrawingEngine)
* app_server/View can convert a BGradient layout to screen
coordinates.
* Added BGradient methods of the Fill* methods in BView.
* Implemented a test app and added it to the image as a
demo.
* Adopted Icon-O-Matic and libs/icon in order to avoid
clashing with the new BGradient class. Re-use some
parts where possible.
Awesome work, Artur! Thanks a lot. Now a more modern
looking GUI has just become much easier to implement! :-)
TODO:
* Remove the need to have gradient type twice in the
app_server protocol.
* Refactor some parts of the patch to remove duplicated
code (Painter, DrawingEngine).
* Adopt the BPicture protocol to know about BGradients.
* Review some parts of the BArchivable implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28109 a95241bf-73f2-0310-859d-f6bbb57e9c96
caused lots of bugs (like #2758, and obviously also #1641). Thanks a lot!!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27771 a95241bf-73f2-0310-859d-f6bbb57e9c96
that makes drivers using it more independent from internal net_timer changes.
* Correctly implemented callout_active() using the new is_timer_running()
stack function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27632 a95241bf-73f2-0310-859d-f6bbb57e9c96
* sync against the preview driver
* fixed totally broken multiple pages on single page preview
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26812 a95241bf-73f2-0310-859d-f6bbb57e9c96
* get rid of three of them, i don't know why they where implemented in the first place
* fix broken scrollbar adjustment
* cleanup DocInfoWindow.h and DocInfoWindow.cpp
* make the window resizable and get rid of the tabview
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26690 a95241bf-73f2-0310-859d-f6bbb57e9c96
* adjust all drivers to take that into account
* fix UpdateText() signature in JSDSlider to avoid warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26648 a95241bf-73f2-0310-859d-f6bbb57e9c96
* move libprint headers into libs headers folder accordingly
* merge all shared folders sources into kits print, we might build later on a
real print kit, propably also to access cups from an nicely API, atm static
* move all shared headers into private print, also pr_server.h from interface
* adjust build to work with the changed folder layout
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26570 a95241bf-73f2-0310-859d-f6bbb57e9c96