Michael Brown
b44332eb7d
Split non-TCP portions of the stack out into ip.[ch].
Added set_ipaddr().
19 vuotta sitten
Michael Brown
7e61f38799
Moved "hello world" protocol implementation out of prototester.c and into
the first standalong uIP-based protocol module.
19 vuotta sitten
Michael Brown
508dcdb303
Added container_of(). This seems about the best place to put it, since
the definition of it uses offsetof(), and the two concepts are related.
19 vuotta sitten
Michael Brown
2299435f1c
Added prototype for inet_ntoa, even though we don't have the function
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.
19 vuotta sitten
Michael Brown
a4a0244aa3
Moved uIP wrapper out of prototester.c and into proto/tcp.c.
19 vuotta sitten
Michael Brown
05b284399e
Moved old tcp.h to old_tcp.h, to avoid name clash with new (uIP-based)
tcp.h.
19 vuotta sitten
Michael Brown
af23ff8a24
Assertions are now handled via the POSIX-like <assert.h>.
19 vuotta sitten
Michael Brown
55497b3402
Added missing #endif
19 vuotta sitten
Michael Brown
cb8e89de15
Added assert.h, with assert() defined (almost) as per POSIX, and
linker_assert() defined as gPXE-specific.
19 vuotta sitten
Michael Brown
dde1c5ad18
Moved include/in.h to include/gpxe/in.h, so that it can be included by
prototester.
19 vuotta sitten
Michael Brown
5d28bae0f1
Fix up building with gcc 4.0.1 / gas 2.16.91
19 vuotta sitten
Michael Brown
33dbdda28e
Allow data blocks to be less than sizeof ( struct buffer_free_block ) in
size. (The restriction on the size of free blocks remains.)
20 vuotta sitten
Michael Brown
7d8adc25bc
In multicast operation, the client still has a unicast local port.
20 vuotta sitten
Michael Brown
be7897523d
IGMP protocol now uses the generic background protocol mechanism.
20 vuotta sitten
Michael Brown
85a380530d
Add generic mechanism for background protocols (e.g. ARP, IGMP)
20 vuotta sitten
Michael Brown
fa17bf0917
Make rfc2090 multicast option optional
20 vuotta sitten
Michael Brown
55771a462d
Re-order functions for more logical documentation
20 vuotta sitten
Michael Brown
f2198e8a65
Don't choke on duplicate OACK packets.
Make await_tftp() static and create tftp_get() for fetching the next TFTP
packet instead.
20 vuotta sitten
Michael Brown
378e922f8f
Remove prototypes for obsolete functions
20 vuotta sitten
Michael Brown
53a4436d94
TFTP upgraded to use a core function library (in tftpcore.c) which will be
shared between TFTP, TFTM and MTFTP protocols.
20 vuotta sitten
Michael Brown
0b048e9cfb
Now have enough functions to implement a standard TFTP client in around 50
lines of code.
20 vuotta sitten
Michael Brown
92f1a5c677
Documented the purpose of the two timeout fields in
s_PXENV_TFTP_READ_FILE.
20 vuotta sitten
Michael Brown
6e74dc3460
Added implementation note on IP routing.
Added reason for min value of 512 on s_PXENV_TFTP_OPEN::PacketSize.
20 vuotta sitten
Michael Brown
572483cc59
Separate out the documentation of the PXE API from the documentation of
the Etherboot implementation (i.e. don't do what Intel did).
20 vuotta sitten
Michael Brown
0e494614b5
Some versions of doxygen seem to object to "@ret None" or similar.
20 vuotta sitten
Michael Brown
7b423c0988
Fixes for gcc >= 3.2 from Georg Baum
20 vuotta sitten
Michael Brown
809933d9f7
Split PXE code into preboot, udp, tftp, undi and loader units.
PXE code now compiles without errors (though it won't actually work).
20 vuotta sitten
Michael Brown
8becf0f65f
Rearranging PXE header files
20 vuotta sitten
Michael Brown
fd49648a35
Separated out the Etherboot-specific parts of the old pxe.h header.
20 vuotta sitten
Michael Brown
b9c7468dea
Added PXENV+ and !PXE structures, and the loader API.
20 vuotta sitten
Michael Brown
442ba12b9e
Finished documenting the UNDI API.
20 vuotta sitten
Michael Brown
cd9742e054
Documented up to PXENV_UNDI_CLOSE
20 vuotta sitten
Michael Brown
3503941582
Documented Preboot, TFTP and UDP data structures
20 vuotta sitten
Michael Brown
eb40aac2b4
Documented PXENV_GET_CACHED_INFO structures
20 vuotta sitten
Michael Brown
acb9d42cf8
Add UDP parameter structures
20 vuotta sitten
Michael Brown
22b7f0ec74
Define PXE types in terms of other PXE types where possible
20 vuotta sitten
Michael Brown
1e0a5d8b30
Worked out a sensible doxygen grouping
20 vuotta sitten
Michael Brown
29733a153d
Added all API codes and basic prototypes.
20 vuotta sitten
Michael Brown
8355ce8a32
Documented the basic PXE data types
20 vuotta sitten
Michael Brown
a96759f9c8
Use "#var" rather than "@c var" for doxygen.
20 vuotta sitten
Michael Brown
bf32da87f0
Doxygenation
20 vuotta sitten
Michael Brown
7a4b45d3b0
Don't include etherboot.h; we get a circular dependency
20 vuotta sitten
Michael Brown
a9fabe7546
Doxygenation
20 vuotta sitten
Michael Brown
8bc4551f5e
API docs to .h
20 vuotta sitten
Michael Brown
2ddbac101e
Move API docs to buffer.h, implementation to buffer.c.
20 vuotta sitten
Michael Brown
c18ea5282c
Doxygenated
20 vuotta sitten
Michael Brown
e911a74724
More documentation
20 vuotta sitten
Michael Brown
a135024626
load_buffer is now handled via load_buffer.h
20 vuotta sitten
Michael Brown
0e921cdd9e
More doxygen docs
20 vuotta sitten
Michael Brown
484d6e7d24
__attribute__ does not need to be treated as a variadic macro, since
it is always used as __attribute__((...)). Since variadic macros seem
to confuse poor doxygen, change it to a single-valued macro.
20 vuotta sitten