Michael Brown
5e4e267177
Start restructuring pxe_tftp.c to cope with multicast (MTFTP) receives.
17 년 전
Michael Brown
c9c8cdeb8b
Add pxe_set_cached_filename() so that pxe_tftp.c can also update the
stored DHCP packets.
17 년 전
Michael Brown
84f99f781e
Use XFER_INIT() macro.
17 년 전
Michael Brown
f6a8158eed
Make seek information part of the xfer metadata, rather than an entirely
separate xfer method.
Add missing .alloc_iob entries to several xfer_interface_operations
structures.
17 년 전
Michael Brown
1949641d10
Fix compiler warnings that appear only on OpenBSD.
17 년 전
Michael Brown
6b0e147e0d
Don't complain when callers provide too-short buffers for
PXENV_GET_CACHED_INFO. NTLDR does this.
17 년 전
Michael Brown
838ecba131
Provide individually cached constructed copies of DHCP packets via
PXENV_GET_CACHED_INFO. If we dont do this, Altiris' NBP screws up; it
relies on being able to grab pointers to each of the three packets and
then read them at will later.
17 년 전
Michael Brown
3a2473f123
Do not fill in the BufferLimit field in struct
s_PXENV_GET_CACHED_INFO, because this field doesn't exist in earlier
versions of the PXE spec, and some callers don't allocate space for it.
17 년 전
Michael Brown
950057eeed
Add PXE FILE API.
17 년 전
Michael Brown
07f84566d5
Make read_user() non-blocking, and add select() call.
17 년 전
Michael Brown
5e26df0325
Centralise construction of the DHCP request and response packets.
17 년 전
Michael Brown
9aa61ad5a2
Add per-file error identifiers
17 년 전
Michael Brown
b34d4d0449
Separate the "is data ready" function of xfer_seek() into an
xfer_window() function, which can return a scalar rather than a
boolean.
17 년 전
Michael Brown
ca4c6f9eee
Kill off unused request() method in data-xfer interface.
17 년 전
Michael Brown
4c418d2100
Use net_device_operations structure and netdev_nullify() to allow for
safe dropping of the netdev ref by the driver while other refs still
exist.
Add netdev_irq() method. Net device open()/close() methods should no
longer enable or disable IRQs.
Remove rx_quota; it wasn't used anywhere and added too much complexity
to implementing correct interrupt-masking behaviour in pxe_undi.c.
17 년 전
Michael Brown
539ff45fd0
Allow recording of TX and RX errors to aid in end-user debugging.
17 년 전
Michael Brown
0324d5ff70
!PXE and PXENV+ structures are in code segment, not data segment.
17 년 전
Michael Brown
dca470cb21
Add (untested) UNDI loader C-level implementation.
17 년 전
Michael Brown
89349d7fad
Separated out initialisation functions from startup/shutdown functions.
17 년 전
Michael Brown
5ce5e6d846
Move pxe_netdev and set_pxe_netdev to pxe_undi.c and remove
now-obsolete pxe.c.
17 년 전
Michael Brown
0924cf678e
Implemented (untested) PXENV_START_UNDI.
17 년 전
Michael Brown
30a442aef8
Report our interface type as "gPXE" to avoid working around Etherboot
5.4 bugs when driving ourselves via UNDI.
17 년 전
Michael Brown
1ce0b4bbfb
Kill off PXENV_UNDI_FORCE_INTERRUPT support; we have no reason to
suspect that we need it, and implementing it would require needlessly
complicating the net device API.
17 년 전
Michael Brown
5f92f0bd82
Reserve space for link-layer header in pxenv_undi_transmit() when not
handed a P_UNKNOWN packet.
17 년 전
Michael Brown
258afef751
Add missing call to free_iob() in pxenv_undi_isr().
Correct typo in pxenv_set_station_address().
17 년 전
Michael Brown
4968caab82
Add trivial net device statistics (TX and RX packet count), reported
via UNDI API and also by ifstat command; may be useful for debugging.
17 년 전
Michael Brown
cbd956535e
Place netdev_open()/netdev_close() calls in appropriate places.
17 년 전
Michael Brown
8f37a6a424
Add mechanism for providing TX completion events.
17 년 전
Michael Brown
332614a382
Add untested support for UNDI transmit and receive.
17 년 전
Michael Brown
e42eba4af4
Use a common base-memory packet buffer for DHCP construction (as used
by PXE and NBI) and UNDI packets (as used by undinet and UNDI).
17 년 전
Michael Brown
5f17089b14
pxe_netdev now holds a reference to the network device.
Use generic fields in struct device_description rather than assuming
that the struct device * is contained within a pci_device or
isapnp_device; this assumption is broken when using the undionly
driver.
Add PXENV_UNDI_SET_STATION_ADDRESS.
17 년 전
Michael Brown
e3bbfd7a75
Call shutdown() from pxenv_undi_shutdown(). Probably not totally
correct, but it's enough to get RIS working.
17 년 전
Michael Brown
4472e22b5e
Implement the two UNDI API calls used by RIS.
17 년 전
Michael Brown
d05d8edd42
Implement the "overwrite TFTP filename" Microsoft RIS bug workaround.
17 년 전
Michael Brown
8130443f9f
Separate out pxe_start_nbp() from pxe_image.c into pxe_call.c
Implement PXENV_RESTART_TFTP.
17 년 전
Michael Brown
9125070f51
I really, really screwed up the semantics of BufferSize and BufferLimit.
17 년 전
Michael Brown
40d6d3dcf4
Windows RIS now gets as far as downloading NTLDR.
17 년 전
Michael Brown
e381714c07
Partial migration of UDP to data-xfer interface. (Will not link at
present; DHCP is broken).
17 년 전
Michael Brown
01b4bde8a0
Updated TFTP and PXE UDP API code to use not-yet-implemented data-xfer
UDP API.
17 년 전
Michael Brown
23008b9326
Updated to use POSIX-style file I/O layer.
17 년 전
Michael Brown
5ff23aa406
Include stdlib.h rather than malloc.h
18 년 전
Michael Brown
a5a330339b
Split DBG() statement containing two inet_ntoa() statements; they
return a static buffer.
18 년 전
Michael Brown
ce7289a766
Dump buffer and packet information in PXENV_UDP_READ as well
18 년 전
Michael Brown
6dcb182aee
Fill in BufferSize in PXENV_GET_CACHED_INFO
18 년 전
Michael Brown
3b2f6e4585
Currently unusable; do not attempt to compile
18 년 전
Michael Brown
d4894f0127
We *should* use the persistent reference API for our netdev reference,
but there's so much else missing that it's not worth doing right now.
18 년 전
Michael Brown
84a2b886e1
Split error-message table portions of errno.h out to gpxe/errortab.h
18 년 전
Michael Brown
88e38fa148
We don't actually have a stdio.h header file. Our printf() functions are
defined in vsprintf.h. (This may change, since vsprintf.h is a
non-standard name, but for now it's the one to use.)
There should be no need to include vsprintf.h just for DBG() statements,
since include/compiler.h forces it in for a debug build anyway.
18 년 전
Marty Connor
6ac78f6aff
added stdio.h to includes for DBG compilation
18 년 전
Michael Brown
f018da8215
Implement enough of PXENV_GET_CACHED_INFO to support pxelinux.
18 년 전