summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
...
* Do not hold self-references. This then avoids the problem of having toMichael Brown2007-05-154-25/+60
| | | | | | | | | 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.
* Data-transfer interface should now be functionally complete.Michael Brown2007-05-153-41/+182
|
* Initial sketch for a downloader objectMichael Brown2007-05-011-0/+276
|
* Add start() eventMichael Brown2007-05-012-34/+53
| | | | Add "xfer" to all xfer functions and "job" to all job functions.
* Clarify behaviour of plug() by using intf_put() and intf_get().Michael Brown2007-05-011-3/+2Star
|
* D'ohMichael Brown2007-04-301-2/+2
|
* Added plug_plug()Michael Brown2007-04-301-0/+15
|
* Add (and use) generic reference counter, to improve signal:noise ratioMichael Brown2007-04-304-42/+78
| | | | in code defining reference-counted objects.
* Skeleton job control interfaceMichael Brown2007-04-291-0/+77
|
* Add seek()Michael Brown2007-04-292-22/+79
| | | | Dehyphenate "data-transfer".
* Preliminary support for opening data-transfer interfacesMichael Brown2007-04-282-12/+208
|
* Added deliver-as-iobuf/deliver-as-raw concepts.Michael Brown2007-04-271-5/+58
|
* Initial sketch for the generic data-transfer interface.Michael Brown2007-04-272-0/+155
|
* hoffmeis: Preparations for syslog support (LOGSERVER in DHCP, linewiseAnselm Martin Hoffmeister2007-04-091-0/+4
| | | | output buffering defintions and the like)
* SSL requires inordinately large data storageMichael Brown2007-02-011-2/+2
|
* Split bootsector execution code out into bootsector.c.Michael Brown2007-01-291-0/+3
| | | | Added basic El Torito ISO image boot capability
* Keep HTTP progress updated, and display a progress indicator during theMichael Brown2007-01-291-1/+2
| | | | download
* Added async_block_progress() and default SIGUPDATE handler.Michael Brown2007-01-291-3/+58
|
* Moved most buffer debug messages to DBG2.Michael Brown2007-01-292-25/+63
| | | | | | | | | Make expand_buffer() a non-inline function, so that we can add debug messages. Expandable buffers now don't *always* round up to the next power of two. This allows e.g. loading a 137MB ISO image on a machine with only 256MB RAM...
* Avoid barfing on gcc's implicit memcpy()sMichael Brown2007-01-261-0/+20
|
* Move tolower() etc to ctype.h as per ISO CMichael Brown2007-01-261-0/+1
|
* Zeroing out memory before using it can be so important.Michael Brown2007-01-191-0/+1
|
* Actually, it's probably safer *not* to leave child processes hangingMichael Brown2007-01-191-9/+8Star
| | | | around which still hold pointers to variables belonging to our parent...
* Note that the SIGCHLD handler could be re-entered.Michael Brown2007-01-191-1/+7
|
* Propagate return status code from last child to fail.Michael Brown2007-01-191-1/+1
|
* Split random number generation out into core/random.c, and create theMichael Brown2007-01-192-18/+38
| | | | correct prototypes for srandom(), rand() and srand().
* vsprintf.h is gPXE-specific; move it to include/gpxeMichael Brown2007-01-191-1/+1
|
* Use stdio.h instead of vsprintf.hMichael Brown2007-01-196-5/+6
|
* A working name resolution frameworkMichael Brown2007-01-181-16/+117
|
* When an async operation dies, orphan its children.Michael Brown2007-01-181-35/+74
|
* Move include/malloc.h to include/gpxe/malloc.h, since everything in thereMichael Brown2007-01-182-2/+11
| | | | | | | is now gPXE-specific. (The standard malloc() et al have been in stdlib.h for a while). Add free memory counter.
* Allow buffers to be pre-expanded on demand.Michael Brown2007-01-181-5/+1Star
|
* Reorder functions to more closely reflect the flow of controlMichael Brown2007-01-181-47/+50
|
* Don't always zero memory in malloc(). This saves around 2us on aMichael Brown2007-01-181-2/+17
| | | | full-length PKB allocation.
* Replacement for fetch() which operates asynchronously and identifiesMichael Brown2007-01-181-0/+172
| | | | protocols by URI scheme.
* Added async_uninit() to simplify failure paths.Michael Brown2007-01-181-0/+36
|
* Add utility function to parse port from URIMichael Brown2007-01-181-0/+11
|
* ObsoleteMichael Brown2007-01-182-1308/+0Star
|
* Rename e{malloc,realloc,free} to u{malloc,realloc,free}, to more obviouslyMichael Brown2007-01-162-4/+3Star
| | | | | reflect the fact that they allocate and deallocate user memory (i.e. things reached through a userptr_t).
* Gave asynchronous operations approximate POSIX signal semantics. ThisMichael Brown2007-01-151-17/+309
| | | | | | | | | | | will enable us to cascade async operations, which is necessary in order to properly support DNS. (For example, an HTTP request may have to redirect to a new location and will have to perform a new DNS lookup, so we can't just rely on doing the name lookup at the time of parsing the initial URL). Anything other than HTTP is probably broken right now; I'll fix the others up asap.
* Add missing includeMichael Brown2007-01-151-0/+1
|
* Added a URI parser that should be standards conformant. (It can certainlyMichael Brown2007-01-151-0/+161
| | | | | | handle something as convoluted as ftp://joe:secret@insecure.org:8081/hidden/path/to?what=is#this
* Once image type has been set, do not autoprobe furtherMichael Brown2007-01-141-0/+5
|
* Allow load() and exec() methods to be NULL.Michael Brown2007-01-141-0/+9
|
* Placeholder bzImage supportMichael Brown2007-01-141-0/+3
|
* Do not go past the end of the argv[] array.Michael Brown2007-01-141-0/+4
| | | | This bug found by setting read and write watchpoints at NULL in bochs.
* Call hide_etherboot() from startup(), rather than requiring the prefix toMichael Brown2007-01-141-2/+5
| | | | do it.
* Make shutdown functions callable by OS image's exec methods.Michael Brown2007-01-142-349/+28Star
|
* Rename "boot" to "autoboot"Michael Brown2007-01-141-2/+2
|
* I prefer IMAGE_XXX to XXX_IMAGE.Michael Brown2007-01-131-11/+11
| | | | | Add IMAGE_PXE to use the new image format framework. "kernel pxelinux.0" now works.