Rename FH_BAD to FH_NADA throughout.

* devices.h (FH_ERROR): New value.
(iscons_dev): Extend to detect all the console device types.
* devices.in: Set aside storage for FH_ERROR.
* dtable.cc (dtable::init_std_file_from_handle): Use iscons_dev to detect when
device is a console.
(fh_alloc): Pass device to console constructor.
(build_fh_pc): Short circuit when we detect that the constructor saw an error.
* fhandler.h (fhandler_console::fhandler_console): Accept fh_devices parameter.
(get_tty_stuff): Change to void.
* fhandler_console (fhandler_console::set_unit): Set device to FH_ERROR on
attempt to access anything other than the current console.
(fhandler_console::get_tty_stuff): Change to void return.
(fhandler_console::open): Return EPERM on FH_ERROR device type.
(fhandler_console::fhandler_console): Set the device type appropriately before
calling get_tty_stuff and rely on that function to reset it if necessary.
This commit is contained in:
Christopher Faylor
2011-06-12 20:15:26 +00:00
parent 38e356f0e4
commit c3a9063f83
13 changed files with 79 additions and 27 deletions

View File

@@ -247,7 +247,8 @@ enum fh_devices
FH_STREAM = FHDEV (DEV_TCP_MAJOR, 121),
FH_DGRAM = FHDEV (DEV_TCP_MAJOR, 122),
FH_BAD = FHDEV (0, 0)
FH_NADA = FHDEV (0, 0),
FH_ERROR = FHDEV (255, 255) /* Set by fh constructor when error detected */
};
struct device
@@ -348,7 +349,11 @@ extern const device dev_fs_storage;
#define isvirtual_dev(devn) \
(isproc_dev (devn) || devn == FH_CYGDRIVE || devn == FH_NETDRIVE)
#define iscons_dev(n) (device::major (n) == DEV_CONS_MAJOR)
#define iscons_dev(n) \
((device::major ((int) (n)) == DEV_CONS_MAJOR) \
|| (((int) n) == FH_CONSOLE) \
|| (((int) n) == FH_CONIN) \
|| (((int) n) == FH_CONOUT))
#define istty_slave_dev(n) (device::major (n) == DEV_TTYS_MAJOR)
#endif /*_DEVICES_H*/