summaryrefslogtreecommitdiffstats
path: root/src/include
Commit message (Collapse)AuthorAgeFilesLines
...
* Updated memory allocator to improve support for unaligned or partiallyMichael Brown2006-04-252-36/+66
| | | | | | | | | aligned blocks. Moved header to include/malloc.h, since we now also provide the POSIX-like malloc()/free() pair. Not yet tested.
* Add __constant_flsl(), because it's useful for finding out the nextMichael Brown2006-04-251-0/+54
| | | | | | | | power-of-two up from a given constant via ( 1 << fls ( constant - 1 ) ) fls(), flsl(), ffs() and ffsl() appear in strings.h according to POSIX.
* Added pkb_reserve().Michael Brown2006-04-241-0/+14
|
* gcc is rather over-aggressive about optimising out static data structuresMichael Brown2006-04-243-9/+9
| | | | even when __atribute__ (( unused )) is correctly set...
* Header rearrangement.Michael Brown2006-04-2419-45/+63
| | | | | | | | | I want to get to the point where any header in include/ reflects a standard user-level header (e.g. a POSIX header), while everything that's specific to gPXE lives in include/gpxe/. Headers that reflect a Linux header (e.g. if_ether.h) should also be in include/gpxe/, with the same name as the Linux header and, preferably, the same names used for the definitions.
* Network API now allows for multiple network devices (although theMichael Brown2006-04-241-0/+28
| | | | | | | | | | | | | implementation allows for only one, and does so without compromising on the efficiency of static allocation). Link-layer protocols are cleanly separated from the device drivers. Network-layer protocols are cleanly separated from individual network devices. Link-layer and network-layer protocols are cleanly separated from each other.
* Network API now allows for multiple network devices (although theMichael Brown2006-04-243-173/+272
| | | | | | | | | | | | | implementation allows for only one, and does so without compromising on the efficiency of static allocation). Link-layer protocols are cleanly separated from the device drivers. Network-layer protocols are cleanly separated from individual network devices. Link-layer and network-layer protocols are cleanly separated from each other.
* Don't bother poisoning lists; it costs code size.Michael Brown2006-04-241-13/+3Star
|
* Prototype now clashes with the macro in arch/i386.Michael Brown2006-04-241-1/+0Star
|
* First draft of a dynamic memory allocatorMichael Brown2006-04-241-0/+36
|
* First sketch of a new net device API.Michael Brown2006-04-193-25/+33
|
* Remove the concept of the media-independent link-layer header and replaceMichael Brown2006-04-194-100/+59Star
| | | | | it with metadata in the pkb structure. This is required since UNDI will want to be able to parse the link-layer header without destroying it.
* Added the concept of a network interface (a network-layer concept) asMichael Brown2006-04-191-23/+104
| | | | separate from a network device (a link-layer concept).
* TypoMichael Brown2006-04-191-1/+1
|
* First version, based on include/linux/list.h, stripped down to justMichael Brown2006-04-191-0/+155
| | | | | | | those functions we are likely to need. Still need to come up with a way of getting the linker to create static lists using this linking mechanism.
* Update now that if_ether.h has moved.Michael Brown2006-04-191-5/+1Star
|
* Added ENOENT and EAFNOSUPPORTMichael Brown2006-04-191-0/+2
|
* Added pkb_unput() and pkb_len().Michael Brown2006-04-191-0/+21
|
* Make flags more efficient.Michael Brown2006-04-191-8/+15
| | | | Add 'raw' net_addr facility (needed for ARP).
* Moved if_ether.h and if_arp.h to include/gpxe, for consistency with LinuxMichael Brown2006-04-194-32/+113
| | | | | | | | kernel. Removed obsolete struct arprequest from if_arp.h and put it in nic.c so that nic.c will still compile. ARP will very shortly be handled by net/arp.c instead.
* Add missing prototypeMichael Brown2006-04-191-0/+3
|
* First versionMichael Brown2006-04-191-0/+20
|
* First sketchMichael Brown2006-04-181-0/+126
|
* First versionMichael Brown2006-04-181-0/+56
|
* First version, based on the concepts in linux/skbuff.hMichael Brown2006-04-181-0/+80
|
* First draft of iSCSI protocol support. Is capable of retrieving diskMichael Brown2006-04-052-0/+494
| | | | blocks.
* Added tcp_buffer, to give applications a zero-cost place to build data toMichael Brown2006-04-051-0/+2
| | | | be transmitted.
* Added set_netmask() and set_gateway()Michael Brown2006-04-051-0/+2
|
* Split non-TCP portions of the stack out into ip.[ch].Michael Brown2006-03-242-2/+18
| | | | Added set_ipaddr().
* Moved "hello world" protocol implementation out of prototester.c and intoMichael Brown2006-03-231-0/+46
| | | | the first standalong uIP-based protocol module.
* Added container_of(). This seems about the best place to put it, sinceMichael Brown2006-03-231-2/+7
| | | | the definition of it uses offsetof(), and the two concepts are related.
* Added prototype for inet_ntoa, even though we don't have the functionMichael Brown2006-03-231-0/+1
| | | | | | yet, in order to allow prototester.c to compile. It might be worth changing all the uses of "%@" in printf to use "%s" and inet_ntoa instead, in order to improve the portability of our code.
* Moved uIP wrapper out of prototester.c and into proto/tcp.c.Michael Brown2006-03-231-0/+102
|
* Moved old tcp.h to old_tcp.h, to avoid name clash with new (uIP-based)Michael Brown2006-03-232-1/+1
| | | | tcp.h.
* Assertions are now handled via the POSIX-like <assert.h>.Michael Brown2006-03-232-28/+6Star
|
* Added missing #endifMichael Brown2006-03-231-0/+1
|
* Added assert.h, with assert() defined (almost) as per POSIX, andMichael Brown2006-03-231-0/+51
| | | | linker_assert() defined as gPXE-specific.
* Moved include/in.h to include/gpxe/in.h, so that it can be included byMichael Brown2006-03-2310-9/+18
| | | | prototester.
* Merge from Etherboot 5.4Michael Brown2006-03-161-1/+1
|\
* | Merge from Etherboot 5.4Michael Brown2006-03-161-1/+3
|\|
* | Fix up building with gcc 4.0.1 / gas 2.16.91Michael Brown2006-01-171-1/+0Star
| |
* | Allow data blocks to be less than sizeof ( struct buffer_free_block ) inMichael Brown2005-06-061-1/+3
| | | | | | | | size. (The restriction on the size of free blocks remains.)
* | In multicast operation, the client still has a unicast local port.Michael Brown2005-06-021-10/+9Star
| |
* | IGMP protocol now uses the generic background protocol mechanism.Michael Brown2005-06-022-20/+26
| |
* | Add generic mechanism for background protocols (e.g. ARP, IGMP)Michael Brown2005-06-021-0/+52
| |
* | Make rfc2090 multicast option optionalMichael Brown2005-06-011-1/+1
| |
* | Re-order functions for more logical documentationMichael Brown2005-06-011-3/+3
| |
* | Don't choke on duplicate OACK packets.Michael Brown2005-06-011-3/+11
| | | | | | | | | | Make await_tftp() static and create tftp_get() for fetching the next TFTP packet instead.
* | Remove prototypes for obsolete functionsMichael Brown2005-06-011-9/+0Star
| |
* | TFTP upgraded to use a core function library (in tftpcore.c) which will beMichael Brown2005-06-013-41/+124
| | | | | | | | shared between TFTP, TFTM and MTFTP protocols.