Michael Brown
89349d7fad
Separated out initialisation functions from startup/shutdown functions.
17 gadus atpakaļ
Marty Connor
9b3c4e4d79
Warnings purge: src/arch/i386, src/core/disk.c, ramdisk, autoboot
17 gadus atpakaļ
Michael Brown
438d1cc0b9
Should be using the generic device probe mechanism, when (if) they
eventually get updated.
17 gadus atpakaļ
Michael Brown
fae10a7ca1
We don't actually use the reset functions anywhere, and nothing really
provides them.
17 gadus atpakaļ
Michael Brown
fd86c819ba
Use a linker-table based system to automatically mark and start up
permanent processes, rather than requiring each one to have its own
initialisation function.
17 gadus atpakaļ
Marty Connor
bf871c4d03
Warnings purge of src/core
17 gadus atpakaļ
Michael Brown
15f8323055
Removing obsolete files.
17 gadus atpakaļ
Michael Brown
8f6a4e8140
Add gdbsym.c object to help with running gdb-to-qemu
17 gadus atpakaļ
Michael Brown
dffdc285b3
Obsoleted by downloader.c
17 gadus atpakaļ
Michael Brown
f13baeb330
Added missing config.[ch] lines for FTP protocol
17 gadus atpakaļ
Michael Brown
6209d20779
Added monojob controller in lieu of a full working shell.
17 gadus atpakaļ
Michael Brown
73fe1ba9dd
Kill off job::start() (it was only ever added as part of an aborted
attempt at triggering TCP-related protocols to start).
17 gadus atpakaļ
Michael Brown
07dc294de8
Update DHCP to use data-xfer interface (not yet tested).
17 gadus atpakaļ
Michael Brown
f77815f2b1
Kill off hotplug.h and just make net devices normal reference-counted
structures.
DHCP still broken and #if 0'd out.
17 gadus atpakaļ
Michael Brown
4f309ff0c7
Treat URIs opened via xfer_open() and friends as relative to the
current working URI.
17 gadus atpakaļ
Michael Brown
15dae1e042
Add concept of "current working URI".
17 gadus atpakaļ
Michael Brown
058b200529
Renamed _calloc() to zalloc(), ready to be used as a standalone function.
17 gadus atpakaļ
Michael Brown
95adce0ce1
Add concept of transfer metadata, to be used by UDP in order to
implement sendto()/recvfrom() equivalents.
17 gadus atpakaļ
Michael Brown
b256900d4f
Scripts temporarily deregister themselves while executing. This
allows us to avoid execution loops without having to hack around the
image registration order.
17 gadus atpakaļ
Michael Brown
2c569fb240
Allow xfer_open() to take a struct uri as well as a URI string.
17 gadus atpakaļ
Michael Brown
7c8cc3ef6c
Use standard xfer_open() argument list for downloader instantiator
17 gadus atpakaļ
Michael Brown
08e286714f
Add reference counting to register/unregister procedure.
17 gadus atpakaļ
Michael Brown
6a5cc3533f
Added missing va_end()
17 gadus atpakaļ
Michael Brown
a6f0a098da
Add facility for resolving base+relative URIs (and paths).
17 gadus atpakaļ
Michael Brown
182e3ed61d
Added dirname()
17 gadus atpakaļ
Michael Brown
816c8f3b89
Added [v]asprintf()
17 gadus atpakaļ
Michael Brown
335b99a39d
Move [v]ssnprintf() from iscsi.c into vsprintf.c; we need them
elsewhere as well.
17 gadus atpakaļ
Michael Brown
735e07268e
Update HTTP to use data-xfer interface.
17 gadus atpakaļ
Michael Brown
a6a18ae9af
Add xfer_[v]printf() functions.
17 gadus atpakaļ
Michael Brown
656485c1f1
Make URI structures reference-counted.
17 gadus atpakaļ
Michael Brown
63719deea9
Introduce name resolution interface and named socket opener.
17 gadus atpakaļ
Michael Brown
bc694ec768
Move increment/decrement debug messages to DBG2 level
17 gadus atpakaļ
Michael Brown
a1210e4fca
Eliminate PF_INET; just use the AF_INET from the struct sockaddr instead.
17 gadus atpakaļ
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 gadus atpakaļ
Michael Brown
3601103381
Modify process semantics; rescheduling is now automatic.
Add reference-counting to processes.
Add timer_running() test.
17 gadus atpakaļ
Michael Brown
6006bed530
Free I/O buffers when we are finished with them!
17 gadus atpakaļ
Michael Brown
54138f28f6
Use list_for_each_entry_safe() when flushing queue.
17 gadus atpakaļ
Michael Brown
5e25a89e74
Add local address to socket openers.
17 gadus atpakaļ
Michael Brown
7c0a069f42
Add explicit "freeing" debug messages.
17 gadus atpakaļ
Michael Brown
7d2535779c
Must request data before anything actually happens...
17 gadus atpakaļ
Michael Brown
b63b14ff32
Add debugging
17 gadus atpakaļ
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 gadus atpakaļ
Michael Brown
86a948ccbe
Added POSIX-style blocking I/O calls, for use by PXE TFTP API.
17 gadus atpakaļ
Michael Brown
59e738d756
Prefix all the open()-family routines with xfer_, to disambiguate them
from the normal POSIX-style open()
17 gadus atpakaļ
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 gadus atpakaļ
Michael Brown
5471bfbbbe
Data-transfer interface should now be functionally complete.
17 gadus atpakaļ
Michael Brown
53da1f1402
Initial sketch for a downloader object
17 gadus atpakaļ
Michael Brown
e3dcb9a1ad
Add start() event
Add "xfer" to all xfer functions and "job" to all job functions.
17 gadus atpakaļ
Michael Brown
a90a9adbd7
Clarify behaviour of plug() by using intf_put() and intf_get().
17 gadus atpakaļ
Michael Brown
31f1bf4426
D'oh
17 gadus atpakaļ