Michael Brown
b8618d76db
Modify data-xfer semantics: it is no longer necessary to call one of
request(), seek() or deliver_xxx() in order to start the data flow.
Autonomous generators must be genuinely autonomous (having their own
process), or otherwise arrange to be called. TCP does this by
starting the retry timer immediately.
Add some debugging statements.
пре 17 година
Michael Brown
1136c19fa4
Updated tcp.c to provide a standardised data transfer interface.
пре 17 година
Michael Brown
54138f28f6
Use list_for_each_entry_safe() when flushing queue.
пре 17 година
Michael Brown
5e25a89e74
Add local address to socket openers.
пре 17 година
Michael Brown
776357214e
Rename pkbpad.c to iobpad.c
пре 17 година
Michael Brown
3e2c6b6736
pkbuff->iobuf changeover
Achieved via Perl using:
perl -pi -e 's/pk_buff/io_buffer/g; s/Packet buffer/I\/O buffer/ig; ' \
-e 's/pkbuff\.h/iobuf.h/g; s/pkb_/iob_/g; s/_pkb/_iob/g; ' \
-e 's/pkb/iobuf/g; s/PKB/IOB/g;'
пре 17 година
Michael Brown
7c0a069f42
Add explicit "freeing" debug messages.
пре 17 година
Michael Brown
7d2535779c
Must request data before anything actually happens...
пре 17 година
Michael Brown
b63b14ff32
Add debugging
пре 17 година
Michael Brown
68dd826b86
Add alloc_iob() and free_iob(). (Direct search-and-replace
equivalents for alloc_pkb() and free_pkb(), which will be retired in
due course).
пре 17 година
Michael Brown
23008b9326
Updated to use POSIX-style file I/O layer.
пре 17 година
Michael Brown
86a948ccbe
Added POSIX-style blocking I/O calls, for use by PXE TFTP API.
пре 17 година
Michael Brown
6b6fc1d5ea
Allow construction of PXE status code from internal error number.
пре 17 година
Michael Brown
59e738d756
Prefix all the open()-family routines with xfer_, to disambiguate them
from the normal POSIX-style open()
пре 17 година
Michael Brown
b1755462ab
Do not hold self-references. This then avoids the problem of having to
ensure that we only drop our self-reference exactly once.
To maintain the guarantee that an object won't go out of scope
unexpectedly while one of its event handlers is being called, the
event-calling functions now automatically obtain and drop extra
references.
пре 17 година
Michael Brown
5471bfbbbe
Data-transfer interface should now be functionally complete.
пре 17 година
Michael Brown
817a446cc6
Add always_inline attribute to force gcc to inline single-instruction
functions.
пре 17 година
Michael Brown
123a98db26
Added (non-functional) reference count to struct image
пре 17 година
Michael Brown
53da1f1402
Initial sketch for a downloader object
пре 17 година
Michael Brown
e3dcb9a1ad
Add start() event
Add "xfer" to all xfer functions and "job" to all job functions.
пре 17 година
Michael Brown
a90a9adbd7
Clarify behaviour of plug() by using intf_put() and intf_get().
пре 17 година
Michael Brown
7ff81f6654
Document the fact that a zeroed-out refcounted object will behave in
the most generally useful way.
пре 17 година
Michael Brown
31f1bf4426
D'oh
пре 17 година
Michael Brown
0898b0b3b1
Added plug_plug()
пре 17 година
Michael Brown
d40761d725
Add (and use) generic reference counter, to improve signal:noise ratio
in code defining reference-counted objects.
пре 17 година
Michael Brown
36bfb6edbb
Skeleton job control interface
пре 17 година
Michael Brown
280160139d
Add seek()
Dehyphenate "data-transfer".
пре 17 година
Michael Brown
ff1222a8d3
Preliminary support for opening data-transfer interfaces
пре 17 година
Michael Brown
27b3bd10c9
Added PF_INET[6] and SOCK_{STREAM,DGRAM} definitions and debug
functions.
пре 17 година
Michael Brown
1c765b3988
Added deliver-as-iobuf/deliver-as-raw concepts.
пре 17 година
Michael Brown
2575ddc889
Initial sketch for the generic data-transfer interface.
пре 17 година
Michael Brown
95206577a7
Trivial ASN.1 decoding functions.
пре 17 година
Anselm Martin Hoffmeister
ed7dc02a95
hoffmeis: Preparations for syslog support (LOGSERVER in DHCP, linewise
output buffering defintions and the like)
пре 17 година
Anselm Martin Hoffmeister
ff5aac826a
hoffmeis: Fixing situation where absence of a newdata() handler for UDP
connections might break things. Only-sending applications like syslog()
do not need a newdata() handler, so added a check if that handler exists.
пре 17 година
Michael Brown
0d9b3e2dd2
Add 32-bit support.
Generate DHCP data block for images.
пре 17 година
Michael Brown
ff7d0af585
Provide a buffer in base memory for code to fill with generated DHCP data.
пре 17 година
Michael Brown
160e66dbb9
Typo
пре 17 година
Michael Brown
5578d3b2de
Support 32-bit (linear) NBI images. We don't yet provide a bootp data
block, so first32.c dies immediately.
пре 17 година
James Harper
80cc27cbc4
Ported bnx2 driver from Etherboot 5.4.
пре 17 година
Michael Brown
37127ea90c
Added .nbi as a format.
пре 17 година
Michael Brown
628f6eddcc
Make _load_size accurately reflect the number of bytes in the actual
image file.
пре 17 година
Michael Brown
13137a4d61
t5x9 code relies on nic->ioaddr being set
пре 17 година
Michael Brown
62548c9f0d
Updated 3c509 to current device model
пре 17 година
Michael Brown
520d9c36af
Updated ISAPnP, EISA, MCA and ISA buses to current device model.
ISA 3c509 is currently non-functional, although the EISA (3c509-eisa) and
MCA (3c529) variants should build OK.
None of this code is yet tested.
пре 17 година
Marty Connor
f079865606
Start a new release notes file (RELNOTES) in preparation for release
пре 17 година
Marty Connor
c5ccbf9d77
Start a new LOG file in preparation for release
пре 17 година
Marty Connor
b5e4ef2334
Update non-GPL licensed files for gPXE
пре 17 година
Marty Connor
13c1689cc7
Remove outdated web files
пре 17 година
Marty Connor
6991ea7cc5
Add gpxe-tarball target to create clean release tarballs
пре 17 година
Marty Connor
969642dca6
Add warning about formats that are not working until we fix them
пре 17 година