Michael Brown
2c569fb240
Allow xfer_open() to take a struct uri as well as a URI string.
17 years ago
Michael Brown
1ae549b892
Add our own trivial version of stdarg.h. This makes our build
entirely self-hosted (which avoids problems when building the same
tree on multiple systems - e.g. when you have /home NFS-mounted).
Also saves around 50 bytes in total - not sure why.
17 years ago
Michael Brown
7c8cc3ef6c
Use standard xfer_open() argument list for downloader instantiator
17 years ago
Michael Brown
08e286714f
Add reference counting to register/unregister procedure.
17 years ago
Marty Connor
8c25ea0970
Updated email mdc's email address
17 years ago
Michael Brown
ff84a66c35
Conflicts with native asn1.c
17 years ago
Michael Brown
b7ccdb7948
Add a couple of tests for the URI parsing and resolving code.
17 years ago
Michael Brown
6a5cc3533f
Added missing va_end()
17 years ago
Michael Brown
a6f0a098da
Add facility for resolving base+relative URIs (and paths).
17 years ago
Michael Brown
182e3ed61d
Added dirname()
17 years ago
Michael Brown
816c8f3b89
Added [v]asprintf()
17 years ago
Michael Brown
335b99a39d
Move [v]ssnprintf() from iscsi.c into vsprintf.c; we need them
elsewhere as well.
17 years ago
Michael Brown
4ccd1e8198
Should call ftp_done() if constructor fails.
17 years ago
Michael Brown
735e07268e
Update HTTP to use data-xfer interface.
17 years ago
Michael Brown
0dfd5b84fd
Updated FTP to use data-xfer API.
17 years ago
Michael Brown
a6a18ae9af
Add xfer_[v]printf() functions.
17 years ago
Michael Brown
3acd51597a
Add sanity check and extra debug message
17 years ago
Michael Brown
656485c1f1
Make URI structures reference-counted.
17 years ago
Michael Brown
63719deea9
Introduce name resolution interface and named socket opener.
17 years ago
Michael Brown
bc694ec768
Move increment/decrement debug messages to DBG2 level
17 years ago
Michael Brown
1311b4194c
Eliminate PF_INET; just use the AF_INET from the struct sockaddr instead.
17 years ago
Michael Brown
a1210e4fca
Eliminate PF_INET; just use the AF_INET from the struct sockaddr instead.
17 years ago
Michael Brown
070c55a838
Added EPIPE description.
17 years ago
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 years ago
Michael Brown
10d0a1f8c7
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 years ago
Michael Brown
3601103381
Modify process semantics; rescheduling is now automatic.
Add reference-counting to processes.
Add timer_running() test.
17 years ago
Michael Brown
6006bed530
Free I/O buffers when we are finished with them!
17 years ago
Michael Brown
1136c19fa4
Updated tcp.c to provide a standardised data transfer interface.
17 years ago
Michael Brown
54138f28f6
Use list_for_each_entry_safe() when flushing queue.
17 years ago
Michael Brown
5e25a89e74
Add local address to socket openers.
17 years ago
Michael Brown
776357214e
Rename pkbpad.c to iobpad.c
17 years ago
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 years ago
Michael Brown
7c0a069f42
Add explicit "freeing" debug messages.
17 years ago
Michael Brown
7d2535779c
Must request data before anything actually happens...
17 years ago
Michael Brown
b63b14ff32
Add debugging
17 years ago
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 years ago
Michael Brown
23008b9326
Updated to use POSIX-style file I/O layer.
17 years ago
Michael Brown
86a948ccbe
Added POSIX-style blocking I/O calls, for use by PXE TFTP API.
17 years ago
Michael Brown
6b6fc1d5ea
Allow construction of PXE status code from internal error number.
17 years ago
Michael Brown
59e738d756
Prefix all the open()-family routines with xfer_, to disambiguate them
from the normal POSIX-style open()
17 years ago
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 years ago
Michael Brown
5471bfbbbe
Data-transfer interface should now be functionally complete.
17 years ago
Michael Brown
817a446cc6
Add always_inline attribute to force gcc to inline single-instruction
functions.
17 years ago
Michael Brown
123a98db26
Added (non-functional) reference count to struct image
17 years ago
Michael Brown
53da1f1402
Initial sketch for a downloader object
17 years ago
Michael Brown
e3dcb9a1ad
Add start() event
Add "xfer" to all xfer functions and "job" to all job functions.
17 years ago
Michael Brown
a90a9adbd7
Clarify behaviour of plug() by using intf_put() and intf_get().
17 years ago
Michael Brown
7ff81f6654
Document the fact that a zeroed-out refcounted object will behave in
the most generally useful way.
17 years ago
Michael Brown
31f1bf4426
D'oh
17 years ago
Michael Brown
0898b0b3b1
Added plug_plug()
17 years ago