feb4f65d1e
Use auto-colourisation for debug messages.
Michael Brown
2006-12-29 14:03:03 +00:00
2494625702
Added auto-colourising DBGC() macro
Michael Brown
2006-12-29 03:05:21 +00:00
ce9819af27
Redefine TCP state to include "flags that have been sent" rather than "flags that are currently being sent". This allows at least one special case (checking that we haven't already sent a FIN in tcp_rx_fin()) to be collapsed.
Michael Brown
2006-12-29 00:44:31 +00:00
be31970e36
Don't send a second FIN if we receive a FIN while in FIN_WAIT_2
Michael Brown
2006-12-27 23:44:05 +00:00
61ed298bc7
Merge changes from mcb-tcp-fixes branch.
Michael Brown
2006-12-27 23:09:46 +00:00
b6def29f2b
Keep running the main processing loop while waiting for input.
Michael Brown
2006-12-27 22:59:40 +00:00
1a11cc5c5b
Added times to start/stop log messages
Michael Brown
2006-12-27 22:56:39 +00:00
4cc1c1bd4c
Ensure that old TCP connection state is destroyed before attempting to reopen connection. (The TCP API will soon change to render this step unnecessary.)
Michael Brown
2006-12-22 13:04:50 +00:00
a2e3357825
Cannot immediately overwrite the peer address when we parse TargetAddress from the login response, because we still need the old address while we close the connection!
Michael Brown
2006-12-22 12:24:12 +00:00
73e3e02367
Fix prototype of random() and move to stdlib.h
Michael Brown
2006-12-22 01:44:51 +00:00
66a7ed23cb
Make start_timer() and stop_timer() robust against incorrect usage.
Michael Brown
2006-12-22 01:35:21 +00:00
9485478acc
ibft_fill_data() prototype change.
Michael Brown
2006-12-21 18:42:51 +00:00
d6f9152bfa
Avoid null pointer dereferences when no username/password specified.
Michael Brown
2006-12-21 18:38:24 +00:00
6ceb55fad0
When login fails, leave the session open but not in full feature phase. In iscsi_issue(), detect this state and immediately refuse the operation. This avoids trying multiple logins when scsi.c tries several times to read the drive capacity.
Michael Brown
2006-12-21 17:43:43 +00:00
024809d454
Use a bigger buffer for the initiator IQN
Michael Brown
2006-12-21 17:42:02 +00:00
ab242a760d
Add ability to shut down iSCSI connection
Michael Brown
2006-12-21 17:17:47 +00:00
7ce3df65c2
Default to port 0 (sic).
Michael Brown
2006-12-21 17:16:06 +00:00
286db6ffa3
Print explicit error message on iSCSI boot failure, and add "Permission denied" as an error text to strerror().
Michael Brown
2006-12-21 16:16:24 +00:00
fbc7b4dfa8
Add iSCSI initiator IQN as a setting
Michael Brown
2006-12-21 16:08:37 +00:00
f58f193633
Engage brain: since when was zero >= 0x80 ?
Michael Brown
2006-12-21 05:15:26 +00:00
9c3b4e5b0b
Some BIOSes return 0xe0 for extended characters. Just assume that anything over 0x80 is an extended character.
Michael Brown
2006-12-21 00:07:48 +00:00
839d425c6e
Added missing header
Michael Brown
2006-12-20 23:43:44 +00:00
dbb7b30cca
Return ANSI sequences for special keys
Michael Brown
2006-12-20 23:42:28 +00:00
f33a03c1e5
Use getkey() and symbolic key names.
Michael Brown
2006-12-20 22:25:54 +00:00
cacd6b1d04
KEY_XXX constants are now defined in gpxe/keys.h. Kept separate from curses.h so that you don't have to suffer the curses namespace pollution just to get the symbolic key names.
Michael Brown
2006-12-20 22:24:45 +00:00
4b2b8b02ab
Use symbolic key names, and avoid moving beyond end of string
Michael Brown
2006-12-20 22:21:09 +00:00
46c3eeba2a
Fix definition of KEY_END
Michael Brown
2006-12-20 22:17:44 +00:00
c5df1bc7df
Use getkey() and symbolic key names.
Michael Brown
2006-12-20 22:12:53 +00:00
ae728f8d23
Some key sequences seem to end with a tilde
Michael Brown
2006-12-20 22:12:25 +00:00
2ae27f44d9
Add insert/delete and document keys, and documentation.
Michael Brown
2006-12-20 22:11:28 +00:00
791c7d3bf4
Added code to interpret ANSI keypress sequences into KEY_XXX constants.
Michael Brown
2006-12-20 21:56:50 +00:00
96a1a2c6f0
Key definitions
Michael Brown
2006-12-20 21:53:07 +00:00
b9f8599537
Define KEY_MIN and use it in kb.c.
Michael Brown
2006-12-20 21:10:32 +00:00
43d976edd0
Prevent NULL from ever pointing to some real code or data. (This was causing the serial console to ignore input, because it happened to end up linked with serial_ischar() at address 0, which core/console.c decided was invalid).
Michael Brown
2006-12-20 20:28:20 +00:00
6ceaa158da
Return -EIO when verification fails, instead of -EINVAL.
Michael Brown
2006-12-20 14:11:50 +00:00
cbeec25662
settings_ui() now returns a status code.
Michael Brown
2006-12-20 11:42:48 +00:00
07ddaedd33
Add EIO.
Michael Brown
2006-12-20 07:57:40 +00:00
60a3f77711
Close UDP connection when DHCP completes.
Michael Brown
2006-12-20 07:19:48 +00:00
c21502acad
No longer needed
Michael Brown
2006-12-20 07:13:46 +00:00
a6d1815bc6
Obsolete for some time now.
Michael Brown
2006-12-20 07:05:32 +00:00
84202d89f0
Split the (quick hack) boot logic out from main.c to autoboot.c, add a "boot" command to attempt booting from within the command shell, fall back to shell if boot fails for any reason.
Michael Brown
2006-12-20 07:04:08 +00:00
9ab17484d0
Explicitly call erase(), to cope with platforms where the ANSI clear screen sequence doesn't work (like bios_console.c on some platforms).
Michael Brown
2006-12-20 06:12:04 +00:00
f8910410fe
Add attr_{get,set,on,off} as static inlines.
Michael Brown
2006-12-20 06:06:38 +00:00
8f9336e0c1
Add "config" command to access config UI
Michael Brown
2006-12-20 05:37:33 +00:00
666b309c0c
Add instruction row, and save option
Michael Brown
2006-12-20 05:37:15 +00:00
75430e813e
Only need printf(), so use vsprintf.h instead of console.h
Michael Brown
2006-12-20 05:33:12 +00:00
2b97d2ebc5
8-bit integers are 1 byte long, not 8...
Michael Brown
2006-12-20 05:04:17 +00:00
e4f489636f
Clear message on alert row before printing new one
Michael Brown
2006-12-20 05:03:55 +00:00
b93ff48173
Added descriptive text for settings and setting types, and display it in the option config UI.
Michael Brown
2006-12-20 04:58:26 +00:00
35edecac34
Move {show,set,clear}_setting() to {show,set,clear}_named_setting().
Michael Brown
2006-12-20 04:20:13 +00:00
fc7dcc201b
Added messages for some of the most common errors
Michael Brown
2006-12-20 03:54:20 +00:00
7766e34ed1
Split strerror() out from errno.c
Michael Brown
2006-12-20 03:49:36 +00:00
65e97c4f22
Alert when saving settings fails
Michael Brown
2006-12-20 03:43:24 +00:00
4b33c03942
Increase colour pair limit
Michael Brown
2006-12-20 03:42:35 +00:00
c66b99272f
Fix (hopefully) the scrolling logic
Michael Brown
2006-12-20 03:41:55 +00:00
84a2b886e1
Split error-message table portions of errno.h out to gpxe/errortab.h
Michael Brown
2006-12-20 03:40:48 +00:00
e5f0898f38
Move strerror() prototype to string.h, where it belongs
Michael Brown
2006-12-20 03:35:49 +00:00
04da3556f9
Differentiate between ENOSPC and ENOMEM
Michael Brown
2006-12-20 03:34:27 +00:00
4f506328ad
Use -ENOSPC rather than -ENOMEM, to distinguish the cases "generic out of memory" and "no space left for DHCP options"
Michael Brown
2006-12-20 03:33:37 +00:00
637a891264
Fix prototype of sleep() and move it to unistd.h
Michael Brown
2006-12-20 03:14:59 +00:00
1e322d4b4c
Add (partly-functional) user interface for editing configuration settings
Michael Brown
2006-12-20 03:04:07 +00:00
3e0f7621eb
Don't automatically redraw the edit box; this allows better inheritance.
Michael Brown
2006-12-20 02:09:41 +00:00
35dcbfe771
Editable text box widget based on mucurses and edit_string.
Michael Brown
2006-12-20 01:40:57 +00:00
82ec3fc5cc
Reset screen on exit as well as entry
Michael Brown
2006-12-20 01:30:40 +00:00
24f945edce
Add "exit --help" to preempt the pedants.
Michael Brown
2006-12-20 00:44:16 +00:00
d7cffd33e1
Remove obsolete mechanism for including nvo_cmd.o
Michael Brown
2006-12-20 00:39:52 +00:00
ec5789bf0c
Select required commands via config.h
Michael Brown
2006-12-20 00:39:06 +00:00
9f953322a1
Remove warning (at least on platforms with uint32_t == unsigned long).
Michael Brown
2006-12-20 00:34:53 +00:00
a1685cb3e2
Move nvo_cmd.c to hci/commands.
Michael Brown
2006-12-20 00:31:34 +00:00
4d0d275ce4
Functionality now replaced by a combination of readline() and system().
Michael Brown
2006-12-20 00:27:11 +00:00
38ad706b08
Use new minimal shell
Michael Brown
2006-12-20 00:26:01 +00:00
4919646fb9
Separated out (and tidied up) shell banner code
Michael Brown
2006-12-20 00:24:13 +00:00
a2c5744daf
Minimal shell implementation using readline() and system().
Michael Brown
2006-12-19 23:55:05 +00:00
a646e38f03
Use stdlib.h for malloc() instead of malloc.h.
Michael Brown
2006-12-19 23:42:46 +00:00
b613086bfe
Explicitly print out-of-memory message to avoid tricking the user into thinking that a command executed successfully.
Michael Brown
2006-12-19 23:37:51 +00:00
22289ca8f6
Functioning readline()
Michael Brown
2006-12-19 23:25:44 +00:00
66007fa448
Provide an edit history to allow caller to efficiently update display.
Michael Brown
2006-12-19 23:24:16 +00:00
abbfbd678d
Explicitly move cursor to top-left of screen, in case the clear screen call doesn't do it.
Michael Brown
2006-12-19 22:37:12 +00:00
b3c535e550
Skeletal (non-echoing) version of readline()
Michael Brown
2006-12-19 22:35:10 +00:00
19e1d674d3
Catch attempts to print NULL strings
Michael Brown
2006-12-19 22:33:42 +00:00
1bc3514bd8
Start of generic editable string support
Michael Brown
2006-12-19 19:28:12 +00:00
70d20c4e7a
Use common symbols to avoid dragging in getopt.o unless a getopt-using command is linked in.
Michael Brown
2006-12-19 16:27:15 +00:00
c1bac56f85
Use current attributes when erasing.
Michael Brown
2006-12-19 01:17:10 +00:00
cdfe61662b
Assume a 24-line screen, since we can't (easily) avoid scrolling after printing in the bottom-right position.
Michael Brown
2006-12-19 01:16:43 +00:00
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.
Michael Brown
2006-12-19 01:15:05 +00:00
e85bf52446
Avoid cursor move on every single character
Michael Brown
2006-12-19 00:51:32 +00:00
8e460de6be
Obsolete, and no longer functions
Michael Brown
2006-12-19 00:34:54 +00:00
e7cc1c6c35
Use ANSI escape sequence to reset and clear terminal, rather than using the (slow) werase().
Michael Brown
2006-12-19 00:33:36 +00:00
edbdce6e3d
Now basically functioning on ANSI-supporting consoles.
Michael Brown
2006-12-19 00:27:25 +00:00
09f9142cbf
Adjusted to use the normal internal mucurses API rather than accessing stdscr directly.
Michael Brown
2006-12-18 21:44:44 +00:00
b6b36e8ac4
Remove more dynamic allocation
Michael Brown
2006-12-18 21:28:35 +00:00
04d15fb8f8
There seems to be no reason why pos_x is static...
Michael Brown
2006-12-18 21:12:58 +00:00
1f74fa2cad
Remove some unnecessary use of calloc() for tiny memory areas.
Michael Brown
2006-12-18 21:11:30 +00:00
ba26defa6e
Convert _{store,restore}_cursor_pos to static inlines.
Michael Brown
2006-12-18 20:46:41 +00:00
56970053f4
wmove() is part of the public curses API, and already defined in curses.h
Michael Brown
2006-12-18 20:38:07 +00:00
1755d8df7a
Renamed core.h to mucurses.h
Michael Brown
2006-12-18 16:52:21 +00:00
426e847c4c
Rename core.c->mucurses.c; bin/core.o is too generic to belong to mucurses.
Michael Brown
2006-12-18 16:50:02 +00:00
688eb60df4
Use int rather than short for bool; it will give more efficient code.
Michael Brown
2006-12-18 16:48:09 +00:00
2ed2b2efe8
Use iskey() and getchar() to interact with console, rather than object abstraction.
Michael Brown
2006-12-18 16:46:25 +00:00
a497e16767
The "increment MAC address by port number" hack applies only to EF1.
Michael Brown
2006-12-18 15:28:34 +00:00