summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2000-05-05Added skeleton Doc files for the whole developer's documentation.Martin Mares
2000-05-04Unused variables in IPv6 code.Martin Mares
2000-05-04Removed a lot of unused variables.Martin Mares
Please try compiling your code with --enable-warnings to see them. (The unused parameter warnings are usually bogus, the unused variable ones are very useful, but gcc is unable to control them separately.)
2000-05-02Defined format specifier `%M' which behaves as `%m', but takes theMartin Mares
error code as an argument. Use it in socket hooks where we really shouldn't rely on errno containing the right value or even existing.
2000-05-02IPv6 address classification fixes.Martin Mares
2000-04-27Event handlers no longer return re-queue flag. Instead of using it, justMartin Mares
call ev_schedule() on the same handler which should work perfectly now.
2000-04-12Introduced `ARRAY_SIZE' macro to replace all the sizeof(a)/sizeof(*a) ↵Martin Mares
constructs.
2000-03-31Removal of useless includes continues...Martin Mares
2000-03-31Use bsprintf() instead of sprintf().Martin Mares
2000-03-31Include "lib/string.h" instead of <string.h>. It should give us bzero()Martin Mares
and other non-portable functions on all systems.
2000-03-30Defined sk_close() which closes the socket safely even if called fromMartin Mares
socket hook. Replaces the SK_DELETED hack. Squashed a couple of bugs in handling of TCP sockets.
2000-03-29Avoid conflicts with libraries defining their own xmalloc by definingMartin Mares
xmalloc to bird_xmalloc internally.
2000-03-21Wrote real version of unaligned data access functions (needed for BGP).Martin Mares
2000-03-12Use do { } while(0) instead of empty DBG if not debugging.Martin Mares
2000-03-07DBG calls debug() if defined(LOCAL_DEBUG) || defined(GLOBAL_DEBUG).Martin Mares
2000-03-05Implemented real slab allocator. If you suspect it from being buggy,Martin Mares
just #define FAKE_SLAB at the top of lib/slab.c to bypass it.
2000-03-01Changed comments regarding hash function.Martin Mares
2000-03-01IP_PREC_INTERNET_CONTROL for IPv6 (see the comment).Martin Mares
2000-01-16No more problems when events get scheduled during event processing.Martin Mares
1999-12-16ipv6_compare() accepts non-lvalue arguments as well. This makes filtersMartin Mares
compile with IPv6.
1999-12-06Logging is now configurable. You can define multiple log outputs (to bothMartin Mares
files and syslog) and assign lists of message categories to each of them.
1999-11-25Added ip_scope_text() for translating of scopes to strings.Martin Mares
1999-11-17ev_run() now returns whether the event has been requeued or not.Martin Mares
ev_run_list() now returns number of events which remain in the list.
1999-10-29Implemented unix-domain sockets.Martin Mares
1999-10-29Events now return a value. If it's non-zero, the event is re-queuedMartin Mares
for processing in next event cycle. This can be used to prevent background actions (hint: user commands) from hogging the CPU for too long time.
1999-10-29Simplify handling of free chunks.Martin Mares
1999-10-12Changed syntax of ip_class_mask, the old one was stupid.Martin Mares
1999-10-02Don't forget to free large blocks.Martin Mares
1999-08-17Added a function for generating 32-bit random numbers.Martin Mares
1999-08-03Support for IPv6 sockets. How nice one doesn't have to ifdef aroundMartin Mares
ten years of API evolution :-)
1999-08-03Basic support for IPv6. The system-dependent part doesn't work yet,Martin Mares
but the core routines are there and seem to be working. o lib/ipv6.[ch] written o Lexical analyser recognizes IPv6 addresses and when in IPv6 mode, treats pure IPv4 addresses as router IDs. o Router ID must be configured manually on IPv6 systems. o Added SCOPE_ORGANIZATION for org-scoped IPv6 multicasts. o Fixed few places where ipa_(hton|ntoh) was called as a function returning converted address.
1999-08-03Added macros for walking lists backwards.Martin Mares
1999-08-03Faster checksum function.Martin Mares
1999-06-01Defined IP_PREC_INTERNET_CONTROL and made all (well, both :)) protocolsMartin Mares
use it when creating sockets.
1999-05-31Added sk_send_buffer_empty().Martin Mares
1999-05-24Small bug in ipv4_skip_header.Ondrej Filip
1999-05-14Added ip_skip_header() and modified OSPF to use it.Martin Mares
1999-05-10Added packet checksumming code. Watch the comments for an explanation.Martin Mares
1999-04-27Recognize site scope for IPv4 addresses (prefixes reserved for privateMartin Mares
networks). Removed old #ifndef logic which was used to avoid IPv4/IPv6 clashes before conditionals in Modules lists were introduced.
1999-04-12Added ipa_compare as requested.Martin Mares
1999-04-12Fixed a couple of bugs in handling of multicast sockets.Martin Mares
See comments in lib/socket.h for a detailed guide on how to use them.
1999-04-06ip_pton: Avoid modification of the string we're converting.Martin Mares
1999-03-29Clarify resource dumps and include them in the main debugging dump.Martin Mares
1999-03-29Added lp_flush() which flushes contents of a linear pool, leaving all theMartin Mares
memory available for subsequent allocations from the same pool. Both flushing and re-using the memory costs just few instructions.
1999-03-29Moved all system-dependent #include's containing endianity conversionMartin Mares
functions to sysdep header endian.h.
1999-03-29#define NULL if not defined by system includes.Martin Mares
1999-03-04Use dmalloc instead of EFence when available (dmalloc has lot of improvementsMartin Mares
over EFence and also hopefully smaller memory overhead, but sadly it's non-free for commercial use). If the DMALLOC_OPTIONS environment variable is not set, switch on `reasonable' checks by default. Also introduced mb_allocz() for cleared mb_alloc().
1999-03-01Added SK_MAGIC type sockets for internal use by system dependent code,Martin Mares
especially for netlink communication.
1999-02-11Real implementation of protocol state machines. Delayed startup/shutdownMartin Mares
should work now. Initial feeding of protocols by interfaces/routes is done from the event queue to prevent unwanted recursion.
1999-02-11Grrr, forgot to commit the event routines themselves :|Martin Mares