Michael Brown
75430e813e
Only need printf(), so use vsprintf.h instead of console.h
2006-12-20 05:33:12 +00:00
Michael Brown
2b97d2ebc5
8-bit integers are 1 byte long, not 8...
2006-12-20 05:04:17 +00:00
Michael Brown
e4f489636f
Clear message on alert row before printing new one
2006-12-20 05:03:55 +00:00
Michael Brown
b93ff48173
Added descriptive text for settings and setting types, and display it in
...
the option config UI.
2006-12-20 04:58:26 +00:00
Michael Brown
35edecac34
Move {show,set,clear}_setting() to {show,set,clear}_named_setting().
...
Introduce new {show,set,clear}_setting() that take a struct setting *
rather than a const char *.
set_setting() handles calling clear_setting() when appropriate, so that
individual setting types don't have to check for empty strings.
2006-12-20 04:20:13 +00:00
Michael Brown
fc7dcc201b
Added messages for some of the most common errors
2006-12-20 03:54:20 +00:00
Michael Brown
7766e34ed1
Split strerror() out from errno.c
2006-12-20 03:49:36 +00:00
Michael Brown
65e97c4f22
Alert when saving settings fails
2006-12-20 03:43:24 +00:00
Michael Brown
4b33c03942
Increase colour pair limit
2006-12-20 03:42:35 +00:00
Michael Brown
c66b99272f
Fix (hopefully) the scrolling logic
2006-12-20 03:41:55 +00:00
Michael Brown
84a2b886e1
Split error-message table portions of errno.h out to gpxe/errortab.h
2006-12-20 03:40:48 +00:00
Michael Brown
e5f0898f38
Move strerror() prototype to string.h, where it belongs
2006-12-20 03:35:49 +00:00
Michael Brown
04da3556f9
Differentiate between ENOSPC and ENOMEM
2006-12-20 03:34:27 +00:00
Michael Brown
4f506328ad
Use -ENOSPC rather than -ENOMEM, to distinguish the cases "generic out of
...
memory" and "no space left for DHCP options"
2006-12-20 03:33:37 +00:00
Michael Brown
637a891264
Fix prototype of sleep() and move it to unistd.h
2006-12-20 03:14:59 +00:00
Michael Brown
1e322d4b4c
Add (partly-functional) user interface for editing configuration settings
2006-12-20 03:04:07 +00:00
Michael Brown
3e0f7621eb
Don't automatically redraw the edit box; this allows better inheritance.
2006-12-20 02:09:41 +00:00
Michael Brown
35dcbfe771
Editable text box widget based on mucurses and edit_string.
2006-12-20 01:40:57 +00:00
Michael Brown
82ec3fc5cc
Reset screen on exit as well as entry
2006-12-20 01:30:40 +00:00
Michael Brown
24f945edce
Add "exit --help" to preempt the pedants.
2006-12-20 00:44:16 +00:00
Michael Brown
d7cffd33e1
Remove obsolete mechanism for including nvo_cmd.o
2006-12-20 00:39:52 +00:00
Michael Brown
ec5789bf0c
Select required commands via config.h
2006-12-20 00:39:06 +00:00
Michael Brown
9f953322a1
Remove warning (at least on platforms with uint32_t == unsigned long).
2006-12-20 00:34:53 +00:00
Michael Brown
a1685cb3e2
Move nvo_cmd.c to hci/commands.
2006-12-20 00:31:34 +00:00
Michael Brown
4d0d275ce4
Functionality now replaced by a combination of readline() and system().
2006-12-20 00:27:11 +00:00
Michael Brown
38ad706b08
Use new minimal shell
2006-12-20 00:26:01 +00:00
Michael Brown
4919646fb9
Separated out (and tidied up) shell banner code
2006-12-20 00:24:13 +00:00
Michael Brown
a2c5744daf
Minimal shell implementation using readline() and system().
2006-12-19 23:55:05 +00:00
Michael Brown
a646e38f03
Use stdlib.h for malloc() instead of malloc.h.
2006-12-19 23:42:46 +00:00
Michael Brown
b613086bfe
Explicitly print out-of-memory message to avoid tricking the user into
...
thinking that a command executed successfully.
2006-12-19 23:37:51 +00:00
Michael Brown
22289ca8f6
Functioning readline()
2006-12-19 23:25:44 +00:00
Michael Brown
66007fa448
Provide an edit history to allow caller to efficiently update display.
2006-12-19 23:24:16 +00:00
Michael Brown
abbfbd678d
Explicitly move cursor to top-left of screen, in case the clear screen
...
call doesn't do it.
2006-12-19 22:37:12 +00:00
Michael Brown
b3c535e550
Skeletal (non-echoing) version of readline()
2006-12-19 22:35:10 +00:00
Michael Brown
19e1d674d3
Catch attempts to print NULL strings
2006-12-19 22:33:42 +00:00
Michael Brown
1bc3514bd8
Start of generic editable string support
2006-12-19 19:28:12 +00:00
Michael Brown
70d20c4e7a
Use common symbols to avoid dragging in getopt.o unless a getopt-using
...
command is linked in.
2006-12-19 16:27:15 +00:00
Michael Brown
c1bac56f85
Use current attributes when erasing.
2006-12-19 01:17:10 +00:00
Michael Brown
cdfe61662b
Assume a 24-line screen, since we can't (easily) avoid scrolling after
...
printing in the bottom-right position.
2006-12-19 01:16:43 +00:00
Michael Brown
0aa1223264
Optimise bios_putchar for speed(!) by avoiding two separate real-mode
...
calls. This does make a visible difference when clearing the screen with
werase() inside bochs or qemu.
2006-12-19 01:15:05 +00:00
Michael Brown
e85bf52446
Avoid cursor move on every single character
2006-12-19 00:51:32 +00:00
Michael Brown
8e460de6be
Obsolete, and no longer functions
2006-12-19 00:34:54 +00:00
Michael Brown
e7cc1c6c35
Use ANSI escape sequence to reset and clear terminal, rather than using
...
the (slow) werase().
2006-12-19 00:33:36 +00:00
Michael Brown
edbdce6e3d
Now basically functioning on ANSI-supporting consoles.
2006-12-19 00:27:25 +00:00
Michael Brown
09f9142cbf
Adjusted to use the normal internal mucurses API rather than accessing
...
stdscr directly.
2006-12-18 21:44:44 +00:00
Michael Brown
b6b36e8ac4
Remove more dynamic allocation
2006-12-18 21:28:35 +00:00
Michael Brown
04d15fb8f8
There seems to be no reason why pos_x is static...
2006-12-18 21:12:58 +00:00
Michael Brown
1f74fa2cad
Remove some unnecessary use of calloc() for tiny memory areas.
2006-12-18 21:11:30 +00:00
Michael Brown
ba26defa6e
Convert _{store,restore}_cursor_pos to static inlines.
2006-12-18 20:46:41 +00:00
Michael Brown
56970053f4
wmove() is part of the public curses API, and already defined in curses.h
2006-12-18 20:38:07 +00:00
Michael Brown
1755d8df7a
Renamed core.h to mucurses.h
2006-12-18 16:52:21 +00:00
Michael Brown
426e847c4c
Rename core.c->mucurses.c; bin/core.o is too generic to belong to mucurses.
2006-12-18 16:50:02 +00:00
Michael Brown
688eb60df4
Use int rather than short for bool; it will give more efficient code.
2006-12-18 16:48:09 +00:00
Michael Brown
2ed2b2efe8
Use iskey() and getchar() to interact with console, rather than object
...
abstraction.
2006-12-18 16:46:25 +00:00
Michael Brown
a497e16767
The "increment MAC address by port number" hack applies only to EF1.
2006-12-18 15:28:34 +00:00
Michael Brown
530bbf7cca
Print welcome banner in bold (which will come out as bright white text
...
on the BIOS console, or genuine bold font on a xterm "serial" console),
just to prove the concept of the ANSI escape sequence handling.
2006-12-18 01:31:33 +00:00
Michael Brown
8b3a4c9862
Add basic ANSI escape sequence support to BIOS console
2006-12-18 01:19:38 +00:00
Michael Brown
1cd45decc4
Added support for interpreting ANSI escape sequences on behalf of
...
non-ANSI-capable consoles.
2006-12-18 00:01:30 +00:00
Michael Brown
8a45f619a9
Fix building on gas versions that don't auto-insert addr32 prefixes
2006-12-12 19:07:18 +00:00
Michael Brown
a39b111684
Automatically select between the "10" and "16" variants of command set,
...
based on the device size.
2006-12-12 18:54:35 +00:00
Michael Brown
3bd7e479a2
Catch SCSI errors, and work around the start-of-day CHECK CONDITION
...
that some targets send.
2006-12-12 18:18:54 +00:00
Michael Brown
c0ec119ede
Typo
2006-12-12 16:18:42 +00:00
Michael Brown
04c09823bd
Request all the options that we're prepared to do anything with.
2006-12-12 16:18:20 +00:00
Michael Brown
240c9512bb
Added "clear" command
2006-12-12 15:52:19 +00:00
Michael Brown
007ca97f25
Added clear_setting()
2006-12-12 15:49:46 +00:00
Michael Brown
0a26cd2933
Cope with system("").
2006-12-08 17:07:12 +00:00
Michael Brown
69b9048e1a
Added "priority" and "root-path" options
2006-12-08 16:30:14 +00:00
Michael Brown
72b1629cee
Add placeholder ibft.h
2006-12-08 16:16:21 +00:00
Michael Brown
9aa3e10d7c
Use root-path option (as per RFC 4173) rather than filename option to
...
determine iSCSI boot parameters.
2006-12-08 15:53:49 +00:00
Michael Brown
a1af111a87
Also request root-path.
2006-12-08 15:49:46 +00:00
Michael Brown
c343a3a8ee
Including the final (char *)NULL is the responsibility of the caller
...
of execl().
2006-12-08 09:15:12 +00:00
Michael Brown
a77b32aaf6
D'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh
2006-12-08 03:07:15 +00:00
Michael Brown
cc697eeb1f
Added "exit" back in as a standardised command.
2006-12-08 01:40:06 +00:00
Michael Brown
7de5d32ff5
cmdlinelib.c now calls system() rather than doing its own tokenisation
...
(which was extremely heavy on calls to malloc()).
Moved include/command.h to include/gpxe/command.h, since it's
gPXE-specific.
2006-12-08 01:26:11 +00:00
Michael Brown
f3d817d512
Added execv() and system().
2006-12-08 01:23:11 +00:00
Michael Brown
e106a39ce8
Added missing include of stdint.h
2006-12-08 01:21:13 +00:00
Michael Brown
496563071d
Added strdup()
2006-12-08 00:34:47 +00:00
Michael Brown
1e4a838f55
Added missing prototype
2006-12-08 00:21:08 +00:00
Michael Brown
be0cd1cddd
Added a functional version of getopt() and getopt_long(), ready for use
...
in our commands.
2006-12-07 03:54:57 +00:00
Michael Brown
29db66fb51
Add support for non-volatile stored options in the RTL8139 EEPROM.
2006-12-06 20:45:44 +00:00
Michael Brown
2863d1a1de
inet_aton() has a non-traditional return value
2006-12-06 20:44:29 +00:00
Michael Brown
38ae94f8ce
A cleaner method of handling login redirection; just use the existing
...
reconnection mechanism. This avoids the problems of trying to reuse
the TCP connection structure before the old connection has cleanly exited.
2006-12-06 19:53:56 +00:00
Michael Brown
d2bf7abe75
Added write support for three-wire devices (e.g. the RTL8139 EEPROM)
2006-12-06 19:51:58 +00:00
Michael Brown
ac401f481d
Verify data after writing
2006-12-06 18:51:31 +00:00
Michael Brown
5edb85c8b4
Work around another confused-by-RST bug
2006-12-06 18:09:33 +00:00
Michael Brown
d88832ad7e
Support PXE and iSCSI by default
2006-12-05 23:26:07 +00:00
Michael Brown
b9f9230661
Work around another instance of the port re-use bug.
2006-12-05 23:15:35 +00:00
Michael Brown
8c3d09c564
Tweaked retry messages
2006-12-05 23:12:54 +00:00
Michael Brown
9600af14a3
Added debug messages
2006-12-05 22:53:49 +00:00
Michael Brown
cc0b92652f
Call closed() method only when the connection is genuinely in the
...
TCP_CLOSED state (i.e. after the final FIN/ACK exchange), and has been
removed from the list of TCP connections.
2006-12-05 22:53:28 +00:00
Michael Brown
fcc70c9d60
Ensure that tcp_rx() always frees its received packet buffer.
2006-12-05 21:23:23 +00:00
Michael Brown
28c711b91d
Killed off spurious <stdio.h> inclusion
2006-12-05 21:16:52 +00:00
Michael Brown
3fbfbad0f7
Avoid calling NULL methods!
2006-12-05 21:09:37 +00:00
Michael Brown
89bcb57201
Update ftp.c to work with Nikhil's TCP stack.
...
Remove the now-totally-obsolete sockaddr_in field from tcp.h.
2006-12-05 19:07:47 +00:00
Michael Brown
a128b33b8b
The VPD engine is broken and can't actually handle placing VPD
...
anywhere other than offset 0 within the EEPROM, so we have to put our
settings at 0x100 instead.
2006-12-05 17:56:13 +00:00
Michael Brown
4c3e0fede5
Adjust EEPROM/flash detection to fit expected manufacturing practice.
2006-12-05 16:00:06 +00:00
Michael Brown
6a91a03409
Added options listed in
...
http://www.microsoft.com/whdc/winlogo/hwrequirements.mspx as required
for iSCSI boot. Note that options 204-206 are listed in the document
but don't seem to be defined anywhere on the web.
2006-12-05 15:40:28 +00:00
Michael Brown
c6060a8fea
Tidy up some more output. The command-line code needs some severe
...
overhauling, but this is not the time to do it.
2006-12-05 10:27:16 +00:00
Michael Brown
e852f8e504
Slightly tidied up console messages.
2006-12-05 10:14:58 +00:00
Michael Brown
cb883b3faf
Change some debugging messages to use DBG()
2006-12-05 10:01:00 +00:00