Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog1925
-rw-r--r--winsup/cygwin/DevNotes385
-rw-r--r--winsup/cygwin/Makefile.in52
-rw-r--r--winsup/cygwin/advapi32.cc5
-rw-r--r--winsup/cygwin/child_info.h20
-rw-r--r--winsup/cygwin/cygheap.cc127
-rw-r--r--winsup/cygwin/cygheap.h103
-rw-r--r--winsup/cygwin/cygprops.h3
-rw-r--r--winsup/cygwin/cygserver_ipc.h5
-rw-r--r--winsup/cygwin/cygthread.cc2
-rw-r--r--winsup/cygwin/cygtls.cc161
-rw-r--r--winsup/cygwin/cygtls.h60
-rw-r--r--winsup/cygwin/cygwait.cc106
-rw-r--r--winsup/cygwin/cygwait.h60
-rw-r--r--winsup/cygwin/cygwin.din2
-rw-r--r--winsup/cygwin/cygwin.sc1
-rw-r--r--winsup/cygwin/dcrt0.cc72
-rw-r--r--winsup/cygwin/devices.cc15655
-rw-r--r--winsup/cygwin/devices.h81
-rw-r--r--winsup/cygwin/devices.in210
-rw-r--r--winsup/cygwin/dir.cc5
-rw-r--r--winsup/cygwin/dll_init.cc109
-rw-r--r--winsup/cygwin/dll_init.h1
-rw-r--r--winsup/cygwin/dtable.cc87
-rw-r--r--winsup/cygwin/dtable.h5
-rw-r--r--winsup/cygwin/environ.cc31
-rw-r--r--winsup/cygwin/exceptions.cc253
-rw-r--r--winsup/cygwin/external.cc9
-rwxr-xr-xwinsup/cygwin/fenv.cc6
-rw-r--r--winsup/cygwin/fhandler.cc20
-rw-r--r--winsup/cygwin/fhandler.h65
-rw-r--r--winsup/cygwin/fhandler_clipboard.cc190
-rw-r--r--winsup/cygwin/fhandler_console.cc185
-rw-r--r--winsup/cygwin/fhandler_dev.cc230
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc59
-rw-r--r--winsup/cygwin/fhandler_dsp.cc9
-rw-r--r--winsup/cygwin/fhandler_fifo.cc17
-rw-r--r--winsup/cygwin/fhandler_floppy.cc5
-rw-r--r--winsup/cygwin/fhandler_mem.cc4
-rw-r--r--winsup/cygwin/fhandler_nodevice.cc6
-rw-r--r--winsup/cygwin/fhandler_process.cc67
-rw-r--r--winsup/cygwin/fhandler_procnet.cc10
-rw-r--r--winsup/cygwin/fhandler_registry.cc3
-rw-r--r--winsup/cygwin/fhandler_serial.cc41
-rw-r--r--winsup/cygwin/fhandler_socket.cc90
-rw-r--r--winsup/cygwin/fhandler_tape.cc24
-rw-r--r--winsup/cygwin/fhandler_termios.cc18
-rw-r--r--winsup/cygwin/fhandler_tty.cc172
-rw-r--r--winsup/cygwin/fhandler_virtual.cc1
-rw-r--r--winsup/cygwin/fhandler_windows.cc62
-rw-r--r--winsup/cygwin/flock.cc318
-rw-r--r--winsup/cygwin/fork.cc116
-rwxr-xr-xwinsup/cygwin/gendef71
-rwxr-xr-xwinsup/cygwin/gendevices14
-rwxr-xr-xwinsup/cygwin/gentls_offsets4
-rw-r--r--winsup/cygwin/glob.cc3
-rw-r--r--winsup/cygwin/globals.cc42
-rw-r--r--winsup/cygwin/heap.cc11
-rw-r--r--winsup/cygwin/hires.h3
-rw-r--r--winsup/cygwin/hookapi.cc127
-rw-r--r--winsup/cygwin/include/cygwin/if.h2
-rw-r--r--winsup/cygwin/include/cygwin/in.h4
-rw-r--r--winsup/cygwin/include/cygwin/socket.h13
-rw-r--r--winsup/cygwin/include/cygwin/version.h6
-rw-r--r--winsup/cygwin/include/elf.h48
-rw-r--r--winsup/cygwin/include/inttypes.h183
-rw-r--r--winsup/cygwin/include/machine/elf.h117
-rw-r--r--winsup/cygwin/include/mntent.h1
-rw-r--r--winsup/cygwin/include/netdb.h5
-rw-r--r--winsup/cygwin/include/stdint.h132
-rw-r--r--winsup/cygwin/include/sys/elf.h41
-rw-r--r--winsup/cygwin/include/sys/elf32.h119
-rw-r--r--winsup/cygwin/include/sys/elf64.h114
-rw-r--r--winsup/cygwin/include/sys/elf_common.h1145
-rw-r--r--winsup/cygwin/include/sys/elf_generic.h53
-rw-r--r--winsup/cygwin/include/sys/termios.h6
-rw-r--r--winsup/cygwin/include/sys/wait.h6
-rw-r--r--winsup/cygwin/init.cc3
-rw-r--r--winsup/cygwin/kernel32.cc7
-rw-r--r--winsup/cygwin/lib/_cygwin_crt0_common.cc3
-rw-r--r--winsup/cygwin/lib/crt0.h2
-rw-r--r--winsup/cygwin/libc/inet_addr.c3
-rw-r--r--winsup/cygwin/libc/inet_network.c3
-rw-r--r--winsup/cygwin/libc/minires-os-if.c17
-rw-r--r--winsup/cygwin/libc/minires.h6
-rw-r--r--winsup/cygwin/libc/rcmd.cc1
-rw-r--r--winsup/cygwin/miscfuncs.cc2
-rw-r--r--winsup/cygwin/miscfuncs.h4
-rwxr-xr-xwinsup/cygwin/mkglobals_h4
-rw-r--r--winsup/cygwin/mmap.cc3
-rw-r--r--winsup/cygwin/mount.cc32
-rw-r--r--winsup/cygwin/mount.h4
-rw-r--r--winsup/cygwin/net.cc228
-rw-r--r--winsup/cygwin/ntdll.h93
-rw-r--r--winsup/cygwin/passwd.cc60
-rw-r--r--winsup/cygwin/path.cc517
-rw-r--r--winsup/cygwin/path.h5
-rw-r--r--winsup/cygwin/pinfo.cc97
-rw-r--r--winsup/cygwin/pinfo.h5
-rw-r--r--winsup/cygwin/pipe.cc27
-rw-r--r--winsup/cygwin/poll.cc4
-rw-r--r--winsup/cygwin/posix.sgml11
-rw-r--r--winsup/cygwin/posix_ipc.cc9
-rw-r--r--winsup/cygwin/pseudo-reloc.cc8
-rw-r--r--winsup/cygwin/regex/regcomp.c3
-rw-r--r--winsup/cygwin/registry.cc2
-rw-r--r--winsup/cygwin/release/1.7.10126
-rw-r--r--winsup/cygwin/release/1.7.1129
-rw-r--r--winsup/cygwin/sched.cc2
-rw-r--r--winsup/cygwin/sec_acl.cc8
-rw-r--r--winsup/cygwin/sec_helper.cc74
-rw-r--r--winsup/cygwin/security.cc14
-rw-r--r--winsup/cygwin/security.h21
-rw-r--r--winsup/cygwin/select.cc365
-rw-r--r--winsup/cygwin/select.h20
-rw-r--r--winsup/cygwin/shared.cc4
-rw-r--r--winsup/cygwin/signal.cc60
-rw-r--r--winsup/cygwin/sigproc.cc90
-rw-r--r--winsup/cygwin/sigproc.h115
-rw-r--r--winsup/cygwin/smallprint.cc35
-rw-r--r--winsup/cygwin/spawn.cc110
-rw-r--r--winsup/cygwin/strace.cc4
-rw-r--r--winsup/cygwin/strfuncs.cc29
-rw-r--r--winsup/cygwin/sync.h9
-rw-r--r--winsup/cygwin/syscalls.cc249
-rw-r--r--winsup/cygwin/sysconf.cc5
-rw-r--r--winsup/cygwin/syslog.cc8
-rw-r--r--winsup/cygwin/termios.cc4
-rw-r--r--winsup/cygwin/thread.cc146
-rw-r--r--winsup/cygwin/thread.h25
-rw-r--r--winsup/cygwin/times.cc36
-rw-r--r--winsup/cygwin/tlsoffsets.h146
-rw-r--r--winsup/cygwin/wait.cc5
-rw-r--r--winsup/cygwin/winbase.h48
-rw-r--r--winsup/cygwin/wincap.cc143
-rw-r--r--winsup/cygwin/wincap.h6
-rw-r--r--winsup/cygwin/winlean.h65
-rw-r--r--winsup/cygwin/winsup.h34
-rw-r--r--winsup/cygwin/winver.rc2
139 files changed, 11153 insertions, 15570 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index e6b69ccd2..fc456da26 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,1924 +1,3 @@
-2012-08-09 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000014.
- * cygheap.cc (tls_sentry): Move here, rename from 'sentry' in cygtls.cc
- (tls_sentry::lock): Ditto.
- (nthreads): Move from cygtls.cc
- (THREADLIST_CHUNK): Ditto.
- (cygheap_init): Call init_tls_list().
- (init_cygheap::init_tls_list): Define new function.
- (init_cygheap::add_tls): Ditto.
- (init_cygheap::remove_tls): Ditto.
- (init_cygheap::find_tls): Ditto. Semi-resurrect from
- _cygtls::find_tls.
- * cygheap.h (init_cygheap::init_tls_list): Declare new function.
- (init_cygheap::add_tls): Ditto.
- (init_cygheap::remove_tls): Ditto.
- (init_cygheap::find_tls): Ditto.
- * cygtls.cc (sentry): Delete.
- (sentry::lock): Ditto.
- (nthreads): Ditto.
- (THREADLIST_CHUNK): Ditto.
- (_cygtls::init): Delete definition.
- (_cygtls::init_thread): Call cygheap->add_tls() to add thread to global
- list.
- (_cygtls::remove): cygheap->remove_tls() to remove thread from global
- list.
- * cygtls.h (_cygtls::init): Delete declaration.
- * dcrt0.cc (dll_crt0_0): Delete call to _cygtls::init().
- * exceptions.cc (sigpacket::process): When no thread is specified, try
- to find one via cygheap->find_tls.
-
-2012-08-08 Corinna Vinschen <corinna@vinschen.de>
-
- * include/sys/wait.h (_wait): Define when building newlib.
-
-2012-08-07 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * signal.cc (sigwaitinfo): Change cw_sig to the correct cw_sig_eintr.
-
-2012-08-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * exceptions.cc (sigdelayed): Simplify declaration.
- (_cygtls::call_signal_handler): Fix test for when to pop signal stack.
- Only do it exactly when what is on the stack is a no-op.
-
-2012-08-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * spawn.cc (child_info_spawn::worker): Put back a minor variation of
- Corinna's test for detecting a background process when starting a
- non-cygwin process.
-
-2012-08-01 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/socket.h (MSG_BCAST): Define.
- (MSG_MCAST): Define.
-
-2012-08-01 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_socket::recv_internal): Add bool parameter.
- Add regparm attribute.
- * fhandler_socket.cc (fhandler_socket::read): Call recv_internal with
- second parameter set to false.
- (fhandler_socket::readv): Ditto.
- (fhandler_socket::recvfrom): Ditto.
- (fhandler_socket::recv_internal): Convert use_recvmsg from local
- variable to parameter. Use as request for using WSARecvMsg. Only
- fail if WSARecvMsg can't be loaded and wsamsg->Control.len > 0,
- otherwise use WSARecv{From}. Restrict dwFlags to MSG_PEEK when using
- WSARecvMsg.
- (fhandler_socket::recvmsg): Prefer using WSARecvMsg. Change priority
- of tests for not using WSARecvMsg. Call recv_internal with second
- parameter set accordingly.
-
-2012-08-01 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in: Semi-revert patch from 2012-07-01, assuming the previous
- patch to etc::dir_changed fixes the underlying issue.
-
-2012-07-31 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (etc::dir_changed): Revert muto changes since function is
- called under lock condition anyway.
-
-2012-07-31 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (etc::dir_changed): Change `io' to a static NO_COPY
- variable. Explain why. Add a muto to guard overwriting the changed_h
- handle by multiple concurrent threads.
- * path.h (class etc): Drop unused changed_h member.
-
-2012-07-30 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * winlean.h: Define constant which will be needed eventually. Remove
- hack in favor of another hack.
- * lib/crt0.h: Use "winlean.h".
-
-2012-07-30 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * winlean.h: Add temporary define.
- * winsup.h: Remove ancient debugging defines.
-
-2012-07-29 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.cc (cancelable_wait): Add some debugging-only output.
- * exceptions.cc (sig_handle_tty_stop): Make sure that incyg is cleared
- when exiting if we have no parent process. Only wait for signal_arrived.
- (sigpacket::process): Make continue_now a bool. Delay sending
- signal_arrived until the end. Make code more defensive to avoid
- calling signal handler when stopped. Only set signal_arrived when
- stopped.
- * sigproc.cc (sig_hold): Rename from sigCONT. Make static.
- (sig_send): Accommodate sigCONT -> sig_hold rename.
- (wait_sig): Ditto.
- * sigproc.h (sigCONT): Delete declaration.
-
- * fhandler_console.cc (fhandler_console::write): Use new '%0c' facility
- to print characters. Change to paranoid to avoid excessive strace
- output.
- * fhandler_tty.cc (fhandler_pty_master::accept_input): Make frequent
- strace printf "paranoid" to help cut down on strace output size.
-
- * signal.cc (sigsuspend): Add standard syscall strace output.
- (sigpause): Ditto.
- (pause): Ditto.
-
-2012-07-29 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygtls.h (_cygtls::reset_signal_arrived): New function.
- (set_signal_arrived::~set_signal_arrived): Use reset_signal_arrived to
- reset state.
- * exceptions.cc (sig_handle_tty_stop): Use WAIT_SIGNALED rather than
- assume we know the return from cancelable_wait.
- (_cygtls::interrupt_setup): Modify to allow calling when executing in
- non-cygwin code via sigdelayed. Always reset signal_arrived.
- * gendef: Throughout use start_offset rather than the completely wrong
- sizeof__cygtls.
- (_sigdelayed): Rewrite to avoid duplication when calling the signal
- handler.
- (sigreturn): Delete.
- * gentls_offsets: Define start_offset rather than sizeof__cygtls.
- * tlsoffsets.h: Regenerate.
-
-2012-07-29 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_termios.cc (fhandler_termios::line_edit): Use special case
- '%0c' handling to print non-printable characters using hex notation.
- * smallprint.cc (__small_vsprintf): Semi-reimplement printing of
- non-printable characters in hex but only when padding is specified.
-
- * dcrt0.cc (dll_crt0_0): Remove tty_list initialization.
- * shared.cc (memory_init): Initialize tty_list here.
-
- * path.cc (path_conv::check): Remove unneeded parentheses from if
- check.
-
-2012-07-28 Corinna Vinschen <corinna@vinschen.de>
-
- * include/inttypes.h: Add x86_64 target considerations throughout.
- Define macros in C++ according to C99 requirements.
- * include/stdint.h: Ditto.
-
-2012-07-25 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * signal.cc (clock_nanosleep): Force return on signal rather than
- letting cancelable_wait loop on signal.
-
-2012-07-25 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (enum bin_status): Add dir_not_empty.
- (try_to_bin): Call NtQueryInformationFile(FileInternalInformation)
- with exact buffer size. Explain why.
- Ditto for NtSetInformationFile(FileRenameInformation).
- Handle race-condition which might lead to renaming a non-empty
- directory.
- (unlink_nt): Rearrange and partially rephrase comments related to the
- STATUS_SHARING_VIOLATION case. Fix condition under which a dir is
- tested for being non-empty. Handle dir_not_empty return code from
- try_to_bin. Gracefully handle disappearing directory in rm -r
- workaround. Fix typo in comment.
-
-2012-07-24 Corinna Vinschen <corinna@vinschen.de>
-
- * wincap.cc (wincapc::init): Drop memset call since it can result in
- a race condition. Drop all considerations for pre-Windows 2000 systems
- since Cygwin won't start on them anyway.
-
-2012-07-23 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- Change "set_thread_waiting" to "set_signal_arrived" throughout.
-
-2012-07-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000013.
- * cygserver_ipc.h (ipc_set_proc_info): Use _cygtls::ipc_set_proc_info
- to set per-thread signal arrived value.
- * cygthread.cc (cygthread::detach): Use per-thread signal_arrived via
- set_thread_waiting.
- * fork.cc (_cygtls::fixup_after_fork): Clear signal_arrived.
- (_cygtls::remove): Close any signal_arrived handle when thread exists.
- (_cygtls::find_tls): Remove unneeded function.
- * cygtls.h: Update copyright.
- (class _cygtls): Reorganize to help avoid rebuilding newlib when
- structure changes.
- (_cygtls::event): Delete.
- (_cygtls::threadkill): Ditto.
- (_cygtls::signal_waiting): Declare new bool.
- (_cygtls::find_tls): Delete declaration.
- (_cygtls::set_threadkill): Ditto.
- (_cygtls::reset_threadkill): Ditto.
- (_cygtls::set_signal_arrived): Declare new function.
- (class set_thread_waiting): Declare new class.
- * cygwait.cc (cw_nowait_storage): Define.
- (cygwait): Set per-thread signal_arrived via set_thread_waiting. Don't
- special-case _main_tls.
- * cygwait.h (cw_nowait): Define.
- (cw_infinite): Ditto.
- (cygwait): Redefine pathological wait-only case.
- * dcrt0.cc (dll_crt0_0): Remove call to now-defunct events_init().
- (dll_crt0_1): Remove call to now-defunct create_signal_arrived().
- * exceptions.cc: Reflect set_signal_mask() argument reordering
- throughout. Remove signal mask synchronization throughout.
- (events_init): Delete definition.
- (mask_sync): Delete now-unneeded mask synchronization.
- (set_signal_mask): Reverse order of arguments to "standard" to, from
- layout. Rename "newmask" argument to "setmask". Remove debugging.
- (sig_handle_tty_stop): Use cancelable_wait rather than WFMO.
- (_cygtls::interrupt_setup): Don't treat "threadkill" events specially.
- Conditionally set signal_arrived depending on whether the thread has
- created it or not.
- (sigpacket::process): Reorganize to reflect thread-specific sending of
- signals which is more in line with the way it was actually supposed to
- work.
- * fhandler_socket.cc (get_inet_addr): Use cancelable_wait rather than
- IsEventSignalled to avoid potential race.
- (fhandler_socket::wait_for_events): Set signal_arrived event using
- set_thread_waiting().
- (fhandler_socket::close): Use cygwait for the case of just
- waiting 10 ms for a signal.
- * fhandler_tape.cc (fhandler_dev_tape::_lock): Use cancelable_wait
- rather than WFMO. Redo switch/case tests accordingly.
- * fhandler_termios.cc (fhandler_termios::bg_check): Use cygwait for
- case of just waiting 0 ms for a potential signal.
- * fhandler_tty.cc (fhandler_pty_master::process_slave_output): Use
- cancelable_wait rather than WFSO.
- * fhandler_windows.cc (fhandler_windows::read): Set per-thread
- signal_arrived via set_thread_waiting().
- * flock.cc (lf_setlock): Ditto.
- * select.cc (pselect): Ditto. Set per-thread signal_arrived using
- set_thread_waiting().
- * gendef: Don't special case handling of _cygtls::sig for threads.
- * gentls_offsets: Use #pragma once in tlsoffsets.h.
- * ntdll.h: Use #pragma once.
- * poll.cc: Reflect set_signal_mask() argument reordering.
- * posix_ipc.cc (ipc_mutex_lock): Use cancelable_wait rather than WFMO.
- (ipc_cond_timedwait): Set perl-thread signal arrived using
- set_thread_waiting().
- * security.h: Use #pragma once.
- * signal.cc (abort): Reflect set_signal_mask() argument reordering.
- (clock_nanosleep): Ditto. Change call to cancelable_wait to properly
- specify handling of cancel and interrupt.
- (sigwaitinfo): Remove handling of per-thread event in favor of
- per-thread signal_arrived. Use cancelable_wait rather than WFSO.
- * sigproc.cc (signal_arrived): Delete definition.
- (create_signal_arrived): Ditto.
- * sigproc.h (signal_arrived): Delete declaration.
- (set_signal_mask): Avoid defining as a "C" function. Don't
- conditionally declare.
- (create_signal_arrived): Delete declaration.
- * syscalls.cc (rename): Use cygwait() rather than WFSO.
- * thread.h (fast_mutex::lock): Use cw_infinite rather than LARGE_NULL.
- * wait.cc (wait4): Ditto.
- * thread.cc (pthread_mutex::lock): Ditto.
- (pthread::join): Ditto.
- (semaphore::_wait): Ditto.
- (pthread_kill): Remove set_threadkill() accommodation.
- * tlsoffsets.h: Regenerate.
-
-2012-07-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 17.
-
-2012-07-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * mount.cc (getmntent_r): Remove unused but set variable.
-
-2012-07-18 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * cygwin.din (getmntent_r): Export.
- * mount.cc (getmntent_r): New function.
- * posix.sgml (std-gnu): Add getmntent_r.
- * include/mntent.h (getmntent_r): Declare.
- * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
-
-2012-07-12 Corinna Vinschen <corinna@vinschen.de>
-
- * winlean.h: Make sure certain Windows macros are undefined again.
- Add comment to explain why.
- * winsup.h: Include winlean.h from C sources as well.
- * libc/minires-os-if.c: Drop including ntdef.h.
-
-2012-07-12 Corinna Vinschen <corinna@vinschen.de>
-
- * pseudo-reloc.cc: Drop including wchar.h and ntdef.h.
- (__report_error): Define module as WCHAR.
- * advapi.cc: Drop including wchar.h.
- * kernel32.cc: Ditto.
-
-2012-07-11 Corinna Vinschen <corinna@vinschen.de>
-
- * cygtls.cc (well_known_dlls): Add ole32.dll and wbemprox.dll.
-
-2012-07-09 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.sc (.rdata): Revert patch from 2012-07-06.
-
-2012-07-09 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.cc (getpass): Make check for closed stream more reliable.
- Check if setting tty attributes worked and only revert to old state
- if so.
-
-2012-07-09 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in, configure.in, mkvers.sh: Revert accidental checkin from
- 2012-07-06.
-
-2012-07-07 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * Makefile.in: Change mingw_lib (temporarily?) back to w32api_lib.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * winlean.h (__STRALIGN_H_): Drop definition.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_procnet.cc: Fix copyright.
- * syslog.cc: Ditto.
- * libc/minires-os-if.c: Ditto.
- * libc/minires.h: Ditto.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- In terms of network related functionality, rely on Winsock definitions
- as much as possible:
- * dtable.cc: Drop including sys/socket.h.
- * fhandler_procnet.cc: Change includes accordingly.
- * fhandler_socket.cc: Ditto.
- (fhandler_socket::listen): Avoid gcc error message initializing sin6.
- (LPFN_WSARECVMSG): Only define when building against w32api headers.
- * net.cc: Change includes accordingly. Define USE_SYS_TYPES_FD_SET
- and __WSA_ERR_MACROS_DEFINED. Define _INC_NETIOAPI temporarily and
- explain why.
- (struct _IP_ADAPTER_UNICAST_ADDRESS_LH): Only define when building
- against w32api headers.
- (struct _IP_ADAPTER_ADDRESSES_LH): Ditto.
- (SIO_GET_INTERFACE_LIST): Ditto.
- (ws_freeaddrinfo): Rename from freeaddrinfo so as not to collide with
- Winsock declaration. Change througout.
- (ws_getaddrinfo): Ditto.
- (ws_getnameinfo): Ditto.
- * select.cc: Include netdb.h after defining USE_SYS_TYPES_FD_SET.
- * syslog.cc: Drop including netinet/in.h. Define USE_SYS_TYPES_FD_SET
- and include ws2tcpip.h.
- * include/netdb.h (struct addrinfo): Don't define when building Cygwin.
- * include/cygwin/if.h: Don't declare if_xxx functions when building
- Cygwin.
- * include/cygwin/in.h: Disable most definitions when building Cygwin.
- * include/cygwin/socket.h: Disable sockaddr and sockaddr_storage
- definitions when building Cygwin. Same for MCAST_INCLUDE/MCAST_EXCLUDE.
- * libc/inet_addr.c: Don't define __INSIDE_CYGWIN__ nor
- __INSIDE_CYGWIN_NET__.
- * libc/inet_network.c: Ditto.
- * libc/minires.h: Drop redundant inclusion of netdb.h. Define
- __INSIDE_CYGWIN_NET__ only before including netdb.h and resolver
- headers.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * winbase.h: Throughout use LONG rather than long type to prepare for
- 64 bit.
- (InterlockedCompareExchangePointer): Define.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_registry.cc (RegOpenUserClassesRoot): Only define when
- building against w32api headers.
- (RegOpenCurrentUser): Ditto.
- * fhandler_tty.cc (GetNamedPipeClientProcessId): Ditto.
- * ntdll.h (enum _PROCESSINFOCLASS): Add ProcessImageFileName.
- (RtlInitAnsiString): Declare.
- (RtlUnicodeStringToAnsiSize): Declare.
- * sched.cc (GetForegroundWindow): Ditto.
- * sec_helper.cc (SECURITY_NT_NON_UNIQUE): Define as
- SECURITY_NT_NON_UNIQUE_RID when building against w32api headers.
- (cygsid::get_sid): Use SECURITY_NT_NON_UNIQUE rather than
- SECURITY_NT_NON_UNIQUE_RID.
- (__sec_user): Use PISECURITY_DESCRIPTOR rather than PSECURITY_DESCRIPTOR
- to allow valid pointer arithmetic.
- (_recycler_sd): Ditto.
- (_everyone_sd): Ditto.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * advapi32.cc (_ADVAPI32_): Drop definition.
- * kernel32.cc (_KERNEL32_): Ditto.
- * winlean.h: Add definitions required to use Mingw64 headers.
- (FILE_SHARE_VALID_FLAGS): Drop definition.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.h (_WIN32_WINNT): Define. Explain why.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * libc/rcmd.cc: Don't undef __INSIDE_CYGWIN_NET__.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.sc (.rdata): Include all sections starting with .rdata.
- (.debug_pubtypes): Make sure section is loaded at the end like all other
- debug sections.
-
-2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dcrt0.cc (build_argv): Guard against NULL pointer dereference found
- by Clang.
-
-2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * exceptions.cc (setup_handler): Remove unneeded assignment found by
- Clang.
-
-2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * hookapi.cc (find_first_notloaded_dll): Remove unused assignment of
- importRVASize found by Clang.
-
-2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_tty.cc (fhandler_pty_slave::read): Remove duplicate
- assignment to bytes_in_pipe found by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * exceptions.cc (exception::handle): Use error_code in klog, as
- intended. Found by Clang.
-
-2012-07-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (class fhandler_dev_clipboard): Remove member eof.
- * fhandler_clipboard.cc: Throughout remove handling of eof member.
- (fhandler_dev_clipboard::write): Handle EOF condition immediately,
- rather than pushing it erroneously to the next read call. Rearrange
- code. Fix bug in CF_UNICODETEXT case which potentially dropped single
- bytes at the end of the buffer. Add comment.
- * strfuncs.cc (sys_cp_wcstombs): Allow returning non-NUL-terminated
- buffer if dst != NULL and len == (size_t) -1. Extend leading comment
- to explain what's returned in more detail.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_virtual.cc (fhandler_virtual::opendir): Eliminate duplicate
- assignment found by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_registry.cc (fhandler_registry::open): Handle missing EROFS
- error condition pointed to by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * pinfo.cc (_pinfo::commune_request): Eliminate unneeded assignment
- found by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * external.cc (fillout_pinfo): Return NULL rather than 0.
- (exit_process): Guard against NULL pointer dereference found by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * mount.cc (mount_info::conv_to_win32_path): Eliminate unneeded
- assignment found by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * path.cc (symlink_info::check): Remove unneeded/unused variable found
- by Clang.
-
-2012-07-02 Corinna Vinschen <corinna@vinschen.de>
-
- * dll_init.cc (dll_list::alloc): Take long UNC paths into account.
-
-2012-07-01 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * Makefile.in: Add some more optimization flags for cygwait, malloc and
- path. Explain why -fomit-frame-pointer doesn't work right for passwd.o
- and path.o. Add -static to link command line for cygwin0.dll.
-
- * fhandler_disk_file.cc (fhandler_disk_file::facl): Reorganize slightly
- to silence compiler warning when compiling with -fstack-check.
- * net.cc (inet_ntop6): Initialize structure members to silence compiler
- warning when compiling with -fstack-check.
-
- * pseudo-reloc.cc (_pei386_runtime_relocator): Make this a C function.
- Detect NULL u.
- * winsup.h (_pei386_runtime_relocator): Declare this as extern "C".
- * lib/_cygwin_crt0_common.cc (_pei386_runtime_relocator): Call with
- NULL argument.
-
- * signal.cc (sigaction_worker): Eliminate last argument. Let callers
- report their own strace info. Regparmize.
- (sigaction): Reflect sigaction_worker changes.
- (siginterrupt): Ditto.
-
- * exceptions.cc: Update copyright.
-
-2012-07-01 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * path.cc: Perform some whitespace fixups throughout.
-
-2012-06-28 Corinna Vinschen <corinna@vinschen.de>
-
- * kernel32.cc (_KERNEL32_): Define. Explain why.
- (CreateFileMappingW): Drop undocumented flProtect flags.
-
-2012-06-28 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_serial.cc: Fix includes for IOCTL codes to support Mingw64.
- * fhandler_tape.cc: Ditto.
- * flock.cc (allow_others_to_sync): Use PISECURITY_DESCRIPTOR since
- PSECURITY_DESCRIPTOR is supposed to be the opaque type.
- * ntdll.h: Remove CreateDisposition flags again, now that they are
- defined in Mingw64's ntdef.h. Ditto for Create/Open flags.
-
-2012-06-28 Corinna Vinschen <corinna@vinschen.de>
-
- * exceptions.cc (RtlUnwind): Align declaration with MSDN.
- * ntdll.h: Define CreateDisposition Flags. Add comments.
- * winlean.h: Define FILE_SHARE_VALID_FLAGS if using Mingw64 headers.
-
-2012-06-27 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.h (cancelable_wait): Make extern to avoid always including.
- * select.cc (allocfd_set): Try to make a little more efficient.
- (cygwin_select): Break into two functions to avoid what seems to be a
- strange compiler problem with alloca and sel constructor.
- (select): New function. Always honor return from call_signal_handler.
- (select_stuff::wait): Always honor return from call_signal_handler.
- * select.h (select_stuff::select_stuff): Use NULL to initialize
- pointers rather than 0.
-
-2012-06-27 Corinna Vinschen <corinna@vinschen.de>
-
- * exceptions.cc (exception::handle): Cast exception code to NTSTATUS
- for comparison.
- * ntdll.h: Drop defining NT status codes in favor of including
- ntstatus.h.
-
-2012-06-27 Corinna Vinschen <corinna@vinschen.de>
-
- * miscfuncs.cc (WritePipeOverlapped): Define second parameter LPCVOID,
- rather than PCVOID.
- * miscfuncs.h (WritePipeOverlapped): Ditto.
-
-2012-06-27 Corinna Vinschen <corinna@vinschen.de>
-
- * advapi32.cc (_ADVAPI32_): Define. Explain why.
- (ImpersonateNamedPipeClient): Add missing WINAPI.
- * ntdll.h (STATUS_INVALID_PARAMETER): Only define if it isn't already.
- (STATUS_DLL_NOT_FOUND): Ditto.
- (STATUS_ENTRYPOINT_NOT_FOUND): Ditto.
- (enum _EVENT_TYPE): Guard against redefinition since it's already
- defined in Mingw64's ntdef.h.
- (enum _TIMER_TYPE): Ditto.
- (enum _SECTION_INHERIT): Define if using Mingw64 headers since it's
- missing in Mingw64's ntdef.h.
- * winlean.h (__STRALIGN_H_): Define before including windows.h.
-
-2012-06-26 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.h (GetLastError): Drop redundant definition.
-
-2012-06-25 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.cc (cancelable_wait): Make sure that timer is cancelled
- before cancelling thread.
-
-2012-06-25 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.h (cancelable_wait): Need to force time to negative to
- indicate relative time.
-
-2012-06-21 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (realpath): Fix comment.
-
-2012-06-21 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (realpath): Call mount_info::conv_to_posix_path rather than
- mount_info::cygdrive_posix_path to convert DOS paths to POSIX paths.
- Add comment to explain why that's necessary at all.
-
-2012-06-18 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.h (LARGE_NULL): Define.
- (cancelable_wait): Define variant which accepts DWORD time argument.
- (cygwait): Use cancelable_wait with DWORD argument.
- (cygwait): Use cancelable_wait with DWORD argument and cw_sig_eintr for
- timeout-only case.
- * exceptions.cc (handle_sigsuspend): Use LARGE_NULL as second argument
- to distinguish between cancelable_wait variants.
- * thread.cc (pthread_mutex::lock): Ditto.
- (pthread::join): Ditto.
- (semaphore::_timedwait): Ditto.
- * thread.h (fast_mutex::lock): Ditto.
- * wait.cc (wait4): Ditto.
-
-2012-06-18 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.cc (cancelable_wait): Mimic old cygwait behavior more closely
- wrt handling of call_signal_handler.
- * cygwait.h (WAIT_CANCELED): Move here and redefine.
- (WAIT_SIGNALED): Ditto.
- * thread.h (WAIT_CANCELED): Delete.
- (WAIT_SIGNALED): Ditto.
-
-2012-06-18 Corinna Vinschen <corinna@vinschen.de>
-
- * cygheap.cc (init_cygheap::init_installation_root): Rearrange code
- creating valid native NT installation_root path. Only strip last
- backslash from path if the result is a valid NT path. Explain why.
-
-2012-06-17 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- Add '#include "cygwait.h"' throughout, where appropriate.
- * DevNotes: Add entry cgf-000012.
- * Makefile.in (DLL_OFILES): Add cygwait.o.
- * sigproc.h: Remove cygwait definitions.
- * cygwait.h: New file. Define/declare Cygwin waitfor functions.
- * cygwait.cc: Ditto.
- * exceptions.cc: Include cygwait.h.
- (handle_sigsuspend): Accommodate change in cancelable_wait arguments.
- (sigpacket::process): Display thread tls in debugging output.
- * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Use symbolic
- names for signal and cancel return.
- * fhandler_console.cc (fhandler_console::read): Ditto.
- (fhandler_dev_dsp::Audio_out::waitforspace): Ditto.
- fhandler_dev_dsp::Audio_in::waitfordata): Ditto.
- * fhandler_fifo.cc (fhandler_fifo::wait): Ditto.
- * fhandler_serial.cc (fhandler_serial::raw_read): Ditto.
- * fhandler_tty.cc (fhandler_pty_slave::read): Ditto.
- * select.cc (cygwin_select): Ditto.
- * wait.cc (wait4): Ditto.
- * thread.cc (cancelable_wait): Move definition to cygwait.h.
- (pthread_cond::wait): Accommodate change in cancelable_wait arguments.
- (pthread_mutex::lock): Ditto.
- (pthread_spinlock::lock): Ditto.
- (pthread::join): Ditto.
- (pthread::thread_init_wrapper): Display tls in debugging output.
- (semaphore::_timedwait): Ditto.
- * thread.h (cw_sig_wait): Move to cygwait.h.
- (cw_cancel_action): Delete.
- (cancelable_wait): Move declaration to cygwait.h.
-
-2012-06-11 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * regex/regcomp.c (p_ere): Allow vertical-line following
- left-parenthesis in ERE, as in glibc.
-
-2012-06-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * include/sys/elf_common.h (R_386_16): Define.
- (R_386_PC16): Define.
- (R_386_8): Define.
- (R_386_PC8): Define.
-
-2012-06-09 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * select.cc (cygwin_select): Remove select_timeout test.
- (select_stuff::wait): Return select_set_zero on timeout.
- (thread_socket): Report timeout when debugging.
-
-2012-06-05 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * include/elf.h: Update from FreeBSD.
- * include/machine/elf.h: New header, from FreeBSD.
- * include/sys/elf.h: Ditto.
- * include/sys/elf32.h: Update from FreeBSD.
- * include/sys/elf64.h: Ditto.
- * include/sys/elf_common.h: Ditto.
- (R_IA64_*): Define Linux-style names as aliases to R_IA_64_*.
- (R_SH_*): Define, based on sh-4 psABI.
- (R_390_*): Define, based on s390x psABI.
- * include/sys/elf_generic.h: Ditto.
-
-2012-06-04 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_disk_file::link ): Translate
- STATUS_NOT_SUPPORTED to EPERM as well.
-
-2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (dtable::dup3): Only return with lock set when O_EXCL flag
- is passed in.
- * syscalls.cc (dup_finish): Pass O_EXCL in flags to dtable::dup3.
-
-2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000011.
- * fhandler.h (fhandler_base::refcnt): Delete.
- (fhandler_base::inc_refcnt): New function.
- (fhandler_base::dec_refcnt): New function.
- * cygheap.h (cygheap_fdnew::~cygheap_fdnew): Accommodate split of
- refcnt to inc_refcnt/dec_refcnt.
- (cygheap_fdget::cygheap_fdget): Ditto.
- (cygheap_fdget::~cygheap_fdget::cygheap_fdget): Ditto.
- * dtable.cc (dtable::release): Ditto.
- (cygwin_attach_handle_to_fd): Ditto.
- (dtable::init_std_file_from_handle): Ditto.
- (dtable::dup3): On success, return with fdtab locked.
- * dtable.h (dtable): Add dup_finish as a friend.
- * syscalls.cc (dup_finish): Define new function. Increment refcnt
- while fdtab is locked.
- (dup2): Use common dup_finish() to perform dup operation.
- (dup3): Ditto.
-
-2012-06-03 Corinna Vinschen <corinna@vinschen.de>
-
- * globals.cc (ro_u_refs): New R/O unicode string.
- * mount.cc (fs_info::update): Recognize ReFS.
- * mount.h (enum fs_info_type): Add refs.
- (class fs_info): Add refs flag and accessor methods.
- * ntdll.h (RtlAddAccessAllowedAceEx): Declare.
- (RtlAddAccessDeniedAceEx): Declare.
- * path.h (path_conv::fs_is_refs): Define.
- * sec_helper.cc (_recycler_sd): New function to create security
- descriptors suitable for the recycler bin starting with Vista.
- * security.cc (add_access_allowed_ace): Use RtlAddAccessAllowedAceEx
- and drop code to set AceFlags explicitely.
- (add_access_denied_ace): Use RtlAddAccessDeniedAceEx and drop code to
- set AceFlags explicitely.
- * security.h (_recycler_sd): Declare.
- (recycler_sd): Define.
- * syscalls.cc (desktop_ini): Change formatting.
- (desktop_ini_ext): Define third line of recycler desktop.ini file
- since Vista,
- (try_to_bin): Handle ReFS just like NTFS. Write Vista and later
- Recycler in all uppercase, just like shell32 does when recreating it.
- Fix comments to include ReFS. Don't implicitely reuse object
- attributes from earlier NtOpenFile call, rather recreate it for safety.
- Use recycler_sd call when creating security descriptor for Recycler
- dirs and files on Vista and later. Write third line of desktop.ini
- when on Vista and later.
-
-2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * winbase.h: Add missing copyright date.
-
-2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * select.cc (cygwin_select): Make sure that we only return -1 as an
- error return.
- (select_stuff::wait): Semi-revert to previous method for filling out
- w4.
-
-2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * select.cc (cygwin_select): Add some comments.
- (select_stuff::wait): Ditto.
-
-2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000010.
- * select.cc (set_handle_or_return_if_not_open): Remove unneeded final
- backslash from definition.
- (cygwin_select): Reorganize to incorporate outer retry loop. Move
- remaining time recalculation here for retry case. Use
- select_stuff::wait_states for loop control.
- (select_stuff::cleanup): Avoid unneeded initialization.
- (select_stuff::wait): Modify definition to return
- select_stuff::wait_states. Eliminate is_cancelable. Don't inspect
- element 1 of an array if it is a cancel handle. Remove loop. Rely on
- being called from enclosing loop in cygwin_select. Remove time
- recalculation when restarting. Try harder to always return from the
- bottom.
- * select.h (select_stuff::wait_state): New enum.
- (select_stuff::wait): Modify declaration to return
- select_stuff::wait_states.
-
-2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * exceptions.cc (setup_handler): Make debugging output a little more
- verbose.
-
-2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygtls.h (_cygtls::protect_linked_list): Delete unused field.
-
-2012-05-30 Corinna Vinschen <corinna@vinschen.de>
-
- * hookapi.cc (find_first_notloaded_dll): Extend comment. Fix usage of
- mapped memory. Shorten static library name buffer to MAX_PATH. Use
- strlcpy to copy library name to buffer. Only Unmap "map" if it has been
- Mapped before.
- * pinfo.cc (status_exit): Drop unneeded declaration of
- find_first_notloaded_dll in favor of the declaration in winsup.h.
-
-2012-05-30 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc: Remove temporary newlib workaround, now that newlib
- handles thread cancellation by itself.
- (class __cygwin_lock_handler): Remove.
- (__cygwin_lock_cleanup): Remove.
- (__cygwin_lock_lock): Revert newlib workaround,
- (__cygwin_lock_trylock): Ditto.
- (__cygwin_lock_unlock): Ditto.
- (pthread::pop_cleanup_handler): Ditto.
-
-2012-05-29 Corinna Vinschen <corinna@vinschen.de>
-
- * select.cc (select_stuff::wait): Temporarily disable restarting
- entirely.
-
-2012-05-29 Corinna Vinschen <corinna@vinschen.de>
-
- * security.h (cygsidlist::+=): Correctly copy well_known_sid info from
- source cygsid.
-
-2012-05-25 Corinna Vinschen <corinna@vinschen.de>
-
- * registry.cc (reg_key::build_reg): Fix typo in debug output.
-
-2012-05-25 Corinna Vinschen <corinna@vinschen.de>
-
- * select.cc (select_stuff::wait): When not returning after receiving
- a signal, recalculate timeout. Apply temporary fix to avoid crashes
- after calling the signal handler. Explain.
-
-2012-05-25 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_serial.cc (fhandler_serial::raw_read): Check for
- ERROR_OPERATION_ABORTED rather than ERROR_IO_INCOMPLETE after CancelIo.
-
-2012-05-25 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_serial.cc (fhandler_serial::raw_read): Just call ReadFile
- directly in case of non-blocking I/O and handle result gracefully.
-
-2012-05-24 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (__cygwin_lock_lock): Replace null thread check with test
- for cygwin_finished_initializing to handle process startup.
- (__cygwin_lock_trylock): Ditto.
- (__cygwin_lock_unlock): Ditto.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (__cygwin_lock_lock): Take null thread at process startup
- into account.
- (__cygwin_lock_trylock): Ditto.
- (__cygwin_lock_unlock): Ditto.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (pthread::cancel): Re-allow asynchronous cancellation from
- Cygwin code since it looks like the problem is Windows only.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc: Add a temporary workaround to help Cygwin along while
- newlib doesn't install cleanup handlers. Explain the problem.
- (class __cygwin_lock_handler): New class.
- (__cygwin_lock_cleanup): New function.
- (__cygwin_lock_lock): Push __cygwin_lock_cleanup thread cleanup
- handler.
- (__cygwin_lock_trylock): Ditto.
- (__cygwin_lock_unlock): Pop thread cleanup handler.
- (pthread::pop_cleanup_handler): Temporarily allow cleanup function to
- destroy cleanup handler so we can pop in another function than we
- pushed in.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (pthread::cancel): Only allow asynchronous cancellation
- if the thread is not executing Cygwin or Windows code. Explain why.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (pthread::precreate): Make sure mutex is recursive.
- Explain why.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (pthread::pop_cleanup_handler): Move setting the cancelstate
- to PTHREAD_CANCEL_DISABLE from here...
- (pthread::pop_all_cleanup_handlers): ...to here, otherwise any explicit
- call to pthread_cleanup_pop disables cancellation for this thread.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (refcnt): Add i interlocked. Explain why.
- * winbase.h (ilockadd): New function.
- (InterlockedAdd): Define as ilockadd.
-
-2012-05-22 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.in: Fix native name of /dev/kmem.
- * devices.cc: Regenerate.
- * dtable.cc (fh_alloc): Don't forget FH_KMEM.
- * fhandler_mem.cc (fhandler_dev_mem::open): Set errno to EACCES rather
- than ENOENT on systems not granting access to physical memory from
- user space.
-
-2012-05-22 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (pthread::cancel): Set thread's cancel_event in
- PTHREAD_CANCEL_ASYNCHRONOUS case, too. Explain why.
-
-2012-05-21 Corinna Vinschen <corinna@vinschen.de>
-
- * strace.cc (strace::activate): Move printing heap size from here...
- * heap.cc (heap_init_info): ...to here. Explain why. Print heap
- size in hex and decimal.
-
-2012-05-21 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (cygwin_recvfrom): Don't shortcircuit if len == 0. Add comment
- to explain why.
- (cygwin_recv): Ditto.
- (cygwin_recvmsg): Ditto.
-
-2012-05-21 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (path_conv::isgood_inode): Rearrange, take
- Samba versions >= 3.5.4 into account, add comments.
-
-2012-05-16 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000009.
- * smallprint.cc (__small_vsprintf): Always treat '%c' and '%C' as
- characters. Don't decode them if they are > 127.
- (__small_vswprintf): Ditto.
-
-2012-05-15 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000008.
- * fhandler_tty.cc (bytes_available): Simplify by returning the number
- of bytes available in the message unless that is zero.
-
-2012-05-14 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * child_info.h (CURR_CHILD_INFO_MAGIC): Update.
-
-2012-05-14 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000007.
- * child_info.h (child_info_spawn::parent_winpid): Declare new field.
- (child_info_spawn::get_parent_handle): Declare new function.
- * dcrt0.cc (child_info_spawn::get_parent_handle): Define new function.
- (child_info_spawn::handle_spawn): Recreate parent handle if possible
- when dynamically loaded. Don't mess with parent handle if it's NULL.
- * spawn.cc (child_info_spawn::worker): Set parent_winpid appropriately.
-
-2012-05-12 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000006.
- * thread.cc (pthread::pop_cleanup_handler): Set cancel state to
- disabled to avoid recursively waiting for cancel.
-
-2012-05-12 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000005.
- * fhandler.h (PIPE_ADD_PID): Redefine to something we actually DON'T
- use.
- * pipe.cc (fhandler_pipe::create): Avoid clearing all open_mode bits
- when checking for PIPE_ADD_PID. Properly keep track of len so that
- passed in name is not overwritten.
-
-2012-05-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * cygwin.din (memrchr): Export.
- * posix.sgml (std-gnu): Add memrchr.
- * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
-
-2012-05-10 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 16.
-
-2012-05-08 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000004.
- * pinfo.cc (pinfo::init): Reuse shared memory if the state is marked
- with PID_REAPED.
- * spawn.cc (child_info_spawn::worker): Don't duplicate myself_pinfo
- into non-cygwin child.
-
- * fork.cc (frok::parent): Improve error output.
-
-2012-05-07 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000003.
- * cygheap.h (init_cygheap::pid_handle): Delete.
- * dcrt0.cc (child_info_spawn::handle_spawn): Keep parent open if we
- have execed.
- * pinfo.cc (pinfo::thisproc): Remove pid_handle manipulations.
- (pinfo::init): Don't consider a reaped process to be available.
- * spawn.cc (child_info_spawn::worker): Remove pid_handle manipulations.
- Make wr_proc_pipe and parent noninheritable when starting a program
- which doesn't use the Cygwin DLL. Conditionally reset wr_proc_pipe to
- inheritable if CreateProcess fails. Inject wr_proc_pipe handle into
- non-Cygwin process. Consider a non-cygwin process to be 'synced'.
-
-2012-05-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000002.
- * fhandler_tty.cc (bytes_available): Revert to previous Oct-2011
- behavior where a dummy buffer is used to determine how many bytes will
- be read.
- (fhandler_pty_master::ioctl): Correct coercion in assignment.
-
-2012-05-03 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (get_adapters_addresses): Only create thread on affected
- systems. Change comment acordingly.
- * wincap.h (wincaps::has_gaa_largeaddress_bug): New element.
- * wincap.cc: Implement above element throughout.
- (wincap_8): New globale wincaps to support Windows 8.
- (wincapc::init): Take Windows 8 into account. Set new
- has_gaa_largeaddress_bug member to false on 32 bit systems.
-
-2012-05-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: New file. Add entry cgf-000001.
- * sigproc.cc (proc_terminate): Don't set parent pid of child to 1 if
- we've execed since the execed process is still considered the parent.
-
- * child_info.h: Bump copyright.
-
-2012-05-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fenv.cc (fesetround): Fix test for valid input parameter.
- (fesetprec): Ditto.
-
-2012-04-30 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler.h (PIPE_ADD_PID): Define new flag.
- * pipe.cc (fhandler_pipe::create): Don't indiscriminately add process
- id to every pipe since some pipe names (fifo, tty) don't need it.
- * sigproc.cc (sigproc_init): Pass PIPE_ADD_PID to fhandler_pipe::create
- to ensure that pid is always part of sigwait pipe name.
-
-2012-04-28 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * environ.cc (struct parse_thing): Add "pipe_byte" option.
- * globals.cc (pipe_byte): Declare.
- * pipe.cc (fhandler_pipe::create): Use current process id in pipe name
- rather than pid for simple name collision avoidance. Do this only once
- to avoid extra overhead when a busy pipe is found. Honor pipe_byte to
- create non-message pipes if set.
- * sigproc.cc (sigproc_init): Use a specific name for the signal pipe.
-
-2012-04-27 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (find_fast_cwd_pointer): Fix for W8 CP 32 bit.
-
-2012-04-25 Thomas Wolff <towo@towo.net>
-
- * fhandler.h (class dev_console): Add member ext_mouse_mode5.
- * fhandler_console.cc (fhandler_console::read): Implement extended
- mouse mode 1005 (xterm, mintty).
- Fix actual mouse reporting for large coordinates.
-
-2012-04-24 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 15.
-
-2012-04-24 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (ALT_PRESSED): Define earlier, never undefine.
- (CTRL_PRESSED): Ditto.
- (fhandler_console::read): Simplify expressions testing for pressed ALT
- or CTRL modifier keys.
- (get_nonascii_key): Ditto.
-
-2012-04-24 Thomas Wolff <towo@towo.net>
-
- * fhandler.h (class dev_console): Add members ext_mouse_mode6 and
- ext_mouse_mode15.
- * fhandler_console.cc (fhandler_console::read): Implement extended
- mouse modes 1015 (urxvt, mintty, xterm) and 1006 (xterm). Recognize,
- but don't implement extended mouse mode 1005 (xterm, mintty).
- Support mouse coordinates greater than 222 (each axis). Fix formatting.
- (fhandler_console::char_command): Initialize enhanced mouse reporting
- modes.
-
-2012-04-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (fh_alloc): Only disallow opening of nonexistent on-disk
- device.
- * path.cc (path_conv::check): Remove PATH_KEPT_HANDLE setting.
- * path.h (path_types): Remove PATH_KEPT_HANDLE.
- (path_conv::kept_handle): Delete now-unneeded function.
-
-2012-04-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (fh_alloc): Keep fh which was flagged as error if it is for
- an on-disk device and we were stating it.
- * path.cc (path_conv::check): Set PATH_KEPT_HANDLE.
- * path.h (path_types): Add PATH_KEPT_HANDLE.
- (path_conv::kept_handle): Implement.
-
-2012-04-18 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler.h (fhandler_base::nohandle): Revert to standard
- implementation.
- * dtable.cc (dtable::fixup_after_exec): Specifically reject releasing
- nohandle() type fhandlers rather than relying on contents of io_handle.
- (dtable::fixup_after_fork): Ditto.
- * fhandler_termios.cc: Add includes necessary for definitions of
- have_execed and have_execed_cygwin.
- (fhandler_termios::sigflush): Don't flush console input when we've
- started a non-Cygwin process.
-
-2012-04-15 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * wincap.h: Rename assitant to assistant throughout.
- * wincap.cc: Ditto.
- * devices.in (exists_console): Use fhandler_console::exists () rather
- than raw test.
- * devices.cc: Regenerate.
- * fhandler.h (fhandler_console::exists): Define new function.
- * fhandler_console.cc (fhandler_console::need_invisible): Use
- fhandler_console::exists () rather than raw test.
- * spawn.cc: Rename assitant to assistant throughout.
- (child_info_spawn::worker): Simplify test for when to start a
- non-Cygwin process in its own process group. Just do it whenever we
- start a non-Cygwin process.
-
-2012-04-12 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * devices.in (exists_console): Allow /dev/con{sole,in,out} to be
- referenced if a console exists.
- * devices.cc: Regenerate.
- * fhandler_console.cc (fhandler_console::set_unit): Ditto.
-
-2012-04-11 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (fhandler_base::stat_fixup): Fix inode numbers of
- non-device files in virtual fileysystems.
-
-2012-04-07 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (cygwin_attach_handle_to_fd): Defend against NULL return
- from build_fh_*.
- (dtable::init_std_file_from_handle): Ditto.
- * mmap.cc (mmap_record::alloc_fh): Ditto.
- * path.cc (path_conv::check): Ditto.
-
-2012-04-06 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler.h (fhandler_base::nohandle): Implement "by hand" rather than
- through macro. Set io_handle to INVALID_HANDLE_VALUE when setting flag
- to true.
-
-2012-04-06 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * path.c (path_conv::check): Avoid directly referencing fields of the
- dev structure when it can be easily avoided.
-
-2012-04-05 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 14.
-
-2012-04-05 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.cc (pwdgrp::read_passwd): Fix pretty_ls entry typo contain
- the required number of colons.
-
-2012-04-04 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler.h (fhandler_pty_common::bytes_available): Declare new
- function.
- (fhandler_pty_master::flush_to_slave): Ditto.
- * fhandler_tty.cc (bytes_available): Define new function.
- (fhandler_pty_common::bytes_available): Ditto.
- (handler_pty_master::flush_to_slave): Ditto.
- (fhandler_pty_master::process_slave_output): Call flush_to_slave ()
- here. Use bytes_available () rather than PeekNamedPipe. Clean up
- sloppy logic.
- (fhandler_pty_slave::read): Use bytes_available () rather than
- PeekNamedPipe.
- (fhandler_pty_slave::ioctl): Ditto.
- (fhandler_pty_master::ioctl): Ditto.
- (fhandler_pty_master::cleanup): Remove ancient #if 0.
- * select.cc (peek_pipe): Call flush_to_slave whenever we're checking
- for a pty master.
-
-2012-04-04 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_nodevice.cc (fhandler_nodevice::open): Convert EROFS to
- ENOENT if non-existent file got opened for reading only. Explain why.
- * path.cc (path_conv::check): Stick to ENOENT if file has been opened
- for informational purposes only. Add to comment.
-
-2012-04-04 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (path_conv::check): Convert device type to FH_FS for
- non-existent files on /dev, unless /dev itself doesn't exist on disk.
- Add comment to explain why.
-
-2012-04-04 Corinna Vinschen <corinna@vinschen.de>
-
- * hookapi.cc (rvadelta): Compute max_size using SizeOfRawData rather
- than VirtualSize.
-
-2012-04-04 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.cc (_getpass_close_fd): New static pthread cleanup handler.
- (getpass): Rework to use /dev/tty in the first place. Install
- _getpass_close_fd as pthread cleanup handler. Flush prompt explicitely.
- Lock input and switch off signal input handling when reading password.
-
-2012-04-03 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 13.
-
-2012-04-03 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (fhandler_base::stat_fixup): Replace string comparison
- with new device::is_dev_resident() call.
-
-2012-04-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * devices.h (lives_in_dev): New field.
- (dev_on_fs): Set bit size.
- (is_dev_resident): Define new method.
- * devices.in: Use different method for labelling requested name for dev
- storage: prefix it with a ='. Use an actual ':' to denote an internal
- device.
- (exists_console): Avoid repeated test.
- (exists_ntdev_silent): Rename from the less-descriptive exists_ntdevs.
- (dev_dev_storage): Delete unneeded define.
- * gendevices: Add a flag to each line denoting whether the device lives
- in /dev space.
- (generate): Handle special ":" case here for internal devices. Parse
- =something_dev as requiring a storage location. Tack the rest of the
- line back onto the reformulated "$rest".
- * devices.cc: Regenerate.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.h (device::get_device): New method.
- * fhandler_dev.cc (fhandler_dev::readdir): Set st_ino to device number.
- * syscalls.cc (fhandler_base::stat_fixup): Ditto. Fix link count for
- CD-ROM devices. Fix typo in comment.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_base::stat_fixup): Rename from
- fhandler_base::set_ino_and_dev.
- * syscalls.cc (fhandler_base::stat_fixup): Ditto. Accommodate name
- change throughout. Fixup link count of console devices.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.h (FH_CYGDRIVE): Define as DEV_VIRTFS_MAJOR class device.
- (DEV_CYGDRIVE_MAJOR): Remove.
- (iscygdrive_dev): Define.
- * dtable.cc (fh_alloc): Accommodate above change.
- * path.cc (path_conv::check): Use iscygdrive_dev to check for cygdrive.
- * syscalls.cc (fhandler_base::set_ino_and_dev): Drop check for
- DEV_CYGDRIVE_MAJOR from conditional.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.h (FH_DEV): Define as DEV_VIRTFS_MAJOR class device.
- (DEV_DEV_MAJOR): Remove.
- * dtable.cc (fh_alloc): Accommodate above change.
- * syscalls.cc (set_ino_and_dev): Drop check for DEV_DEV_MAJOR from
- conditional.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_base::set_ino_and_dev): Declare.
- * syscalls.cc (fhandler_base::set_ino_and_dev): New method to set
- st_ino, st_dev, and st_rdev for devices in a single spot.
- (fstat64): Call fhandler_base::set_ino_and_dev instead of setting
- st_ino, st_dev, and st_rdev here.
- (stat_worker): Ditto.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_dev::open): Declare.
- (fhandler_dev::close): Declare.
- (fhandler_dev::fstat): Declare.
- (fhandler_dev::fstatvfs): Declare.
- (fhandler_cygdrive::fstatvfs): Declare.
- * fhandler_dev.cc (fhandler_dev::open): New method.
- (fhandler_dev::close): Ditto.
- (fhandler_dev::fstat): Ditto.
- (fhandler_dev::fstatvfs): Ditto.
- * fhandler_disk_file.cc (fhandler_base::fstat_helper): Don't fill
- st_rdev.
- (fhandler_cygdrive::fstatvfs): New method.
- * path.h (path_conv::fs_got_fs): New method.
- * mount.h (fs_info::got_fs): Change type to bool, make public.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (fillout_mntent): Use "none" rather than 0 when checking
- FS type.
-
-2012-04-01 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (dtable::fixup_close): Define new function.
- (dtable::fixup_after_exec): Use fixup_close() and detect when it was
- not possible to open an inherited file handle.
- (dtable::fixup_after_fork): Defensively close any file handles which
- were not, for some reason, inheritable.
- * dtable.h: Make #pragma once.
- (dtable::fixup_close): Declare new function.
- * fhandler_console.cc (fhandler_console::set_unit): Set I/O handles to
- NULL when this function fails.
-
-2012-04-01 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_dev.cc (fhandler_dev::readdir): Fix formatting. Simplify
- code. Use device::type() to fetch dirent compatible device type.
- Add comment.
-
-2012-03-31 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * devices.h (device::exists_func): Redefine field.
- (device::dev_on_fs): Remove unneeded bit field. Just make a normal
- boolean.
- (device::exists): Redefine function.
- * devices.in: Move previous functions earlier since they are now only
- defined static. Rename some functions due to an as-yet unresolved bug
- in gendevices. Rename posix part of internal-only devices with a
- double-slash. gendevices will eventuall translate that to a ":".
- (device::parse): Rework to use dev pointer and dev_storage_end.
- * devices.cc: Regenerate.
- * gendevices: Translate "// to ": after shilka processing.
-
-2012-03-31 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.cc: Regenerate.
- * devices.h (device::exists_func): New member function pointer,
- replacing noexpose.
- (device::expose): Remove.
- (device::exists_never): Declare.
- (device::exists_ptys): Declare.
- (device::exists_cons): Declare.
- (device::exists_console): Declare.
- (device::exists_nt_dev): Declare.
- (device::exists): Declare.
- * devices.in (dev_storage): Replace former noexpose values with
- pointers to matching exists_XXX method.
- (device::exists_never): New method.
- (device::exists_ptys): New method.
- (device::exists_cons): New method.
- (device::exists_console): New method.
- (device::exists_nt_dev): New method.
- (device::exists): New method.
- * fhandler_dev.cc (fhandler_dev::readdir): Replace call to
- device::expose with call to device::exists and drop all further
- existence filtering since it's done in device::exists now.
- * path.cc (path_conv::check): Replace call to device::expose with call
- to device::exists.
-
-2012-03-30 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * devices.cc: Regenerate.
- * devices.h (device::noexpose): New field.
- (device::dev_on_fs): Make a bit field.
- (get_major): Use proper type for declaration.
- (expose): New field.
- (ext_dev_storage): Delete declaration.
- (dev_storage_size): Ditto.
- (dev_storage): New declaration.
- (dev_storage_end): Ditto.
- * devices.in: Mark /dev/ptym*, /dev/com*, /dev/pipe, /dev/fifo, and
- "/dev" as "no expose".
- * fhandler.h (fhandler_dev::lastrealpos): Delete declaration.
- (fhandler_dev::devidx): Declare new field.
- * fhandler_disk_file.cc: Move fhandler_dev functions into
- fhandler_dev.cc.
- * fhandler_dev.cc: Add includes needed for functions moved from
- fhandler_disk_file.cc.
- (dev_storage_scan_start): Define place to start listing devices.
- (dev_storage_size): Define size of array to scan.
- (fhandler_dev::fhandler_dev): Move here from fhandler_disk_file.cc.
- (fhandler_dev::opendir): Ditto.
- (fhandler_dev::readdir): Just check devidx for non-NULL to determine
- when to go to disk for /dev content. Use dev_storage rather than
- ext_dev_storage. Iterate over dev_storage using devidx pointer. Use
- accessor functions rather than raw references to the device struct.
- Only increment dir->__d_position when we are actually going to be
- returning something. Add debug_printf for exit.
- (fhandler_dev::rewinddir): Set devidx as appropriate depending on
- whether there's a /dev on disk or not.
- * gendevices: Don't mark dev_storage static but do put it in the _RDATA
- section.
- * path.cc (path_conv::check): Use new "device::expose()" function to
- decide to forbid programs from referencing internal device types.
-
-2012-03-30 Corinna Vinschen <corinna@vinschen.de>
-
- * posix.sgml (std-notes): Change description of flock restrictions.
-
-2012-03-30 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.h (DEV_TTY_MAJOR): Define, use throughout where appropriate.
- (DEV_VIRTFS_MAJOR): Ditto.
- * fhandler_dev.cc (fhandler_dev::readdir): Add comments. Tweak tests
- for invisible devices. Don't print comX devices, only ttySX. Drop
- requirement to call stat64.
-
-2012-03-29 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in (DLL_OFILES): Add fhandler_dev.o.
- * devices.h (DEV_DEV_MAJOR): Define.
- (FH_DEV): Redefine in terms of DEV_DEV_MAJOR.
- (ext_dev_storage): Declare.
- (dev_storage_size): Declare.
- (dev_dev_storage): Declare.
- (dev_dev): Define.
- (isdev_dev): Define.
- * devices.in (dev_dev_storage): Activate.
- (ext_dev_storage): Define as externally available pointer to
- dev_storage.
- (dev_storage_size): Define to contain number of dev_storage elements.
- * dir.cc (rmdir): Handle /dev as always not empty.
- * dtable.cc (fh_alloc): Handle DEV_DEV_MAJOR.
- * fhandler.h (fhandler_dev): New class, derived from fhandler_disk_file.
- (fhandler_union): Add fhandler_dev member.
- * fhandler_disk_file.cc (class __DIR_mounts): Handle /dev directory
- to make sure it always exists.
- * fhandler_dev.cc: New file implementing /dev.
- * globals.cc (ro_u_dev): New R/O unicode string.
- * path.cc (path_conv::check): Handle FH_DEV device.
-
-2012-03-29 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_console.cc (fhandler_console::set_unit): Don't succeed
- unless we are opening a console actually associated with this process.
-
-2012-03-29 Corinna Vinschen <corinna@vinschen.de>
-
- * sec_acl.cc (acl32): Fix potential crash if build_fh_name returns NULL.
-
-2012-03-29 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * exceptions.cc (ctrl_c_handler): Don't generate a SIGINT if we've
- execed a non-cygwin process. Let the Windows process deal with it
- itself.
-
-2012-03-28 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * sigproc.cc (proc_terminate): Avoid releasing myself.
-
-2012-03-28 Corinna Vinschen <corinna@vinschen.de>
-
- * times.cc (clock_setres): Set minperiod to period.
-
-2012-03-27 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_process.cc (process_tab): Add entry for mountinfo.
- (format_process_mountstuff): New function, derived from
- format_process_mounts. Only open another user's user_info shared
- memory area if the process is owned by another user. Actually
- access the opened shared user_info to get the right mount table.
- For other users, don't print remote cygdrive mount points. Print
- mountinfo or mounts output depending on the bool mountinfo argument.
- (format_process_mounts): Just call format_process_mountstuff with
- mountinfo set to false.
- (format_process_mountinfo): Ditto with mountinfo set to true.
-
-2012-03-27 Corinna Vinschen <corinna@vinschen.de>
-
- * times.cc (clock_setres): Revert previous change.
-
-2012-03-26 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (class fhandler_dev_clipboard): Add fstat method.
- * fhandler_clipboard.cc (cygcb_t): New type for Cygwin-specific
- clipboard format.
- (set_clipboard): Use new clipboard format to allow setting a timestamp.
- (fhandler_dev_clipboard::fstat): New method. Read modification and
- access timestamp as well as length from clipboard data.
- (fhandler_dev_clipboard::read): Use new clipboard format.
-
-2012-03-26 Corinna Vinschen <corinna@vinschen.de>
-
- * hires.h (hires_ms::dmsecs): Drop unused method.
- * times.cc (JITTER): Remove.
- (gtod): Revert to process-local variable.
- (hires_ms::nsecs): Just return system time to disallow discrepancy with
- the OS.
- (hires_ms::resolution): Return coarsest timer value from OS. Add
- comment to explain why.
- (clock_setres): Ditto.
-
-2012-03-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * child_info.h: Reset magic number.
-
-2012-03-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * child_info.h (child_info::postfork): Define new function.
- * fork.cc (frok::parent): Call postfork to do all of the manipulation
- required prior to calling pinfo::remember.
- * pinfo.h (pinfo::set_rd_proc_pipe): Just set pinfo's rd_proc_pipe.
- Don't bother setting it to NULL.
- * sigproc.cc (child_info_spawn::wait_for_myself): Call postfork to set
- up myself for waiting.
- * spawn.cc (child_info_spawn::worker): Avoid now-unnecessary global
- lock. Consistently test mode rather than chtype when making
- wr_proc_pipe decisions. Call postfork() to set up stuff prior to
- pinfo::remember.
-
-2012-03-21 Corinna Vinschen <corinna@vinschen.de>
-
- * cygtls.cc (well_known_dlls): Add advapi32.dll.
-
-2012-03-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * child_info.h: Reset magic number.
- (child_info_spawn::wait_for_myself): Move function to sigproc.cc.
- * pinfo.cc (is_toplevel_proc): Delete unneeded variable.
- * sigproc.cc (child_info_spawn::wait_for_myself): Move function from
- header to here. Do all setup required to properly wait for top-level
- execed process to exit.
- * spawn.cc (child_info_spawn::worker): Attempt to properly handle
- _P_DETACH. Set wr_proc_pipe if top-level process even when execing.
- Just call wait_for_myself() to... wait for myself. Don't call cleanup
- twice.
-
-2012-03-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * pinfo.cc (proc_waiter): Remove debugging.
-
-2012-03-20 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (set_std_handle): Call SetStdHandle with NULL if fd is
- closed.
- (dtable::release): "Close" standard handle if appropriate.
- * dcrt0.cc (dll_crt0_0): Fix minor switch formatting problem.
- * fork.cc (frok::parent): Make minor comment indentation change.
-
-2012-03-20 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (lseek): Fix debug output.
-
-2012-03-20 Christian Franke <franke@computer.org>
-
- * ntdll.h (SharedUserData): Add volatile qualifier. This fixes a
- possible infinite loop in hires_ms::timeGetTime_ns.
-
-2012-03-20 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/socket.h: Fix definitions of MCAST_INCLUDE and
- MCAST_EXCLUDE.
-
-2012-03-20 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * child_info.h (CURR_CHILD_INFO_MAGIC): Reset.
- (child_info::rd_proc_pipe): Declare new field.
- (child_info::wr_proc_pipe): Ditto.
- (child_info::prefork): Declare new function, derived from previous
- pinfo version.
- * dcrt0.cc (child_info_fork::handle_fork): Close previous wr_proc_pipe
- when appropriate and assign new one from passed-in child_info block.
- (child_info_spawn::handle_spawn): Assign our wr_proc_pipe handle from
- passed-in child_info block.
- * fork.cc (child_info::prefork): Define new function.
- (frok::child): Clear rd_proc_pipe and wr_proc_pipe so they will not be
- closed by the child_info destructor.
- (frok::parent): Use child_info prefork handling, outside of retry loop.
- Set rd_proc_pipe in child's pinfo after successful CreateProcess.
- Eliminate postfork call.
- * globals.cc (my_wr_proc_pipe): Define/declare new variable.
- * pinfo.cc (pinfo::pending_rd_proc_pipe): Delete.
- (pinfo::pending_wr_proc_pipe): Ditto.
- (pinfo::prefork): Ditto.
- (pinfo::postfork): Ditto.
- (pinfo::postexec): Ditto.
- (pinfo::wait): Assume that rd_proc_pipe is set up correctly prior to
- call.
- (_pinfo::alert_parent): Replace "wr_proc_pipe" with "my_wr_proc_pipe".
- * pinfo.h (_pinfo::_wr_proc_pipe): Delete declaration.
- (_pinfo::set_rd_proc_pipe): Define new function.
- (pinfo::pending_rd_proc_pipe): Delete declaration.
- (pinfo::pending_wr_proc_pipe): Ditto.
- (pinfo::prefork): Ditto.
- (pinfo::postfork): Ditto.
- (pinfo::postexec): Ditto.
- (pinfo::wr_proc_pipe): Ditto.
- * sigproc.cc (child_info::child_info): Clear rd_proc_pipe and
- wr_proc_pipe.
- (child_info::cleanup): Close rd_proc_pipe and
- wr_proc_pipe if necessary.
- (child_info_fork::child_info_fork): Set forker_finished to NULL by
- default.
- (child_info_spawn::child_info_spawn): Use my_wr_proc_pipe rather than
- myself->wr_proc_pipe.
- (child_info::sync): Ditto.
- (child_info_spawn::cleanup): Call child_info::cleanup.
- * spawn.cc (child_info_spawn::worker): Remove call to myself.prefork().
- Set wr_proc_pipe when execing or set up new rd_proc_pipe/wr_proc_pipe
- via child_info::prefork when spawning. Remove call to pinfo::postexec.
- Set rd_proc_pipe in child pinfo when spawning. Use my_wr_proc_pipe
- rather than myself->wr_proc_pipe. Remove call to postfork.
-
-2012-03-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * pinfo.cc (pinfo_init): Cosmetic change: unset "destroy" for myself.
- (pinfo::wait): Change some comments.
- (pinfo::prefork): Move a comment.
- (pinfo::postfork): Set pending_*_pipe variables to NULL if closed.
- (pinfo::postexec): Use right name when closing handle.
- (_pinfo::alert_parent): Ditto.
- * sigproc.h (hold_everything): Remove debugging label.
-
-2012-03-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygserver_ipc.h: Include sigproc.h for signal_arrived declaration.
-
-2012-03-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygprops.h: Use #pragma once.
- * mkglobals_h: Ditto for generated globals.h file.
- * globals.cc: Use specific NO_GLOBALS_H flag to control inclusion of
- globals.h.
- * winsup.h: Honor NO_GLOBALS_H to control inclusion of globals.h. Make
- clear_procimptoken extern inline so that it is only defined when
- needed.
-
-2012-03-19 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (cancelable_wait): Don't malloc tbi, just make it a struct
- on the stack to avoid memory leak.
-
-2012-03-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * pinfo.cc (pinfo::wait): Handle case where prefork was not called
- prior to calling wait(). This is the case when we are reabsorbing
- processes after being execed.
-
-2012-03-16 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fork.cc (lock_signals): Move to sigproc.h.
- (lock_pthread): Ditto.
- (hold_everything): Ditto.
- (frok::parent): Call myself.prefork() just before calling
- CreateProcess. Call myself.postfork () on function exit.
- * pinfo.cc (pinfo::pending_rd_proc_pipe): Define.
- (pinfo::pending_wr_proc_pipe): Ditto.
- (_pinfo::dup_proc_pipe): Delete.
- (pinfo::wait): Move pipe creation into pinfo::prefork. Set pipe
- variables from pending_*.
- (_pinfo::sync_proc_pipe): Delete.
- (_pinfo::proc_pipe_owner): Ditto.
- (pinfo::prefork): Define new function.
- (pinfo::postfork): Ditto.
- (pinfo::postexec): Ditto.
- (_pinfo::alert_parent): Remove obsolete call to sync_proc_pipe.
- (_pinfo::dup_proc_pipe): Delete declaration.
- (_pinfo::sync_proc_pipe): Ditto.
- (pinfo::pending_rd_proc_pipe): Declare.
- (pinfo::pending_wr_proc_pipe): Ditto.
- (pinfo::prefork): Declare new function.
- (pinfo::postfork): Ditto.
- (pinfo::postexec): Ditto.
- (pinfo::wr_proc_pipe): Define new wrapper function.
- * sigproc.h: Include "sync.h". Move locking functions from fork to
- here.
- * spawn.cc (child_info_spawn::worker): Delete now-unneeded requirement
- to record orig_wr_proc_pipe. Call hold_everything prior to doing
- anything. Call myself.prefork() if spawning. Replace wr_proc_pipe
- synchronization with call to myself.postexec(). Call myself.postfork()
- if not execing.
- * sync.h: Replace #ifdef wrapper with "#pragma once".
-
-2012-03-13 Corinna Vinschen <corinna@vinschen.de>
-
- * hookapi.cc (hook_or_detect_cygwin): Change condition when to use
- importRVAMaxSize or importRVASize for the mapping size. Make sure
- to map never more than the section size. Change comments accordingly.
-
-2012-03-13 Corinna Vinschen <corinna@vinschen.de>
-
- * include/netdb.h (h_errno): Add self-referencing macro and comment.
-
-2012-03-12 Corinna Vinschen <corinna@vinschen.de>
- Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler.h (wait_return): Add overlapped_nullread.
- * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Detect
- zero-byte read as a special case.
- (fhandler_base_overlapped::raw_read): Keep looping when zero-byte read
- detected without EOF.
- (fhandler_base_overlapped::raw_write): Quiet gcc warning by adding
- overlapped_nullread to switch statement even though it will never
- actually be hit.
-
-2012-03-10 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (fh_alloc): Treat pc.dev as unsigned.
- * fhandler_console.cc (fhandler_console::set_unit): Use lock always to
- avoid races between competing cygwin processes running on the console.
-
-2012-03-09 Corinna Vinschen <corinna@vinschen.de>
-
- * hookapi.cc (find_first_notloaded_dll): Fix a compiler warning.
-
-2012-03-09 Corinna Vinschen <corinna@vinschen.de>
-
- * hookapi.cc (rvadelta): Add parameter to return maximum available
- size from start of import RVA table to end of section.
- (find_first_notloaded_dll): Take big executables into account. Use
- offset and size computation as in hook_or_detect_cygwin, just simpler.
- (hook_or_detect_cygwin): Return NULL rather than false througout.
- Change computation of required mapping size to take non-gcc compilers
- into account. Explain the differences and what we do against them.
- Don't alloca buf if fn is NULL. Never use buf if fn is NULL.
-
-2012-03-08 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (call_gaa): New thread function to call GetAdaptersAddresses.
- (get_adapters_addresses): Call call_gaa. If necessary, call it as
- child thread. Explain why that's necessary.
-
-2012-03-08 Václav Zeman <vhaisman@gmail.com>
-
- * path.cc (readlink): Avoid calling strlen() twice.
-
-2012-03-07 Corinna Vinschen <corinna@vinschen.de>
-
- * Throughout, replace usage of w32api's min with MIN from sys/param.h.
-
-2012-03-07 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * pinfo.cc (_pinfo::dup_proc_pipe): Reorganize to provide more
- information for failing condition.
- (pinfo::wait): Pass name of function to dup_proc_pipe. Eliminate error
- check for dup_proc_pipe since it never actually returned an error.
- * pinfo.h (_pinfo::dup_proc_pipe): Add an argument.
- * spawn.cc (child_info_spawn::worker): Pass name of function to
- dup_proc_pipe.
-
-2012-03-07 Corinna Vinschen <corinna@vinschen.de>
-
- * glob.cc (MAXPATHLEN): Reinstantiate with a value of 8192.
-
-2012-03-05 Denis Excoffier <cygwin@Denis-Excoffier.org>
-
- * pinfo.cc (_pinfo::dup_proc_pipe): Fix order of arguments in debug
- output.
-
-2012-03-05 Corinna Vinschen <corinna@vinschen.de>
-
- * init.cc (dll_entry): Move wincap.init call back from here...
- * dcrt0.cc (dll_crt0_0): ...to here.
-
-2012-03-05 Corinna Vinschen <corinna@vinschen.de>
-
- * cygheap.h (enum fcwd_version_t): Move here from path.cc.
- (class fcwd_access_t): Ditto. Only declare methods.
- (class cwdstuff): Move fast_cwd_ptr and fast_cwd_version from shared
- DLL section here.
- * path.cc: Keep fcwd_access_t method definitions.
- (fcwd_access_t::fast_cwd_version): New method.
- (find_fast_cwd_pointer): Change comment. Mention test on W8CP.
- (cwdstuff::init): Initialize fast_cwd_ptr and fast_cwd_version.
-
-2012-03-05 Corinna Vinschen <corinna@vinschen.de>
-
- * dll_init.cc (dll_list::operator[]): Extend comment a bit more to
- explain previous patch.
-
-2012-03-04 Corinna Vinschen <corinna@vinschen.de>
-
- * dll_init.cc (dll_list::alloc): Compare linked DLLs by basename only.
- Explain why. Add code to check if a DLL with the same basename but
- different path is the same DLL. Bail out if not.
- (in_load_after_fork): New static NO_COPY bool to allow to differ
- between linked and loaded DLL at fork.
- (dll_list::load_after_fork): Set in_load_after_fork accordingly.
- (dll_dllcrt0_1): Don't treat DLL as linked if in_load_after_fork is set.
- Drop test for in_forkee.
-
-2012-03-04 Corinna Vinschen <corinna@vinschen.de>
-
- * dll_init.cc: Revert pathname changes from 2012-02-08.
- (dll_list::operator[]): Add long comment to explain the misery.
- (dll_list::alloc): Skip long pathname prefix potentially returned by
- GetModuleFileNameW.
- * dll_init.h (dll_list::find_by_modname): Add back declaration.
-
-2012-03-04 Corinna Vinschen <corinna@vinschen.de>
-
- * winver.rc: Bump copyright date.
-
-2012-03-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_console.cc (fhandler_console::dup): Only set ctty when we
- haven't specifically called setsid.
- * fhandler_tty.cc (fhandler_pty_slave::dup): Ditto. Also add comment
- documenting research into rxvt problem.
- * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Don't check
- specifically for myself->ctty == -1. Test for > 0 as that is the
- correct test.
- (fhandler_termios::sigflush): Ditto.
-
-2012-03-02 Corinna Vinschen <corinna@vinschen.de>
-
- * flock.cc (allow_others_to_sync): Reorder conditional expression to
- check for DACL presence first, since otherwise dacl pointer value is
- undefined. Add comment.
-
-2012-03-02 Corinna Vinschen <corinna@vinschen.de>
-
- * flock.cc (allow_others_to_sync): Use RtlGetDaclSecurityDescriptor
- rather than accessing the SECURITY_DESCRIPTOR structure directly.
- Take no DACL and NULL DACL into account.
-
-2012-03-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (fhandler_console::input_tcsetattr): Revert
- previous patch.
- (fhandler_console::open_setup): Install Ctrl-C handler here, if this
- console is the controlling tty and the process hasn't been started by
- a Cygwin process.
-
-2012-03-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (fhandler_console::input_tcsetattr): Set the
- state of the Ctrl-C handler depending on the setting of
- ENABLE_PROCESSED_INPUT.
-
-2012-02-28 Eric Blake <eblake@redhat.com>
-
- * include/sys/termios.h (tcgetsid): Fix return type.
- * termios.cc (tcgetsid): Likewise.
- * fhandler_termios.cc (fhandler_termios::tcgetsid): Likewise.
- * fhandler.h (fhandler_base): Likewise.
- * fhandler.cc (fhandler_base::tcgetsid): Likewise.
-
-2012-02-28 Corinna Vinschen <corinna@vinschen.de>
-
- * cygtls.cc (well_known_dlls): Add shlwapi.dll.
-
-2012-02-27 Corinna Vinschen <corinna@vinschen.de>
-
- * cygtls.cc (dll_cmp): New comparison function for bsearch.
- (well_known_dlls): New array containing well-known DLLs.
- (_cygtls::call2): Add code for BLODA detection.
- * net.cc (fdsock): Ditto.
-
-2012-02-26 Corinna Vinschen <corinna@vinschen.de>
-
- * environ.cc (enum settings): Add setbool. Rename justset to setdword
- to avoid future problems.
- (struct parse_thing): Change all justset to setbool for bool variables.
- (parse_options): Add a case for setbool setting for bool variables
- since justset (now setdword) always writes a DWORD value, thus
- overwriting adjacent memory locations.
- * external.cc (cygwin_internal): Drop extern declaration.
-
-2012-02-26 Corinna Vinschen <corinna@vinschen.de>
-
- * environ.cc (dos_file_warning): Drop declaration.
- (ignore_case_with_glob): Ditto.
- (allow_winsymlinks): Ditto.
- (reset_com): Move definition to globals.cc.
- (struct parse_thing): Add "detect_bloda" option.
- * fhandler_serial.cc (fhandler_serial::open): Drop (incorrect)
- declaration of reset_com.
- * globals.cc (ignore_case_with_glob): Move definition into C++-only
- block.
- (dos_file_warning): Define.
- (allow_winsymlinks): Define.
- (reset_com): Define.
- (detect_bloda): Define.
- * path.cc (dos_file_warning): Drop definition here.
- (allow_winsymlinks): Drop definition here.
-
-2012-02-26 Corinna Vinschen <corinna@vinschen.de>
-
- * flock.cc (LOCK_DIR_NAME_FMT): Define.
- (LOCK_DIR_NAME_LEN): Define.
- (LOCK_DIR_NAME_DEV_OFF): Define.
- (LOCK_DIR_NAME_INO_OFF): Define.
- (LOCK_OBJ_NAME_FMT): Define. Add comment.
- (class lockf_t): Use bitsize-explicit types. Declare from_obj_name,
- (class inode_t): Make use, unuse and inuse methods public. Add a
- lock argument to get method declaration.
- (inode_t::get): Add lock argument. Only lock node if lock arg is true.
- (inode_t::inode_t): Use LOCK_DIR_NAME_FMT as format string.
- (lockf_t::from_obj_name): New method to generate lockf_t content from
- lock event object basename.
- (inode_t::get_all_locks_list): Just call from_obj_name here and copy
- result into final lockf_t.
- (create_lock_obj_attr): Use LOCK_OBJ_NAME_FMT as format string.
- (create_lock_in_parent): New thread function to create lockf_t
- structure in parent process.
- (delete_lock_in_parent): New thread function to reap stale BSD locks in
- parent process.
- (lockf_t::create_lock_obj): Try to duplicate lock object handle into
- parent process and call create_lock_in_parent as parent remote thread.
- (lockf_t::del_lock_obj): Call delete_lock_in_parent as parent remote
- thread.
- (fhandler_disk_file::lock): Add lock arg to inode_t::get call.
-
-2012-02-25 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 12.
-
2012-02-21 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* cygwin.din (scandirat): Export.
@@ -2077,7 +156,7 @@
2012-02-13 Corinna Vinschen <corinna@vinschen.de>
- * Makefile.in (clean): Remove non-existent regexp dir.
+ * Makefile.in (clean): Remove non-existant regexp dir.
* collate.h: New header.
(__collate_range_cmp): Declare.
@@ -2354,7 +433,7 @@
* fhandler.h (fhandler_fifo::arm): Declare new function.
* fhandler_fifo.cc (fhandler_fifo::arm): Define new function.
(fhandler_fifo::open): Fix handling of RDWR pipes to avoid opening a
- second handle. Use arm() function to set events.
+ second handle. Use arm() function to set events.
(fhandler_fifo::raw_read): Correctly go into "connect again logic" when
we detect another writer is available. Use arm() function to set event.
* pipe.cc (fhandler_pipe::create): Add more detail to debugging output.
diff --git a/winsup/cygwin/DevNotes b/winsup/cygwin/DevNotes
deleted file mode 100644
index 68d8320cd..000000000
--- a/winsup/cygwin/DevNotes
+++ /dev/null
@@ -1,385 +0,0 @@
-2012-08-09 cgf-000014
-
-So, apparently I got it somewhat right before wrt signal handling.
-Checking on linux, it appears that signals will be sent to a thread
-which can accept the signal. So resurrecting and extending the
-"find_tls" function is in order. This function will return the tls
-of any thread which 1) is waiting for a signal with sigwait*() or
-2) has the signal unmasked.
-
-In redoing this it became obvious that I had the class designation wrong
-for the threadlist handling so I moved the manipulation of the global
-threadlist into the cygheap where it logically belongs.
-
-2012-07-21 cgf-000013
-
-These changes reflect a revamp of the "wait for signal" functionality
-which has existed in Cygwin through several signal massages.
-
-We now create a signal event only when a thread is waiting for a signal
-and arm it only for that thread. The "set_signal_arrived" function is
-used to establish the event and set it in a location referencable by
-the caller.
-
-I still do not handle all of the race conditions. What happens when
-a signal comes in just after a WF?O succeeds for some other purpose? I
-suspect that it will arm the next WF?O call and the subsequent call to
-call_signal_handler could cause a function to get an EINTR when possibly
-it shouldn't have.
-
-I haven't yet checked all of the test cases for the URL listed in the
-previous entry.
-
-Baby steps.
-
-2012-06-12 cgf-000012
-
-These changes are the preliminary for redoing the way threads wait for
-signals. The problems are shown by the test case mentioned here:
-
-http://cygwin.com/ml/cygwin/2012-05/msg00434.html
-
-I've known that the signal handling in threads wasn't quite right for
-some time. I lost all of my thread signal tests in the great "rm -r"
-debacle of a few years ago and have been less than enthusiastic about
-redoing everything (I had PCTS tests and everything). But it really is
-time to redo this signal handling to make it more like it is supposed to
-be.
-
-This change should not introduce any new behavior. Things should
-continue to behave as before. The major differences are a change in the
-arguments to cancelable_wait and cygwait now uses cancelable_wait and,
-so, the returns from cygwait now mirror cancelable_wait.
-
-The next change will consolidate cygwait and cancelable_wait into one
-cygwait function.
-
-2012-06-02 cgf-000011
-
-The refcnt handling was tricky to get right but I had convinced myself
-that the refcnt's were always incremented/decremented under a lock.
-Corinna's 2012-05-23 change to refcnt exposed a potential problem with
-dup handling where the fdtab could be updated while not locked.
-
-That should be fixed by this change but, on closer examination, it seems
-like there are many places where it is possible for the refcnt to be
-updated while the fdtab is not locked since the default for
-cygheap_fdget is to not lock the fdtab (and that should be the default -
-you can't have read holding a lock).
-
-Since refcnt was only ever called with 1 or -1, I broke it up into two
-functions but kept the Interlocked* operation. Incrementing a variable
-should not be as racy as adding an arbitrary number to it but we have
-InterlockedIncrement/InterlockedDecrement for a reason so I kept the
-Interlocked operation here.
-
-In the meantime, I'll be mulling over whether the refcnt operations are
-actually safe as they are. Maybe just ensuring that they are atomically
-updated is enough since they control the destruction of an fh. If I got
-the ordering right with incrementing and decrementing then that should
-be adequate.
-
-2012-06-02 cgf-000010
-
-<1.7.16>
-- Fix emacs problem which exposed an issue with Cygwin's select() function.
- If a signal arrives while select is blocking and the program longjmps
- out of the signal handler then threads and memory may be left hanging.
- Fixes: http://cygwin.com/ml/cygwin/2012-05/threads.html#00275
-</1.7.16>
-
-This was try #4 or #5 to get select() signal handling working right.
-It's still not there but it should now at least not leak memory or
-threads.
-
-I mucked with the interface between cygwin_select and select_stuff::wait
-so that the "new" loop in select_stuff::wait() was essentially moved
-into the caller. cygwin_select now uses various enum states to decide
-what to do. It builds the select linked list at the beginning of the
-loop, allowing wait() to tear everything down and restart. This is
-necessary before calling a signal handler because the signal handler may
-longjmp away.
-
-I initially had this all coded up to use a special signal_cleanup
-callback which could be called when a longjmp is called in a signal
-handler. And cygwin_select() set up and tore down this callback. Once
-I got everything compiling it, of course, dawned on me that just because
-you call a longjmp in a signal handler it doesn't mean that you are
-jumping *out* of the signal handler. So, if the signal handler invokes
-the callback and returns it will be very bad for select(). Hence, this
-slower, but hopefully more correct implementation.
-
-(I still wonder if some sort of signal cleanup callback might still
-be useful in the future)
-
-TODO: I need to do an audit of other places where this problem could be
-occurring.
-
-As alluded to above, select's signal handling is still not right. It
-still acts as if it could call a signal handler from something other
-than the main thread but, AFAICT, from my STC, this doesn't seem to be
-the case. It might be worthwhile to extend cygwait to just magically
-figure this out and not even bother using w4[0] for scenarios like this.
-
-2012-05-16 cgf-000009
-
-<1.7.16>
-- Fix broken console mouse handling. Reported here:
- http://cygwin.com/ml/cygwin/2012-05/msg00360.html
-</1.7.16>
-
-I did a cvs annotate on smallprint.cc and see that the code to translate
-%characters > 127 to 0x notation was in the 1.1 revision. Then I
-checked the smallprint.c predecessor. It was in the 1.1 version of that
-program too, which means that this odd change has probably been around
-since <= 2000.
-
-Since __small_sprintf is supposed to emulate sprintf, I got rid of the
-special case handling. This may affect fhandler_socket::bind. If so, we
-should work around this problem there rather than keeping this strange
-hack in __small_printf.
-
-2012-05-14 cgf-000008
-
-<1.7.16>
-- Fix hang when zero bytes are written to a pty using
- Windows WriteFile or equivalent. Fixes:
- http://cygwin.com/ml/cygwin/2012-05/msg00323.html
-</1.7.16>
-
-cgf-000002, as usual, fixed one thing while breaking another. See
-Larry's predicament in: http://goo.gl/oGEr2 .
-
-The problem is that zero byte writes to the pty pipe caused the dread
-end-of-the-world-as-we-know-it problem reported on the mailing list
-where ReadFile reads zero bytes even though there is still more to read
-on the pipe. This is because that change caused a 'record' to be read
-and a record can be zero bytes.
-
-I was never really keen about using a throwaway buffer just to get a
-count of the number of characters available to be read in the pty pipe.
-On closer reading of the documentation for PeekNamedPipe it seemed like
-the sixth argument to PeekNamedPipe should return what I needed without
-using a buffer. And, amazingly, it did, except that the problem still
-remained - a zero byte message still screwed things up.
-
-So, we now detect the case where there is zero bytes available as a
-message but there are bytes available in the pipe. In that scenario,
-return the bytes available in the pipe rather than the message length of
-zero. This could conceivably cause problems with pty pipe handling in
-this scenario but since the only way this scenario could possibly happen
-is when someone is writing zero bytes using WriteFile to a pty pipe, I'm
-ok with that.
-
-2012-05-14 cgf-000007
-
-<1.7.16>
-- Fix invocation of strace from a cygwin process. Fixes:
- http://cygwin.com/ml/cygwin/2012-05/msg00292.html
-</1.7.16>
-
-The change in cgf-000004 introduced a problem for processes which load
-cygwin1.dll dynamically. strace.exe is the most prominent example of
-this.
-
-Since the parent handle is now closed for "non-Cygwin" processes, when
-strace.exe tried to dynamically load cygwin1.dll, the handle was invalid
-and child_info_spawn::handle_spawn couldn't use retrieve information
-from the parent. This eventually led to a strace_printf error due to an
-attempt to dereference an unavailable cygheap. Probably have to fix
-this someday. You shouldn't use the cygheap while attempting to print
-an error about the inavailability of said cygheap.
-
-This was fixed by saving the parent pid in child_info_spawn and calling
-OpenProcess for the parent pid and using that handle iff a process is
-dynamically loaded.
-
-2012-05-12 cgf-000006
-
-<1.7.16>
-- Fix hang when calling pthread_testcancel in a canceled thread.
- Fixes some of: http://cygwin.com/ml/cygwin/2012-05/msg00186.html
-</1.7.16>
-
-This should fix the first part of the reported problem in the above
-message. The cancel seemed to actually be working but, the fprintf
-eventually ended up calling pthread_testcancel. Since we'd gotten here
-via a cancel, it tried to recursively call the cancel handler causing a
-recursive loop.
-
-2012-05-12 cgf-000005
-
-<1.7.16>
-- Fix pipe creation problem which manifested as a problem creating a
-fifo. Fixes: http://cygwin.com/ml/cygwin/2012-05/msg00253.html
-</1.7.16>
-
-My change on 2012-04-28 introduced a problem with fifos. The passed
-in name was overwritten. This was because I wasn't properly keeping
-track of the length of the generated pipe name when there was a
-name passed in to fhandler_pipe::create.
-
-There was also another problem in fhandler_pipe::create. Since fifos
-use PIPE_ACCESS_DUPLEX and PIPE_ACCESS_DUPLEX is an or'ing of
-PIPE_ACCESS_INBOUND and PIPE_ACCESS_OUTBOUND, using PIPE_ACCESS_OUTBOUND
-as a "never-used" option for PIPE_ADD_PID in fhandler.h was wrong. So,
-fifo creation attempted to add the pid of a pipe to the name which is
-wrong for fifos.
-
-2012-05-08 cgf-000004
-
-The change for cgf-000003 introduced a new problem:
-http://cygwin.com/ml/cygwin/2012-05/msg00154.html
-http://cygwin.com/ml/cygwin/2012-05/msg00157.html
-
-Since a handle associated with the parent is no longer being duplicated
-into a non-cygwin "execed child", Windows is free to reuse the pid of
-the parent when the parent exits. However, since we *did* duplicate a
-handle pointing to the pid's shared memory area into the "execed child",
-the shared memory for the pid was still active.
-
-Since the shared memory was still available, if a new process reuses the
-previous pid, Cygwin would detect that the shared memory was not created
-and had a "PID_REAPED" flag. That was considered an error, and, so, it
-would set procinfo to NULL and pinfo::thisproc would die since this
-situation is not supposed to occur.
-
-I fixed this in two ways:
-
-1) If a shared memory region has a PID_REAPED flag then zero it and
-reuse it. This should be safe since you are not really supposed to be
-querying the shared memory region for anything after PID_REAPED has been
-set.
-
-2) Forego duping a copy of myself_pinfo if we're starting a non-cygwin
-child for exec.
-
-It seems like 2) is a common theme and an audit of all of the handles
-that are being passed to non-cygwin children is in order for 1.7.16.
-
-The other minor modification that was made in this change was to add the
-pid of the failing process to fork error output. This helps slightly
-when looking at strace output, even though in this case it was easy to
-find what was failing by looking for '^---' when running the "stv"
-strace dumper. That found the offending exception quickly.
-
-2012-05-07 cgf-000003
-
-<1.7.15>
-Don't make Cygwin wait for all children of a non-cygwin child program.
-Fixes: http://cygwin.com/ml/cygwin/2012-05/msg00063.html,
- http://cygwin.com/ml/cygwin/2012-05/msg00075.html
-</1.7.15>
-
-This problem is due to a recent change which added some robustness and
-speed to Cygwin's exec/spawn handling by not trying to force inheritance
-every time a process is started. See ChangeLog entries starting on
-2012-03-20, and multiple on 2012-03-21.
-
-Making the handle inheritable meant that, as usual, there were problems
-with non-Cygwin processes. When Cygwin "execs" a non-Cygwin process N,
-all of its N + 1, N + 2, ... children will also inherit the handle.
-That means that Cygwin will wait until all subprocesses have exited
-before it returns.
-
-I was willing to make this a restriction of starting non-Cygwin
-processes but the problem with allowing that is that it can cause the
-creation of a "limbo" pid when N exits and N + 1 and friends are still
-around. In this scenario, Cygwin dutifully notices that process N has
-died and sets the exit code to indicate that but N's parent will wait on
-rd_proc_pipe and will only return when every N + ... windows process
-has exited.
-
-The removal of cygheap::pid_handle was not related to the initial
-problem that I set out to fix. The change came from the realization
-that we were duping the current process handle into the child twice and
-only needed to do it once. The current process handle is used by exec
-to keep the Windows pid "alive" so that it will not be reused. So, now
-we just close parent in child_info_spawn::handle_spawn iff we're not
-execing.
-
-In debugging this it bothered me that 'ps' identified a nonactive pid as
-active. Part of the reason for this was the 'parent' handle in
-child_info was opened in non-Cygwin processes, keeping the pid alive.
-That has been kluged around (more changes after 1.7.15) but that didn't
-fix the problem. On further investigation, this seems to be caused by
-the fact that the shared memory region pid handles were still being
-passed to non-cygwin children, keeping the pid alive in a limbo-like
-fashion. This was easily fixed by having pinfo::init() consider a
-memory region with PID_REAPED as not available. A more robust fix
-should be considered for 1.7.15+ where these handles are not passed
-to non-cygwin processes.
-
-This fixed the problem where a pid showed up in the list after a user
-does something like: "bash$ cmd /c start notepad" but, for some reason,
-it does not fix the problem where "bash$ setsid cmd /c start notepad".
-That bears investigation after 1.7.15 is released but it is not a
-regression and so is not a blocker for the release.
-
-2012-05-03 cgf-000002
-
-<1.7.15>
-Fix problem where too much input was attempted to be read from a
-pty slave. Fixes: http://cygwin.com/ml/cygwin/2012-05/msg00049.html
-</1.7.15>
-
-My change on 2012/04/05 reintroduced the problem first described by:
-http://cygwin.com/ml/cygwin/2011-10/threads.html#00445
-
-The problem then was, IIRC, due to the fact that bytes sent to the pty
-pipe were not written as records. Changing pipe to PIPE_TYPE_MESSAGE in
-pipe.cc fixed the problem since writing lines to one side of the pipe
-caused exactly that the number of characters to be read on the other
-even if there were more characters in the pipe.
-
-To debug this, I first replaced fhandler_tty.cc with the 1.258,
-2012/04/05 version. The test case started working when I did that.
-
-So, then, I replaced individual functions, one at a time, in
-fhandler_tty.cc with their previous versions. I'd expected this to be a
-problem with fhandler_pty_master::process_slave_output since that had
-seen the most changes but was surprised to see that the culprit was
-fhandler_pty_slave::read().
-
-The reason was that I really needed the bytes_available() function to
-return the number of bytes which would be read in the next operation
-rather than the number of bytes available in the pipe. That's because
-there may be a number of lines available to be read but the number of
-bytes which will be read by ReadFile should reflect the mode of the pty
-and, if there is a line to read, only the number of bytes in the line
-should be seen as available for the next read.
-
-Having bytes_available() return the number of bytes which would be read
-seemed to fix the problem but it could subtly change the behavior of
-other callers of this function. However, I actually think this is
-probably a good thing since they probably should have been seeing the
-line behavior.
-
-2012-05-02 cgf-000001
-
-<1.7.15>
-Fix problem setting parent pid to 1 when process with children execs
-itself. Fixes: http://cygwin.com/ml/cygwin/2012-05/msg00009.html
-</1.7.15>
-
-Investigating this problem with strace showed that ssh-agent was
-checking the parent pid and getting a 1 when it shouldn't have. Other
-stuff looked ok so I chose to consider this a smoking gun.
-
-Going back to the version that the OP said did not have the problem, I
-worked forward until I found where the problem first occurred -
-somewhere around 2012-03-19. And, indeed, the getppid call returned the
-correct value in the working version. That means that this stopped
-working when I redid the way the process pipe was inherited around
-this time period.
-
-It isn't clear why (and I suspect I may have to debug this further at
-some point) this hasn't always been a problem but I made the obvious fix.
-We shouldn't have been setting ppid = 1 when we're about to pass off to
-an execed process.
-
-As I was writing this, I realized that it was necessary to add some
-additional checks. Just checking for "have_execed" isn't enough. If
-we've execed a non-cygwin process then it won't know how to deal with
-any inherited children. So, always set ppid = 1 if we've execed a
-non-cygwin process.
diff --git a/winsup/cygwin/Makefile.in b/winsup/cygwin/Makefile.in
index 6e4282843..4830e40d5 100644
--- a/winsup/cygwin/Makefile.in
+++ b/winsup/cygwin/Makefile.in
@@ -133,31 +133,31 @@ MALLOC_OFILES:=@MALLOC_OFILES@
DLL_IMPORTS:=$(w32api_lib)/libkernel32.a $(w32api_lib)/libntdll.a
MT_SAFE_OBJECTS:=
+# Please maintain this list in sorted order, with maximum files per 86 col line
#
DLL_OFILES:=advapi32.o assert.o autoload.o bsdlib.o ctype.o cxx.o cygheap.o \
- cygthread.o cygtls.o cygwait.o cygxdr.o dcrt0.o debug.o devices.o \
- dir.o dlfcn.o dll_init.o dtable.o environ.o errno.o exceptions.o \
- exec.o external.o fcntl.o fenv.o fhandler.o fhandler_clipboard.o \
- fhandler_console.o fhandler_dev.o fhandler_disk_file.o fhandler_dsp.o \
- fhandler_fifo.o fhandler_floppy.o fhandler_mailslot.o fhandler_mem.o \
- fhandler_netdrive.o fhandler_nodevice.o fhandler_proc.o \
- fhandler_process.o fhandler_procnet.o fhandler_procsys.o \
- fhandler_procsysvipc.o fhandler_random.o fhandler_raw.o \
- fhandler_registry.o fhandler_serial.o fhandler_socket.o fhandler_tape.o \
- fhandler_termios.o fhandler_tty.o fhandler_virtual.o fhandler_windows.o \
- fhandler_zero.o flock.o fnmatch.o fork.o fts.o ftw.o getopt.o glob.o \
- glob_pattern_p.o globals.o grp.o heap.o hookapi.o inet_addr.o \
- inet_network.o init.o ioctl.o ipc.o kernel32.o libstdcxx_wrapper.o \
- localtime.o lsearch.o malloc_wrapper.o minires-os-if.o minires.o \
- miscfuncs.o mktemp.o mmap.o msg.o mount.o net.o netdb.o nfs.o nftw.o \
- nlsfuncs.o ntea.o passwd.o path.o pinfo.o pipe.o poll.o posix_ipc.o \
- pseudo-reloc.o pthread.o random.o regcomp.o regerror.o regexec.o regfree.o \
- registry.o resource.o rexec.o rcmd.o scandir.o sched.o sec_acl.o \
- sec_auth.o sec_helper.o security.o select.o sem.o setlsapwd.o shared.o \
- shm.o sigfe.o signal.o sigproc.o smallprint.o spawn.o strace.o strfmon.o \
- strfuncs.o strptime.o strsep.o strsig.o sync.o syscalls.o sysconf.o \
- syslog.o termios.o thread.o timer.o times.o tls_pbuf.o tty.o uinfo.o \
- uname.o wait.o wincap.o window.o winf.o wow64.o xsique.o \
+ cygthread.o cygtls.o cygxdr.o dcrt0.o debug.o devices.o dir.o dlfcn.o \
+ dll_init.o dtable.o environ.o errno.o exceptions.o exec.o external.o \
+ fcntl.o fenv.o fhandler.o fhandler_clipboard.o fhandler_console.o \
+ fhandler_disk_file.o fhandler_dsp.o fhandler_fifo.o fhandler_floppy.o \
+ fhandler_mailslot.o fhandler_mem.o fhandler_netdrive.o fhandler_nodevice.o \
+ fhandler_proc.o fhandler_process.o fhandler_procnet.o fhandler_procsys.o \
+ fhandler_procsysvipc.o fhandler_random.o fhandler_raw.o fhandler_registry.o \
+ fhandler_serial.o fhandler_socket.o fhandler_tape.o fhandler_termios.o \
+ fhandler_tty.o fhandler_virtual.o fhandler_windows.o fhandler_zero.o \
+ flock.o fnmatch.o fork.o fts.o ftw.o getopt.o glob.o glob_pattern_p.o \
+ globals.o grp.o heap.o hookapi.o inet_addr.o inet_network.o init.o ioctl.o \
+ ipc.o kernel32.o libstdcxx_wrapper.o localtime.o lsearch.o malloc_wrapper.o \
+ minires-os-if.o minires.o miscfuncs.o mktemp.o mmap.o msg.o \
+ mount.o net.o netdb.o nfs.o nftw.o nlsfuncs.o ntea.o passwd.o path.o \
+ pinfo.o pipe.o poll.o posix_ipc.o pseudo-reloc.o pthread.o random.o \
+ regcomp.o regerror.o regexec.o regfree.o registry.o resource.o rexec.o \
+ rcmd.o scandir.o sched.o sec_acl.o sec_auth.o sec_helper.o security.o \
+ select.o sem.o setlsapwd.o shared.o shm.o sigfe.o signal.o sigproc.o \
+ smallprint.o spawn.o strace.o strfmon.o strfuncs.o strptime.o strsep.o \
+ strsig.o sync.o syscalls.o sysconf.o syslog.o termios.o thread.o \
+ timer.o times.o tls_pbuf.o tty.o uinfo.o uname.o wait.o wincap.o \
+ window.o winf.o wow64.o xsique.o \
$(EXTRA_DLL_OFILES) $(EXTRA_OFILES) $(MALLOC_OFILES) $(MT_SAFE_OBJECTS)
EXCLUDE_STATIC_OFILES:=$(addprefix --exclude=,\
@@ -237,7 +237,6 @@ ifneq "${filter -O%,$(CFLAGS)}" ""
cygheap_CFLAGS:=-fomit-frame-pointer
cygthread_CFLAGS:=-fomit-frame-pointer
cygtls_CFLAGS:=-fomit-frame-pointer
-cygwait_CFLAGS=-fomit-frame-pointer
delqueue_CFLAGS:=-fomit-frame-pointer
devices_CFLAGS:=-fomit-frame-pointer -Os
dir_CFLAGS:=-fomit-frame-pointer
@@ -271,12 +270,11 @@ fhandler_zero_CFLAGS:=-fomit-frame-pointer
flock_CFLAGS:=-fomit-frame-pointer
grp_CFLAGS:=-fomit-frame-pointer
libstdcxx_wrapper_CFLAGS:=-fomit-frame-pointer
-malloc_CFLAGS:=-fomit-frame-pointer -O3
+malloc_CFLAGS:=-fomit-frame-pointer
malloc_wrapper_CFLAGS:=-fomit-frame-pointer
miscfuncs_CFLAGS:=-fomit-frame-pointer
net_CFLAGS:=-fomit-frame-pointer
passwd_CFLAGS:=-fomit-frame-pointer
-path_CFLAGS=-fomit-frame-pointer
regcomp_CFLAGS=-fomit-frame-pointer
regerror_CFLAGS=-fomit-frame-pointer
regexec_CFLAGS=-fomit-frame-pointer
@@ -396,7 +394,7 @@ maintainer-clean realclean: clean
# Rule to build cygwin.dll
$(TEST_DLL_NAME): $(LDSCRIPT) dllfixdbg $(DLL_OFILES) $(DLL_IMPORTS) $(LIBSERVER) $(LIBC) $(LIBM) $(API_VER) Makefile winver_stamp
- $(CXX) $(CXXFLAGS) -Wl,--gc-sections $(nostdlib) -Wl,-T$(firstword $^) -static \
+ $(CXX) $(CXXFLAGS) -Wl,--gc-sections $(nostdlib) -Wl,-T$(firstword $^) \
-Wl,--heap=0 -Wl,--out-implib,cygdll.a -shared -o $@ \
-e $(DLL_ENTRY) $(DEF_FILE) $(DLL_OFILES) version.o winver.o \
$(MALLOC_OBJ) $(LIBSERVER) $(LIBM) $(LIBC) \
diff --git a/winsup/cygwin/advapi32.cc b/winsup/cygwin/advapi32.cc
index efc7c3873..47913a031 100644
--- a/winsup/cygwin/advapi32.cc
+++ b/winsup/cygwin/advapi32.cc
@@ -1,6 +1,6 @@
/* advapi32.cc: Win32 replacement functions.
- Copyright 2011, 2012 Red Hat, Inc.
+ Copyright 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -12,6 +12,7 @@ details. */
#include <winioctl.h>
#include "shared_info.h"
#include "ntdll.h"
+#include <wchar.h>
#define DEFAULT_NTSTATUS_TO_BOOL_RETURN \
if (!NT_SUCCESS (status)) \
@@ -88,7 +89,7 @@ ImpersonateLoggedOnUser (HANDLE tok)
DEFAULT_NTSTATUS_TO_BOOL_RETURN
}
-BOOL WINAPI
+BOOL
ImpersonateNamedPipeClient (HANDLE pipe)
{
IO_STATUS_BLOCK io;
diff --git a/winsup/cygwin/child_info.h b/winsup/cygwin/child_info.h
index eac40c247..1dfa51bf5 100644
--- a/winsup/cygwin/child_info.h
+++ b/winsup/cygwin/child_info.h
@@ -1,6 +1,6 @@
/* child_info.h: shared child info for cygwin
- Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2011, 2012
+ Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2011
Red Hat, Inc.
This file is part of Cygwin.
@@ -35,7 +35,7 @@ enum child_status
#define EXEC_MAGIC_SIZE sizeof(child_info)
/* Change this value if you get a message indicating that it is out-of-sync. */
-#define CURR_CHILD_INFO_MAGIC 0xf1378eabU
+#define CURR_CHILD_INFO_MAGIC 0x76041b78U
#define NPROCS 256
@@ -61,12 +61,9 @@ public:
void *cygheap_max;
unsigned char flag;
int retry; // number of times we've tried to start child process
- HANDLE rd_proc_pipe;
- HANDLE wr_proc_pipe;
HANDLE subproc_ready; // used for synchronization with parent
HANDLE user_h;
HANDLE parent;
- DWORD parent_winpid;
DWORD cygheap_reserve_sz;
unsigned fhandler_union_cb;
DWORD exit_code; // process exit code
@@ -81,18 +78,10 @@ public:
bool isstraced () const {return !!(flag & _CI_STRACED);}
bool iscygwin () const {return !!(flag & _CI_ISCYGWIN);}
bool saw_ctrl_c () const {return !!(flag & _CI_SAW_CTRL_C);}
- void prefork (bool = false);
- void cleanup ();
- void postfork (pinfo& child)
- {
- ForceCloseHandle (wr_proc_pipe);
- wr_proc_pipe = NULL;
- child.set_rd_proc_pipe (rd_proc_pipe);
- rd_proc_pipe = NULL;
- }
};
class mount_info;
+class _pinfo;
class child_info_fork: public child_info
{
@@ -165,7 +154,7 @@ public:
return true;
}
}
- void wait_for_myself ();
+ void wait_for_myself () { WaitForSingleObject (ev, INFINITE); }
bool has_execed () const
{
if (hExeced)
@@ -176,7 +165,6 @@ public:
lock->release ();
return !!hExeced;
}
- bool get_parent_handle ();
bool has_execed_cygwin () const { return iscygwin () && has_execed (); }
operator HANDLE& () {return hExeced;}
int worker (const char *, const char *const *, const char *const [], int,
diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc
index 639f4e662..bc96a5533 100644
--- a/winsup/cygwin/cygheap.cc
+++ b/winsup/cygwin/cygheap.cc
@@ -47,23 +47,6 @@ struct cygheap_entry
char data[0];
};
-class tls_sentry
-{
-public:
- static muto lock;
- int destroy;
- void init ();
- bool acquired () {return lock.acquired ();}
- tls_sentry () {destroy = 0;}
- tls_sentry (DWORD wait) {destroy = lock.acquire (wait);}
- ~tls_sentry () {if (destroy) lock.release ();}
-};
-
-muto NO_COPY tls_sentry::lock;
-static NO_COPY size_t nthreads;
-
-#define THREADLIST_CHUNK 256
-
#define NBUCKETS (sizeof (cygheap->buckets) / sizeof (cygheap->buckets[0]))
#define N0 ((_cmalloc_entry *) NULL)
#define to_cmalloc(s) ((_cmalloc_entry *) (((char *) (s)) - (unsigned) (N0->data)))
@@ -187,28 +170,18 @@ init_cygheap::init_installation_root ()
"GetModuleFileNameW(%p, %p, %u), %E",
cygwin_hmodule, installation_root, PATH_MAX);
PWCHAR p = installation_root;
- if (wcsncasecmp (p, L"\\\\", 2)) /* Normal drive letter path */
+ if (wcsncmp (p, L"\\\\?\\", 4)) /* No long path prefix. */
{
- p = wcpcpy (p, L"\\??\\");
- GetModuleFileNameW (cygwin_hmodule, p, PATH_MAX - 4);
- }
- else
- {
- bool unc = false;
- if (wcsncmp (p + 2, L"?\\", 2)) /* No long path prefix, so UNC path. */
+ if (!wcsncasecmp (p, L"\\\\", 2)) /* UNC */
{
p = wcpcpy (p, L"\\??\\UN");
GetModuleFileNameW (cygwin_hmodule, p, PATH_MAX - 6);
*p = L'C';
- unc = true;
}
- else if (!wcsncmp (p + 4, L"UNC\\", 4)) /* Native NT UNC path. */
- unc = true;
- if (unc)
+ else
{
- p = wcschr (p + 2, L'\\'); /* Skip server name */
- if (p)
- p = wcschr (p + 1, L'\\'); /* Skip share name */
+ p = wcpcpy (p, L"\\??\\");
+ GetModuleFileNameW (cygwin_hmodule, p, PATH_MAX - 4);
}
}
installation_root[1] = L'?';
@@ -227,13 +200,7 @@ init_cygheap::init_installation_root ()
if (!w)
api_fatal ("Can't initialize Cygwin installation root dir.\n"
"Invalid DLL path");
- /* If w < p, the Cygwin DLL resides in the root dir of a drive or network
- path. In that case, if we strip off yet another backslash, the path
- becomes invalid. We avoid that here so that the DLL also works in this
- scenario. The /usr/bin and /usr/lib default mounts will probably point
- to something non-existing, but that's life. */
- if (w > p)
- *w = L'\0';
+ *w = L'\0';
for (int i = 1; i >= 0; --i)
{
@@ -273,7 +240,6 @@ cygheap_init ()
cygheap->fdtab.init ();
if (!cygheap->sigs)
sigalloc ();
- cygheap->init_tls_list ();
}
/* Copyright (C) 1997, 2000 DJ Delorie */
@@ -563,84 +529,3 @@ cygheap_user::set_name (const char *new_name)
cfree_and_set (pdomain);
cfree_and_set (pwinname);
}
-
-void
-init_cygheap::init_tls_list ()
-{
- if (threadlist)
- memset (cygheap->threadlist, 0, cygheap->sthreads * sizeof (cygheap->threadlist[0]));
- else
- {
- sthreads = THREADLIST_CHUNK;
- threadlist = (_cygtls **) ccalloc_abort (HEAP_TLS, cygheap->sthreads,
- sizeof (cygheap->threadlist[0]));
- }
- tls_sentry::lock.init ("thread_tls_sentry");
-}
-
-void
-init_cygheap::add_tls (_cygtls *t)
-{
- cygheap->user.reimpersonate ();
- tls_sentry here (INFINITE);
- if (nthreads >= cygheap->sthreads)
- {
- threadlist = (_cygtls **)
- crealloc_abort (threadlist, (sthreads += THREADLIST_CHUNK)
- * sizeof (threadlist[0]));
- // memset (threadlist + nthreads, 0, THREADLIST_CHUNK * sizeof (threadlist[0]));
- }
-
- threadlist[nthreads++] = t;
-}
-
-void
-init_cygheap::remove_tls (_cygtls *t, DWORD wait)
-{
- tls_sentry here (wait);
- if (here.acquired ())
- {
- for (size_t i = 0; i < nthreads; i++)
- if (t == threadlist[i])
- {
- if (i < --nthreads)
- threadlist[i] = threadlist[nthreads];
- debug_only_printf ("removed %p element %d", this, i);
- break;
- }
- }
-}
-
-_cygtls *
-init_cygheap::find_tls (int sig)
-{
- debug_printf ("sig %d\n", sig);
- tls_sentry here (INFINITE);
-
- static int NO_COPY threadlist_ix;
-
- _cygtls *t = _main_tls;
-
- myfault efault;
- if (efault.faulted ())
- threadlist[threadlist_ix]->remove (INFINITE);
- else
- {
- threadlist_ix = -1;
- while (++threadlist_ix < (int) nthreads)
- if (sigismember (&(threadlist[threadlist_ix]->sigwait_mask), sig))
- {
- t = cygheap->threadlist[threadlist_ix];
- goto out;
- }
- threadlist_ix = -1;
- while (++threadlist_ix < (int) nthreads)
- if (!sigismember (&(threadlist[threadlist_ix]->sigmask), sig))
- {
- t = cygheap->threadlist[threadlist_ix];
- break;
- }
- }
-out:
- return t;
-}
diff --git a/winsup/cygwin/cygheap.h b/winsup/cygwin/cygheap.h
index e03774ffd..054297bd7 100644
--- a/winsup/cygwin/cygheap.h
+++ b/winsup/cygwin/cygheap.h
@@ -204,87 +204,7 @@ public:
/* cwd cache stuff. */
-enum fcwd_version_t {
- FCWD_OLD,
- FCWD_W7,
- FCWD_W8
-};
-
-/* This class is used to store the CWD starting with Windows Vista.
- The CWD storage in the RTL_USER_PROCESS_PARAMETERS block is only
- an afterthought now. The actual CWD storage is a FAST_CWD structure
- which is allocated on the process heap. The new method only requires
- minimal locking and it's much more multi-thread friendly. Presumably
- it minimizes contention when accessing the CWD.
- The class fcwd_access_t is supposed to encapsulate the gory implementation
- details depending on OS version from the calling functions. */
-class fcwd_access_t {
- /* This is the layout used in Windows 8 developer preview. */
- struct FAST_CWD_8 {
- LONG ReferenceCount; /* Only release when this is 0. */
- HANDLE DirectoryHandle;
- ULONG OldDismountCount; /* Reflects the system DismountCount
- at the time the CWD has been set. */
- UNICODE_STRING Path; /* Path's Buffer member always refers
- to the following Buffer array. */
- LONG FSCharacteristics; /* Taken from FileFsDeviceInformation */
- WCHAR Buffer[MAX_PATH];
- };
- /* This is the layout used in Windows 7 and Vista. */
- struct FAST_CWD_7 {
- UNICODE_STRING Path; /* Path's Buffer member always refers
- to the following Buffer array. */
- HANDLE DirectoryHandle;
- LONG FSCharacteristics; /* Taken from FileFsDeviceInformation */
- LONG ReferenceCount; /* Only release when this is 0. */
- ULONG OldDismountCount; /* Reflects the system DismountCount
- at the time the CWD has been set. */
- WCHAR Buffer[MAX_PATH];
- };
- /* This is the old FAST_CWD structure up to the patch from KB 2393802,
- release in February 2011. */
- struct FAST_CWD_OLD {
- LONG ReferenceCount; /* Only release when this is 0. */
- HANDLE DirectoryHandle;
- ULONG OldDismountCount; /* Reflects the system DismountCount
- at the time the CWD has been set. */
- UNICODE_STRING Path; /* Path's Buffer member always refers
- to the following Buffer array. */
- WCHAR Buffer[MAX_PATH];
- };
- union {
- FAST_CWD_OLD fold;
- FAST_CWD_7 f7;
- FAST_CWD_8 f8;
- };
-
-#define IMPLEMENT(type, name) \
- type name () { \
- switch (fast_cwd_version ()) { \
- case FCWD_OLD: \
- default: \
- return fold.name; \
- case FCWD_W7: \
- return f7.name; \
- case FCWD_W8: \
- return f8.name; \
- } \
- }
- IMPLEMENT (LONG &, ReferenceCount)
- IMPLEMENT (HANDLE &, DirectoryHandle)
- IMPLEMENT (ULONG &, OldDismountCount)
- IMPLEMENT (UNICODE_STRING &, Path)
- IMPLEMENT (WCHAR *, Buffer)
- void SetFSCharacteristics (LONG val);
- static fcwd_version_t &fast_cwd_version (void);
-
-public:
- void CopyPath (UNICODE_STRING &target);
- void Free (PVOID heap);
- void FillIn (HANDLE dir, PUNICODE_STRING name, ULONG old_dismount_count);
- static void SetDirHandleFromBufferPointer (PWCHAR buf_p, HANDLE dir);
- static void SetVersionFromPointer (PBYTE buf_p, bool is_buffer);
-};
+class muto;
class cwdstuff
{
@@ -297,16 +217,6 @@ private:
a native Win32 application. See cwdstuff::set for
how it gets set. See child_info_spawn::worker for how
it's evaluated. */
-
- friend class fcwd_access_t;
- /* fast_cwd_ptr is a pointer to the global RtlpCurDirRef pointer in
- ntdll.dll pointing to the FAST_CWD structure which constitutes the CWD.
- Unfortunately RtlpCurDirRef is not exported from ntdll.dll. */
- fcwd_access_t **fast_cwd_ptr;
- /* Type of FAST_CWD used on this system. Keeping this information
- available in shared memory avoids to test for the version every time
- around. Default to new version. */
- fcwd_version_t fast_cwd_version;
void override_win32_cwd (bool, ULONG);
public:
@@ -390,16 +300,13 @@ struct init_cygheap: public mini_cygheap
struct _cygtls **threadlist;
size_t sthreads;
pid_t pid; /* my pid */
+ HANDLE pid_handle; /* handle for my pid */
struct { /* Equivalent to using LIST_HEAD. */
struct inode_t *lh_first;
} inode_list; /* Global inode pointer for adv. locking. */
hook_chain hooks;
void close_ctty ();
void init_installation_root ();
- void init_tls_list () __attribute__ ((regparm (1)));;
- void add_tls (_cygtls *) __attribute__ ((regparm (2)));
- void remove_tls (_cygtls *, DWORD) __attribute__ ((regparm (3)));
- _cygtls *find_tls (int) __attribute__ ((regparm (2)));
};
@@ -462,7 +369,7 @@ class cygheap_fdnew : public cygheap_fdmanip
~cygheap_fdnew ()
{
if (cygheap->fdtab[fd])
- cygheap->fdtab[fd]->inc_refcnt ();
+ cygheap->fdtab[fd]->refcnt (1);
}
void operator = (fhandler_base *fh) {cygheap->fdtab[fd] = fh;}
};
@@ -480,7 +387,7 @@ public:
this->fd = fd;
locked = lockit;
fh = cygheap->fdtab[fd];
- fh->inc_refcnt ();
+ fh->refcnt (1);
}
else
{
@@ -495,7 +402,7 @@ public:
}
~cygheap_fdget ()
{
- if (fh && fh->dec_refcnt () <= 0)
+ if (fh && fh->refcnt (-1) <= 0)
{
debug_only_printf ("deleting fh %p", fh);
delete fh;
diff --git a/winsup/cygwin/cygprops.h b/winsup/cygwin/cygprops.h
index 70ea3cc5a..fa367bc5b 100644
--- a/winsup/cygwin/cygprops.h
+++ b/winsup/cygwin/cygprops.h
@@ -1,6 +1,6 @@
/* cygprops.h: Cygwin DLL properties
- Copyright 2009, 2012 Red Hat, Inc.
+ Copyright 2009 Red Hat, Inc.
This file is part of Cygwin.
@@ -8,7 +8,6 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
/* DLL properties data. */
struct cygwin_props_t
{
diff --git a/winsup/cygwin/cygserver_ipc.h b/winsup/cygwin/cygserver_ipc.h
index 4dbc8212f..d25a3bdeb 100644
--- a/winsup/cygwin/cygserver_ipc.h
+++ b/winsup/cygwin/cygserver_ipc.h
@@ -1,6 +1,6 @@
/* cygserver_ipc.h
- Copyright 2002, 2003, 2004, 2012 Red Hat, Inc.
+ Copyright 2002, 2003, 2004 Red Hat, Inc.
This file is part of Cygwin.
@@ -32,7 +32,6 @@ struct proc {
};
#ifdef __INSIDE_CYGWIN__
-#include "sigproc.h"
inline void
ipc_set_proc_info (proc &blk)
{
@@ -43,7 +42,7 @@ ipc_set_proc_info (proc &blk)
blk.gidcnt = 0;
blk.gidlist = NULL;
blk.is_admin = false;
- _my_tls.set_signal_arrived (true, blk.signal_arrived);
+ blk.signal_arrived = signal_arrived;
}
#endif /* __INSIDE_CYGWIN__ */
diff --git a/winsup/cygwin/cygthread.cc b/winsup/cygwin/cygthread.cc
index 5afc42954..4cbd3b064 100644
--- a/winsup/cygwin/cygthread.cc
+++ b/winsup/cygwin/cygthread.cc
@@ -377,7 +377,7 @@ cygthread::detach (HANDLE sigwait)
unsigned n = 2;
DWORD howlong = INFINITE;
w4[0] = sigwait;
- set_signal_arrived here (w4[1]);
+ w4[1] = signal_arrived;
/* For a description of the below loop see the end of this file */
for (int i = 0; i < 2; i++)
switch (res = WaitForMultipleObjects (n, w4, FALSE, howlong))
diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc
index abda77c5f..f45cfaa52 100644
--- a/winsup/cygwin/cygtls.cc
+++ b/winsup/cygwin/cygtls.cc
@@ -1,7 +1,6 @@
/* cygtls.cc
- Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
- 2012 Red Hat, Inc.
+ Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
@@ -19,6 +18,39 @@ details. */
#include "sigproc.h"
#include "exception.h"
+class sentry
+{
+ static muto lock;
+ int destroy;
+public:
+ void init ();
+ bool acquired () {return lock.acquired ();}
+ sentry () {destroy = 0;}
+ sentry (DWORD wait) {destroy = lock.acquire (wait);}
+ ~sentry () {if (destroy) lock.release ();}
+ friend void _cygtls::init ();
+};
+
+muto NO_COPY sentry::lock;
+
+static size_t NO_COPY nthreads;
+
+#define THREADLIST_CHUNK 256
+
+void
+_cygtls::init ()
+{
+ if (cygheap->threadlist)
+ memset (cygheap->threadlist, 0, cygheap->sthreads * sizeof (cygheap->threadlist[0]));
+ else
+ {
+ cygheap->sthreads = THREADLIST_CHUNK;
+ cygheap->threadlist = (_cygtls **) ccalloc_abort (HEAP_TLS, cygheap->sthreads,
+ sizeof (cygheap->threadlist[0]));
+ }
+ sentry::lock.init ("sentry_lock");
+}
+
/* Two calls to get the stack right... */
void
_cygtls::call (DWORD (*func) (void *, void *), void *arg)
@@ -30,72 +62,10 @@ _cygtls::call (DWORD (*func) (void *, void *), void *arg)
_my_tls.call2 (func, arg, buf);
}
-static int
-dll_cmp (const void *a, const void *b)
-{
- return wcscasecmp ((const wchar_t *) a, *(const wchar_t **) b);
-}
-
-/* Keep sorted!
- This is a list of well-known core system DLLs which contain code
- whiuch is started in its own thread by the system. Kernel32.dll,
- for instance, contains the thread called on every Ctrl-C keypress
- in a console window. The DLLs in this list are not recognized as
- BLODAs. */
-const wchar_t *well_known_dlls[] =
-{
- L"advapi32.dll",
- L"kernel32.dll",
- L"mswsock.dll",
- L"ntdll.dll",
- L"ole32.dll",
- L"shlwapi.dll",
- L"wbemprox.dll",
- L"ws2_32.dll",
-};
-
void
_cygtls::call2 (DWORD (*func) (void *, void *), void *arg, void *buf)
{
init_thread (buf, func);
-
- /* Optional BLODA detection. The idea is that the function address is
- supposed to be within Cygwin itself. This is also true for pthreads,
- since pthreads are always calling thread_wrapper in miscfuncs.cc.
- Therefore, every function call to a function outside of the Cygwin DLL
- is potentially a thread injected into the Cygwin process by some BLODA.
-
- But that's a bit too simple. Assuming the application itself calls
- CreateThread, then this is a bad idea, but not really invalid. So we
- shouldn't print a BLODA message if the address is within the loaded
- image of the application. Also, ntdll.dll starts threads into the
- application which */
- if (detect_bloda)
- {
- PIMAGE_DOS_HEADER img_start = (PIMAGE_DOS_HEADER) GetModuleHandle (NULL);
- PIMAGE_NT_HEADERS32 ntheader = (PIMAGE_NT_HEADERS32)
- ((PBYTE) img_start + img_start->e_lfanew);
- void *img_end = (void *) ((PBYTE) img_start
- + ntheader->OptionalHeader.SizeOfImage);
- if (((void *) func < (void *) cygwin_hmodule
- || (void *) func > (void *) cygheap)
- && ((void *) func < (void *) img_start || (void *) func >= img_end))
- {
- MEMORY_BASIC_INFORMATION mbi;
- wchar_t modname[PATH_MAX];
-
- VirtualQuery ((PVOID) func, &mbi, sizeof mbi);
- GetModuleFileNameW ((HMODULE) mbi.AllocationBase, modname, PATH_MAX);
- /* Fetch basename and check against list of above system DLLs. */
- const wchar_t *modbasename = wcsrchr (modname, L'\\') + 1;
- if (!bsearch (modbasename, well_known_dlls,
- sizeof well_known_dlls / sizeof well_known_dlls[0],
- sizeof well_known_dlls[0], dll_cmp))
- small_printf ("\n\nPotential BLODA detected! Thread function "
- "called outside of Cygwin DLL:\n %W\n\n", modname);
- }
- }
-
DWORD res = func (arg, buf);
remove (INFINITE);
/* Don't call ExitThread on the main thread since we may have been
@@ -134,7 +104,18 @@ _cygtls::init_thread (void *x, DWORD (*func) (void *, void *))
|| (void *) func == (void *) cygthread::simplestub)
return;
- cygheap->add_tls (this);
+ cygheap->user.reimpersonate ();
+
+ sentry here (INFINITE);
+ if (nthreads >= cygheap->sthreads)
+ {
+ cygheap->threadlist = (_cygtls **)
+ crealloc_abort (cygheap->threadlist, (cygheap->sthreads += THREADLIST_CHUNK)
+ * sizeof (cygheap->threadlist[0]));
+ memset (cygheap->threadlist + nthreads, 0, THREADLIST_CHUNK * sizeof (cygheap->threadlist[0]));
+ }
+
+ cygheap->threadlist[nthreads++] = this;
}
void
@@ -146,7 +127,6 @@ _cygtls::fixup_after_fork ()
sig = 0;
}
stacklock = spinning = 0;
- signal_arrived = NULL;
locals.select.sockevt = NULL;
locals.cw_timer = NULL;
wq.thread_ev = NULL;
@@ -171,13 +151,6 @@ _cygtls::remove (DWORD wait)
/* FIXME: Need some sort of atthreadexit function to allow things like
select to control this themselves. */
- if (signal_arrived)
- {
- HANDLE h = signal_arrived;
- signal_arrived = NULL;
- CloseHandle (h);
- }
-
/* Close handle and free memory used by select. */
if (locals.select.sockevt)
{
@@ -193,7 +166,22 @@ _cygtls::remove (DWORD wait)
free_local (hostent_buf);
/* Free temporary TLS path buffers. */
locals.pathbufs.destroy ();
- cygheap->remove_tls (this, wait);
+
+ do
+ {
+ sentry here (wait);
+ if (here.acquired ())
+ {
+ for (size_t i = 0; i < nthreads; i++)
+ if (this == cygheap->threadlist[i])
+ {
+ if (i < --nthreads)
+ cygheap->threadlist[i] = cygheap->threadlist[nthreads];
+ debug_printf ("removed %p element %d", this, i);
+ break;
+ }
+ }
+ } while (0);
remove_wq (wait);
}
@@ -203,6 +191,31 @@ _cygtls::push (__stack_t addr)
*stackptr++ = (__stack_t) addr;
}
+
+_cygtls *
+_cygtls::find_tls (int sig)
+{
+ static int NO_COPY threadlist_ix;
+
+ debug_printf ("signal %d\n", sig);
+ sentry here (INFINITE);
+
+ _cygtls *res = NULL;
+ threadlist_ix = -1;
+
+ myfault efault;
+ if (efault.faulted ())
+ cygheap->threadlist[threadlist_ix]->remove (INFINITE);
+
+ while (++threadlist_ix < (int) nthreads)
+ if (sigismember (&(cygheap->threadlist[threadlist_ix]->sigwait_mask), sig))
+ {
+ res = cygheap->threadlist[threadlist_ix];
+ break;
+ }
+ return res;
+}
+
void
_cygtls::set_siginfo (sigpacket *pack)
{
diff --git a/winsup/cygwin/cygtls.h b/winsup/cygwin/cygtls.h
index d683cf837..d8940ac26 100644
--- a/winsup/cygwin/cygtls.h
+++ b/winsup/cygwin/cygtls.h
@@ -1,12 +1,13 @@
/* cygtls.h
- Copyright 2003, 2004, 2005, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2003, 2004, 2005, 2008, 2009, 2010, 2011 Red Hat, Inc.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
+#ifndef _CYGTLS_H
+#define _CYGTLS_H
#include <signal.h>
#include <pwd.h>
@@ -157,7 +158,6 @@ typedef struct struct_waitq
/*gentls_offsets*/
#include "cygerrno.h"
-#include "security.h"
extern "C" int __sjfault (jmp_buf);
extern "C" int __ljfault (jmp_buf, int);
@@ -169,29 +169,27 @@ typedef __uint32_t __stack_t;
class _cygtls
{
public:
- /* Please keep these two declarations first */
- struct _local_storage locals;
- union
- {
- struct _reent local_clib;
- char __dontuse[8 * ((sizeof(struct _reent) + 4) / 8)];
- };
- /**/
void (*func) /*gentls_offsets*/(int)/*gentls_offsets*/;
int saved_errno;
int sa_flags;
sigset_t oldmask;
sigset_t deltamask;
+ HANDLE event;
int *errno_addr;
sigset_t sigmask;
sigset_t sigwait_mask;
siginfo_t *sigwait_info;
- HANDLE signal_arrived;
- bool signal_waiting;
struct ucontext thread_context;
DWORD thread_id;
+ unsigned threadkill;
siginfo_t infodata;
struct pthread *tid;
+ union
+ {
+ struct _reent local_clib;
+ char __dontuse[8 * ((sizeof(struct _reent) + 4) / 8)];
+ };
+ struct _local_storage locals;
class cygthread *_ctinfo;
class san *andreas;
waitq wq;
@@ -204,8 +202,11 @@ public:
unsigned initialized;
/*gentls_offsets*/
+ static CRITICAL_SECTION protect_linked_list;
+ static void init ();
void init_thread (void *, DWORD (*) (void *, void *));
static void call (DWORD (*) (void *, void *), void *);
+ static struct _cygtls *find_tls (int sig);
void remove (DWORD);
void push (__stack_t) __attribute__ ((regparm (2)));
__stack_t pop () __attribute__ ((regparm (1)));
@@ -229,30 +230,14 @@ public:
operator HANDLE () const {return tid->win32_obj_id;}
#endif
void set_siginfo (struct sigpacket *) __attribute__ ((regparm (3)));
+ void set_threadkill () {threadkill = true;}
+ void reset_threadkill () {threadkill = false;}
int call_signal_handler () __attribute__ ((regparm (1)));
void remove_wq (DWORD) __attribute__ ((regparm (1)));
void fixup_after_fork () __attribute__ ((regparm (1)));
void lock () __attribute__ ((regparm (1)));
void unlock () __attribute__ ((regparm (1)));
bool locked () __attribute__ ((regparm (1)));
- void set_signal_arrived (bool setit, HANDLE& h)
- {
- if (!setit)
- signal_waiting = false;
- else
- {
- if (!signal_arrived)
- signal_arrived = CreateEvent (&sec_none_nih, false, false, NULL);
- h = signal_arrived;
- signal_waiting = true;
- }
- }
- void reset_signal_arrived ()
- {
- if (signal_arrived)
- ResetEvent (signal_arrived);
- signal_waiting = false;
- }
private:
void call2 (DWORD (*) (void *, void *), void *, void *) __attribute__ ((regparm (3)));
/*gentls_offsets*/
@@ -320,15 +305,6 @@ public:
}
};
-class set_signal_arrived
-{
-public:
- set_signal_arrived (bool setit, HANDLE& h) { _my_tls.set_signal_arrived (setit, h); }
- set_signal_arrived (HANDLE& h) { _my_tls.set_signal_arrived (true, h); }
-
- operator int () const {return _my_tls.signal_waiting;}
- ~set_signal_arrived () { _my_tls.reset_signal_arrived (); }
-};
-
#define __getreent() (&_my_tls.local_clib)
-/*gentls_offsets*/
+
+#endif /*_CYGTLS_H*/ /*gentls_offsets*/
diff --git a/winsup/cygwin/cygwait.cc b/winsup/cygwin/cygwait.cc
deleted file mode 100644
index ee7a705ef..000000000
--- a/winsup/cygwin/cygwait.cc
+++ /dev/null
@@ -1,106 +0,0 @@
-/* cygwait.h
-
- Copyright 2011, 2012 Red Hat, Inc.
-
- This file is part of Cygwin.
-
- This software is a copyrighted work licensed under the terms of the
- Cygwin license. Please consult the file "CYGWIN_LICENSE" for
- details. */
-
-#include "winsup.h"
-#include "sigproc.h"
-#include "cygwait.h"
-#include "ntdll.h"
-
-#define is_cw_cancel (mask & cw_cancel)
-#define is_cw_cancel_self (mask & cw_cancel_self)
-#define is_cw_sig (mask & cw_sig)
-#define is_cw_sig_eintr (mask & cw_sig_eintr)
-#define is_cw_sig_return (mask & cw_sig_return)
-
-#define is_cw_sig_handle (mask & (is_cw_sig | is_cw_sig_eintr))
-
-LARGE_INTEGER cw_nowait_storage;
-
-DWORD
-cancelable_wait (HANDLE object, PLARGE_INTEGER timeout, unsigned mask)
-{
- DWORD res;
- DWORD num = 0;
- HANDLE wait_objects[4];
- pthread_t thread = pthread::self ();
-
- /* Do not change the wait order.
- The object must have higher priority than the cancel event,
- because WaitForMultipleObjects will return the smallest index
- if both objects are signaled. */
- if (object)
- wait_objects[num++] = object;
-
- set_signal_arrived thread_waiting (is_cw_sig_handle, wait_objects[num]);
- debug_only_printf ("object %p, thread waiting %d, signal_arrived %p", object, (int) thread_waiting, _my_tls.signal_arrived);
- DWORD sig_n;
- if (!thread_waiting)
- sig_n = WAIT_TIMEOUT + 1;
- else
- sig_n = WAIT_OBJECT_0 + num++;
-
- DWORD cancel_n;
- if (!is_cw_cancel || !pthread::is_good_object (&thread) ||
- thread->cancelstate == PTHREAD_CANCEL_DISABLE)
- cancel_n = WAIT_TIMEOUT + 1;
- else
- {
- cancel_n = WAIT_OBJECT_0 + num++;
- wait_objects[cancel_n] = thread->cancel_event;
- }
-
- DWORD timeout_n;
- if (!timeout)
- timeout_n = WAIT_TIMEOUT + 1;
- else
- {
- timeout_n = WAIT_OBJECT_0 + num++;
- if (!_my_tls.locals.cw_timer)
- NtCreateTimer (&_my_tls.locals.cw_timer, TIMER_ALL_ACCESS, NULL,
- NotificationTimer);
- NtSetTimer (_my_tls.locals.cw_timer, timeout, NULL, NULL, FALSE, 0, NULL);
- wait_objects[timeout_n] = _my_tls.locals.cw_timer;
- }
-
- while (1)
- {
- res = WaitForMultipleObjects (num, wait_objects, FALSE, INFINITE);
- debug_only_printf ("res %d", res);
- if (res == cancel_n)
- res = WAIT_CANCELED;
- else if (res == timeout_n)
- res = WAIT_TIMEOUT;
- else if (res != sig_n)
- /* all set */;
- else if (is_cw_sig_eintr)
- res = WAIT_SIGNALED; /* caller will deal with signals */
- else if (_my_tls.call_signal_handler ())
- continue;
- break;
- }
-
- if (timeout)
- {
- TIMER_BASIC_INFORMATION tbi;
-
- NtQueryTimer (_my_tls.locals.cw_timer, TimerBasicInformation, &tbi,
- sizeof tbi, NULL);
- /* if timer expired, TimeRemaining is negative and represents the
- system uptime when signalled */
- if (timeout->QuadPart < 0LL)
- timeout->QuadPart = tbi.SignalState ? 0LL : tbi.TimeRemaining.QuadPart;
- NtCancelTimer (_my_tls.locals.cw_timer, NULL);
- }
-
- if (res == WAIT_CANCELED && is_cw_cancel_self)
- pthread::static_cancel_self ();
-
- return res;
-}
diff --git a/winsup/cygwin/cygwait.h b/winsup/cygwin/cygwait.h
deleted file mode 100644
index d52a145ae..000000000
--- a/winsup/cygwin/cygwait.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* cygwait.h
-
- Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
- Red Hat, Inc.
-
- This file is part of Cygwin.
-
- This software is a copyrighted work licensed under the terms of the
- Cygwin license. Please consult the file "CYGWIN_LICENSE" for
- details. */
-
-#pragma once
-
-#define WAIT_CANCELED (WAIT_OBJECT_0 + 2)
-#define WAIT_SIGNALED (WAIT_OBJECT_0 + 1)
-
-enum cw_wait_mask
-{
- cw_cancel = 0x0001,
- cw_cancel_self = 0x0002,
- cw_sig = 0x0004,
- cw_sig_eintr = 0x0008
-};
-
-extern LARGE_INTEGER cw_nowait_storage;
-#define cw_nowait (&cw_nowait_storage)
-#define cw_infinite ((PLARGE_INTEGER) NULL)
-
-const unsigned cw_std_mask = cw_cancel | cw_cancel_self | cw_sig;
-
-DWORD cancelable_wait (HANDLE, PLARGE_INTEGER timeout = NULL,
- unsigned = cw_std_mask)
- __attribute__ ((regparm (3)));
-
-extern inline DWORD __attribute__ ((always_inline))
-cancelable_wait (HANDLE h, DWORD howlong, unsigned mask)
-{
- LARGE_INTEGER li_howlong;
- PLARGE_INTEGER pli_howlong;
- if (howlong == INFINITE)
- pli_howlong = NULL;
- else
- {
- li_howlong.QuadPart = -(10000ULL * howlong);
- pli_howlong = &li_howlong;
- }
- return cancelable_wait (h, pli_howlong, mask);
-}
-
-static inline DWORD __attribute__ ((always_inline))
-cygwait (HANDLE h, DWORD howlong = INFINITE)
-{
- return cancelable_wait (h, howlong, cw_cancel | cw_sig);
-}
-
-static inline DWORD __attribute__ ((always_inline))
-cygwait (DWORD howlong)
-{
- return cygwait (NULL, howlong);
-}
diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din
index acd043b30..22b4ea94a 100644
--- a/winsup/cygwin/cygwin.din
+++ b/winsup/cygwin/cygwin.din
@@ -738,7 +738,6 @@ _getlogin = getlogin NOSIGFE
getlogin_r NOSIGFE
getmntent SIGFE
_getmntent = getmntent SIGFE
-getmntent_r SIGFE
getmode SIGFE
_getmode = getmode SIGFE
getnameinfo = cygwin_getnameinfo SIGFE
@@ -1063,7 +1062,6 @@ memmove NOSIGFE
_memmove = memmove NOSIGFE
mempcpy NOSIGFE
__mempcpy = mempcpy NOSIGFE
-memrchr NOSIGFE
memset NOSIGFE
_memset = memset NOSIGFE
mkdir SIGFE
diff --git a/winsup/cygwin/cygwin.sc b/winsup/cygwin/cygwin.sc
index d5f79ab6c..966ea9733 100644
--- a/winsup/cygwin/cygwin.sc
+++ b/winsup/cygwin/cygwin.sc
@@ -134,5 +134,4 @@ SECTIONS
.debug_loc ALIGN(__section_alignment__) (NOLOAD) : { *(.debug_loc) }
.debug_macinfo ALIGN(__section_alignment__) (NOLOAD) : { *(.debug_macinfo) }
.debug_ranges ALIGN(__section_alignment__) (NOLOAD) : { *(.debug_ranges) }
- .debug_pubtypes ALIGN(__section_alignment__) (NOLOAD) : { *(.debug_pubtypes) }
}
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index 0cda2e5d5..5cee5f16d 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -1,7 +1,7 @@
/* dcrt0.cc -- essentially the main() for the Cygwin dll
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -353,8 +353,7 @@ build_argv (char *cmd, char **&argv, int &argc, int winshell)
}
}
- if (argv)
- argv[argc] = NULL;
+ argv[argc] = NULL;
debug_printf ("argc %d", argc);
}
@@ -599,17 +598,6 @@ child_info_fork::handle_fork ()
"user heap", cygheap->user_heap.base, cygheap->user_heap.ptr,
NULL);
- /* If my_wr_proc_pipe != NULL then it's a leftover handle from a previously
- forked process. Close it now or suffer confusion with the parent of our
- parent. */
- if (my_wr_proc_pipe)
- ForceCloseHandle1 (my_wr_proc_pipe, wr_proc_pipe);
-
- /* Setup our write end of the process pipe. Clear the one in the structure.
- The destructor should never be called for this but, it can't hurt to be
- safe. */
- my_wr_proc_pipe = wr_proc_pipe;
- rd_proc_pipe = wr_proc_pipe = NULL;
/* Do the relocations here. These will actually likely be overwritten by the
below child_copy but we do them here in case there is a read-only section
which does not get copied by fork. */
@@ -626,36 +614,18 @@ child_info_fork::handle_fork ()
api_fatal ("recreate_mmaps_after_fork_failed");
}
-bool
-child_info_spawn::get_parent_handle ()
-{
- parent = OpenProcess (PROCESS_VM_READ, false, parent_winpid);
- moreinfo->myself_pinfo = NULL;
- return !!parent;
-}
-
void
child_info_spawn::handle_spawn ()
{
extern void fixup_lockf_after_exec ();
HANDLE h;
- if (!dynamically_loaded || get_parent_handle ())
- {
- cygheap_fixup_in_child (true);
- memory_init (false);
- }
+ cygheap_fixup_in_child (true);
+ memory_init (false);
if (!moreinfo->myself_pinfo ||
!DuplicateHandle (GetCurrentProcess (), moreinfo->myself_pinfo,
GetCurrentProcess (), &h, 0,
FALSE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE))
h = NULL;
-
- /* Setup our write end of the process pipe. Clear the one in the structure.
- The destructor should never be called for this but, it can't hurt to be
- safe. */
- my_wr_proc_pipe = wr_proc_pipe;
- rd_proc_pipe = wr_proc_pipe = NULL;
-
myself.thisproc (h);
__argc = moreinfo->argc;
__argv = moreinfo->argv;
@@ -677,15 +647,10 @@ child_info_spawn::handle_spawn ()
ready (true);
- /* Keep pointer to parent open if we've execed so that pid will not be reused.
- Otherwise, we no longer need this handle so close it.
- Need to do this after debug_fixup_after_fork_exec or DEBUGGING handling of
+ /* Need to do this after debug_fixup_after_fork_exec or DEBUGGING handling of
handles might get confused. */
- if (type != _CH_EXEC && child_proc_info->parent)
- {
- CloseHandle (child_proc_info->parent);
- child_proc_info->parent = NULL;
- }
+ CloseHandle (child_proc_info->parent);
+ child_proc_info->parent = NULL;
signal_fixup_after_exec ();
fixup_lockf_after_exec ();
@@ -718,7 +683,6 @@ init_windows_system_directory ()
void
dll_crt0_0 ()
{
- wincap.init ();
child_proc_info = get_cygwin_startup_info ();
init_windows_system_directory ();
init_global_security ();
@@ -761,18 +725,24 @@ dll_crt0_0 ()
cygwin_user_h = child_proc_info->user_h;
switch (child_proc_info->type)
{
- case _CH_FORK:
- fork_info->handle_fork ();
- break;
- case _CH_SPAWN:
- case _CH_EXEC:
- spawn_info->handle_spawn ();
- break;
+ case _CH_FORK:
+ fork_info->handle_fork ();
+ break;
+ case _CH_SPAWN:
+ case _CH_EXEC:
+ spawn_info->handle_spawn ();
+ break;
}
}
user_data->threadinterface->Init ();
+ _cygtls::init ();
+
+ /* Initialize events */
+ events_init ();
+ tty_list::init_session ();
+
_main_tls = &_my_tls;
/* Initialize signal processing here, early, in the hopes that the creation
@@ -837,6 +807,8 @@ dll_crt0_1 (void *)
strace.microseconds ();
#endif
+ create_signal_arrived (); /* FIXME: move into wait_sig? */
+
/* Initialize debug muto, if DLL is built with --enable-debugging.
Need to do this before any helper threads start. */
debug_init ();
diff --git a/winsup/cygwin/devices.cc b/winsup/cygwin/devices.cc
index e2a776a5b..432f3359d 100644
--- a/winsup/cygwin/devices.cc
+++ b/winsup/cygwin/devices.cc
@@ -5,11 +5,6 @@
#include "sys/cygwin.h"
#include "tty.h"
#include "pinfo.h"
-#include "shared_info.h"
-#include "path.h"
-#include "fhandler.h"
-#include "ntdll.h"
-
typedef const device *KR_device_t;
@@ -17,2781 +12,2713 @@ static KR_device_t KR_find_keyword (const char *KR_keyword, int KR_length);
-
-static int
-exists_internal (const device&)
-{
- return false;
-}
-
-static int
-exists (const device&)
-{
- return true;
-}
-
-/* Check existence of POSIX devices backed by real NT devices. */
-static int
-exists_ntdev (const device& dev)
-{
- WCHAR wpath[MAX_PATH];
- UNICODE_STRING upath;
- OBJECT_ATTRIBUTES attr;
- HANDLE h;
- NTSTATUS status;
-
- sys_mbstowcs (wpath, MAX_PATH, dev.native);
- RtlInitUnicodeString (&upath, wpath);
- InitializeObjectAttributes (&attr, &upath, OBJ_CASE_INSENSITIVE, NULL, NULL);
- /* Except for the serial IO devices, the native paths are
- direct device paths, not symlinks, so every status code
- except for "NOT_FOUND" means the device exists. */
- status = NtOpenSymbolicLinkObject (&h, SYMBOLIC_LINK_QUERY, &attr);
- switch (status)
- {
- case STATUS_OBJECT_NAME_NOT_FOUND:
- case STATUS_OBJECT_PATH_NOT_FOUND:
- return false;
- case STATUS_SUCCESS:
- NtClose (h);
- default:
- break;
- }
- return true;
-}
-
-/* Don't list via readdir but allow as a direct reference. */
-static int
-exists_ntdev_silent (const device& dev)
-{
- return exists_ntdev (dev) ? -1 : false;
-}
-
-static int
-exists_console (const device& dev)
-{
- int devn = *const_cast<device *> (&dev);
- switch (devn)
- {
- case FH_CONSOLE:
- case FH_CONIN:
- case FH_CONOUT:
- return fhandler_console::exists ();
- default:
- /* Only show my own console device (for now?) */
- return iscons_dev (myself->ctty) && myself->ctty == devn;
- }
-}
-
-static int
-exists_pty (const device& dev)
-{
- /* Only existing slave ptys. */
- return cygwin_shared->tty.connect (dev.get_minor ()) != -1;
-}
-
const device dev_cygdrive_storage =
- {"/cygdrive", {FH_CYGDRIVE}, "/cygdrive", exists};
+ {"/cygdrive", {FH_CYGDRIVE}, "/cygdrive"};
const device dev_fs_storage =
- {"", {FH_FS}, "", exists};
+ {"", {FH_FS}, ""};
const device dev_proc_storage =
- {"", {FH_PROC}, "", exists};
+ {"", {FH_PROC}, ""};
const device dev_procnet_storage =
- {"", {FH_PROCNET}, "", exists};
+ {"", {FH_PROCNET}, ""};
const device dev_procsys_storage =
- {"", {FH_PROCSYS}, "", exists};
+ {"", {FH_PROCSYS}, ""};
const device dev_procsysvipc_storage =
- {"", {FH_PROCSYSVIPC}, "", exists};
+ {"", {FH_PROCSYSVIPC}, ""};
const device dev_netdrive_storage =
- {"", {FH_NETDRIVE}, "", exists};
+ {"", {FH_NETDRIVE}, ""};
+
+#if 0
+const device dev_dev_storage =
+ {"/dev", {FH_DEV}, "/dev"};
+#endif
const device dev_registry_storage =
- {"", {FH_REGISTRY}, "", exists_internal};
+ {"", {FH_REGISTRY}, ""};
const device dev_piper_storage =
- {"", {FH_PIPER}, "", exists_internal};
+ {"", {FH_PIPER}, ""};
const device dev_pipew_storage =
- {"", {FH_PIPEW}, "", exists_internal};
+ {"", {FH_PIPEW}, ""};
const device dev_tcp_storage =
- {"", {FH_TCP}, "", exists_internal};
+ {"", {FH_TCP}, ""};
const device dev_udp_storage =
- {"", {FH_UDP}, "", exists_internal};
+ {"", {FH_UDP}, ""};
const device dev_stream_storage =
- {"", {FH_STREAM}, "", exists_internal};
+ {"", {FH_STREAM}, ""};
const device dev_dgram_storage =
- {"", {FH_DGRAM}, "", exists_internal};
+ {"", {FH_DGRAM}, ""};
const device dev_bad_storage =
- {"", {FH_NADA}, "", exists_internal};
+ {"", {FH_NADA}, ""};
const device dev_error_storage =
- {"", {FH_ERROR}, "", exists_internal};
-
+ {"", {FH_ERROR}, ""};
#define BRACK(x) {devn_int: x}
-const _RDATA device dev_storage[] =
-{
- {"/dev", BRACK(FH_DEV), "/dev", exists, S_IFDIR, false},
- {"/dev/clipboard", BRACK(FH_CLIPBOARD), "/dev/clipboard", exists, S_IFCHR, true},
- {"/dev/com1", BRACK(FHDEV(DEV_SERIAL_MAJOR, 0)), "\\??\\COM1", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com2", BRACK(FHDEV(DEV_SERIAL_MAJOR, 1)), "\\??\\COM2", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com3", BRACK(FHDEV(DEV_SERIAL_MAJOR, 2)), "\\??\\COM3", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com4", BRACK(FHDEV(DEV_SERIAL_MAJOR, 3)), "\\??\\COM4", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com5", BRACK(FHDEV(DEV_SERIAL_MAJOR, 4)), "\\??\\COM5", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com6", BRACK(FHDEV(DEV_SERIAL_MAJOR, 5)), "\\??\\COM6", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com7", BRACK(FHDEV(DEV_SERIAL_MAJOR, 6)), "\\??\\COM7", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com8", BRACK(FHDEV(DEV_SERIAL_MAJOR, 7)), "\\??\\COM8", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com9", BRACK(FHDEV(DEV_SERIAL_MAJOR, 8)), "\\??\\COM9", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com10", BRACK(FHDEV(DEV_SERIAL_MAJOR, 9)), "\\??\\COM10", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com11", BRACK(FHDEV(DEV_SERIAL_MAJOR, 10)), "\\??\\COM11", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com12", BRACK(FHDEV(DEV_SERIAL_MAJOR, 11)), "\\??\\COM12", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com13", BRACK(FHDEV(DEV_SERIAL_MAJOR, 12)), "\\??\\COM13", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com14", BRACK(FHDEV(DEV_SERIAL_MAJOR, 13)), "\\??\\COM14", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com15", BRACK(FHDEV(DEV_SERIAL_MAJOR, 14)), "\\??\\COM15", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com16", BRACK(FHDEV(DEV_SERIAL_MAJOR, 15)), "\\??\\COM16", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/conin", BRACK(FH_CONIN), "/dev/conin", exists_console, S_IFCHR, true},
- {"/dev/conout", BRACK(FH_CONOUT), "/dev/conout", exists_console, S_IFCHR, true},
- {"/dev/cons0", BRACK(FHDEV(DEV_CONS_MAJOR, 0)), "/dev/cons0", exists_console, S_IFCHR, true},
- {"/dev/cons1", BRACK(FHDEV(DEV_CONS_MAJOR, 1)), "/dev/cons1", exists_console, S_IFCHR, true},
- {"/dev/cons2", BRACK(FHDEV(DEV_CONS_MAJOR, 2)), "/dev/cons2", exists_console, S_IFCHR, true},
- {"/dev/cons3", BRACK(FHDEV(DEV_CONS_MAJOR, 3)), "/dev/cons3", exists_console, S_IFCHR, true},
- {"/dev/cons4", BRACK(FHDEV(DEV_CONS_MAJOR, 4)), "/dev/cons4", exists_console, S_IFCHR, true},
- {"/dev/cons5", BRACK(FHDEV(DEV_CONS_MAJOR, 5)), "/dev/cons5", exists_console, S_IFCHR, true},
- {"/dev/cons6", BRACK(FHDEV(DEV_CONS_MAJOR, 6)), "/dev/cons6", exists_console, S_IFCHR, true},
- {"/dev/cons7", BRACK(FHDEV(DEV_CONS_MAJOR, 7)), "/dev/cons7", exists_console, S_IFCHR, true},
- {"/dev/cons8", BRACK(FHDEV(DEV_CONS_MAJOR, 8)), "/dev/cons8", exists_console, S_IFCHR, true},
- {"/dev/cons9", BRACK(FHDEV(DEV_CONS_MAJOR, 9)), "/dev/cons9", exists_console, S_IFCHR, true},
- {"/dev/cons10", BRACK(FHDEV(DEV_CONS_MAJOR, 10)), "/dev/cons10", exists_console, S_IFCHR, true},
- {"/dev/cons11", BRACK(FHDEV(DEV_CONS_MAJOR, 11)), "/dev/cons11", exists_console, S_IFCHR, true},
- {"/dev/cons12", BRACK(FHDEV(DEV_CONS_MAJOR, 12)), "/dev/cons12", exists_console, S_IFCHR, true},
- {"/dev/cons13", BRACK(FHDEV(DEV_CONS_MAJOR, 13)), "/dev/cons13", exists_console, S_IFCHR, true},
- {"/dev/cons14", BRACK(FHDEV(DEV_CONS_MAJOR, 14)), "/dev/cons14", exists_console, S_IFCHR, true},
- {"/dev/cons15", BRACK(FHDEV(DEV_CONS_MAJOR, 15)), "/dev/cons15", exists_console, S_IFCHR, true},
- {"/dev/cons16", BRACK(FHDEV(DEV_CONS_MAJOR, 16)), "/dev/cons16", exists_console, S_IFCHR, true},
- {"/dev/cons17", BRACK(FHDEV(DEV_CONS_MAJOR, 17)), "/dev/cons17", exists_console, S_IFCHR, true},
- {"/dev/cons18", BRACK(FHDEV(DEV_CONS_MAJOR, 18)), "/dev/cons18", exists_console, S_IFCHR, true},
- {"/dev/cons19", BRACK(FHDEV(DEV_CONS_MAJOR, 19)), "/dev/cons19", exists_console, S_IFCHR, true},
- {"/dev/cons20", BRACK(FHDEV(DEV_CONS_MAJOR, 20)), "/dev/cons20", exists_console, S_IFCHR, true},
- {"/dev/cons21", BRACK(FHDEV(DEV_CONS_MAJOR, 21)), "/dev/cons21", exists_console, S_IFCHR, true},
- {"/dev/cons22", BRACK(FHDEV(DEV_CONS_MAJOR, 22)), "/dev/cons22", exists_console, S_IFCHR, true},
- {"/dev/cons23", BRACK(FHDEV(DEV_CONS_MAJOR, 23)), "/dev/cons23", exists_console, S_IFCHR, true},
- {"/dev/cons24", BRACK(FHDEV(DEV_CONS_MAJOR, 24)), "/dev/cons24", exists_console, S_IFCHR, true},
- {"/dev/cons25", BRACK(FHDEV(DEV_CONS_MAJOR, 25)), "/dev/cons25", exists_console, S_IFCHR, true},
- {"/dev/cons26", BRACK(FHDEV(DEV_CONS_MAJOR, 26)), "/dev/cons26", exists_console, S_IFCHR, true},
- {"/dev/cons27", BRACK(FHDEV(DEV_CONS_MAJOR, 27)), "/dev/cons27", exists_console, S_IFCHR, true},
- {"/dev/cons28", BRACK(FHDEV(DEV_CONS_MAJOR, 28)), "/dev/cons28", exists_console, S_IFCHR, true},
- {"/dev/cons29", BRACK(FHDEV(DEV_CONS_MAJOR, 29)), "/dev/cons29", exists_console, S_IFCHR, true},
- {"/dev/cons30", BRACK(FHDEV(DEV_CONS_MAJOR, 30)), "/dev/cons30", exists_console, S_IFCHR, true},
- {"/dev/cons31", BRACK(FHDEV(DEV_CONS_MAJOR, 31)), "/dev/cons31", exists_console, S_IFCHR, true},
- {"/dev/cons32", BRACK(FHDEV(DEV_CONS_MAJOR, 32)), "/dev/cons32", exists_console, S_IFCHR, true},
- {"/dev/cons33", BRACK(FHDEV(DEV_CONS_MAJOR, 33)), "/dev/cons33", exists_console, S_IFCHR, true},
- {"/dev/cons34", BRACK(FHDEV(DEV_CONS_MAJOR, 34)), "/dev/cons34", exists_console, S_IFCHR, true},
- {"/dev/cons35", BRACK(FHDEV(DEV_CONS_MAJOR, 35)), "/dev/cons35", exists_console, S_IFCHR, true},
- {"/dev/cons36", BRACK(FHDEV(DEV_CONS_MAJOR, 36)), "/dev/cons36", exists_console, S_IFCHR, true},
- {"/dev/cons37", BRACK(FHDEV(DEV_CONS_MAJOR, 37)), "/dev/cons37", exists_console, S_IFCHR, true},
- {"/dev/cons38", BRACK(FHDEV(DEV_CONS_MAJOR, 38)), "/dev/cons38", exists_console, S_IFCHR, true},
- {"/dev/cons39", BRACK(FHDEV(DEV_CONS_MAJOR, 39)), "/dev/cons39", exists_console, S_IFCHR, true},
- {"/dev/cons40", BRACK(FHDEV(DEV_CONS_MAJOR, 40)), "/dev/cons40", exists_console, S_IFCHR, true},
- {"/dev/cons41", BRACK(FHDEV(DEV_CONS_MAJOR, 41)), "/dev/cons41", exists_console, S_IFCHR, true},
- {"/dev/cons42", BRACK(FHDEV(DEV_CONS_MAJOR, 42)), "/dev/cons42", exists_console, S_IFCHR, true},
- {"/dev/cons43", BRACK(FHDEV(DEV_CONS_MAJOR, 43)), "/dev/cons43", exists_console, S_IFCHR, true},
- {"/dev/cons44", BRACK(FHDEV(DEV_CONS_MAJOR, 44)), "/dev/cons44", exists_console, S_IFCHR, true},
- {"/dev/cons45", BRACK(FHDEV(DEV_CONS_MAJOR, 45)), "/dev/cons45", exists_console, S_IFCHR, true},
- {"/dev/cons46", BRACK(FHDEV(DEV_CONS_MAJOR, 46)), "/dev/cons46", exists_console, S_IFCHR, true},
- {"/dev/cons47", BRACK(FHDEV(DEV_CONS_MAJOR, 47)), "/dev/cons47", exists_console, S_IFCHR, true},
- {"/dev/cons48", BRACK(FHDEV(DEV_CONS_MAJOR, 48)), "/dev/cons48", exists_console, S_IFCHR, true},
- {"/dev/cons49", BRACK(FHDEV(DEV_CONS_MAJOR, 49)), "/dev/cons49", exists_console, S_IFCHR, true},
- {"/dev/cons50", BRACK(FHDEV(DEV_CONS_MAJOR, 50)), "/dev/cons50", exists_console, S_IFCHR, true},
- {"/dev/cons51", BRACK(FHDEV(DEV_CONS_MAJOR, 51)), "/dev/cons51", exists_console, S_IFCHR, true},
- {"/dev/cons52", BRACK(FHDEV(DEV_CONS_MAJOR, 52)), "/dev/cons52", exists_console, S_IFCHR, true},
- {"/dev/cons53", BRACK(FHDEV(DEV_CONS_MAJOR, 53)), "/dev/cons53", exists_console, S_IFCHR, true},
- {"/dev/cons54", BRACK(FHDEV(DEV_CONS_MAJOR, 54)), "/dev/cons54", exists_console, S_IFCHR, true},
- {"/dev/cons55", BRACK(FHDEV(DEV_CONS_MAJOR, 55)), "/dev/cons55", exists_console, S_IFCHR, true},
- {"/dev/cons56", BRACK(FHDEV(DEV_CONS_MAJOR, 56)), "/dev/cons56", exists_console, S_IFCHR, true},
- {"/dev/cons57", BRACK(FHDEV(DEV_CONS_MAJOR, 57)), "/dev/cons57", exists_console, S_IFCHR, true},
- {"/dev/cons58", BRACK(FHDEV(DEV_CONS_MAJOR, 58)), "/dev/cons58", exists_console, S_IFCHR, true},
- {"/dev/cons59", BRACK(FHDEV(DEV_CONS_MAJOR, 59)), "/dev/cons59", exists_console, S_IFCHR, true},
- {"/dev/cons60", BRACK(FHDEV(DEV_CONS_MAJOR, 60)), "/dev/cons60", exists_console, S_IFCHR, true},
- {"/dev/cons61", BRACK(FHDEV(DEV_CONS_MAJOR, 61)), "/dev/cons61", exists_console, S_IFCHR, true},
- {"/dev/cons62", BRACK(FHDEV(DEV_CONS_MAJOR, 62)), "/dev/cons62", exists_console, S_IFCHR, true},
- {"/dev/cons63", BRACK(FHDEV(DEV_CONS_MAJOR, 63)), "/dev/cons63", exists_console, S_IFCHR, true},
- {"/dev/console", BRACK(FH_CONSOLE), "/dev/console", exists_console, S_IFCHR, true},
- {"/dev/dsp", BRACK(FH_OSS_DSP), "/dev/dsp", exists, S_IFCHR, true},
- {"/dev/fd0", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 0)), "\\Device\\Floppy0", exists_ntdev, S_IFBLK, true},
- {"/dev/fd1", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 1)), "\\Device\\Floppy1", exists_ntdev, S_IFBLK, true},
- {"/dev/fd2", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 2)), "\\Device\\Floppy2", exists_ntdev, S_IFBLK, true},
- {"/dev/fd3", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 3)), "\\Device\\Floppy3", exists_ntdev, S_IFBLK, true},
- {"/dev/fd4", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 4)), "\\Device\\Floppy4", exists_ntdev, S_IFBLK, true},
- {"/dev/fd5", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 5)), "\\Device\\Floppy5", exists_ntdev, S_IFBLK, true},
- {"/dev/fd6", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 6)), "\\Device\\Floppy6", exists_ntdev, S_IFBLK, true},
- {"/dev/fd7", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 7)), "\\Device\\Floppy7", exists_ntdev, S_IFBLK, true},
- {"/dev/fd8", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 8)), "\\Device\\Floppy8", exists_ntdev, S_IFBLK, true},
- {"/dev/fd9", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 9)), "\\Device\\Floppy9", exists_ntdev, S_IFBLK, true},
- {"/dev/fd10", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 10)), "\\Device\\Floppy10", exists_ntdev, S_IFBLK, true},
- {"/dev/fd11", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 11)), "\\Device\\Floppy11", exists_ntdev, S_IFBLK, true},
- {"/dev/fd12", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 12)), "\\Device\\Floppy12", exists_ntdev, S_IFBLK, true},
- {"/dev/fd13", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 13)), "\\Device\\Floppy13", exists_ntdev, S_IFBLK, true},
- {"/dev/fd14", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 14)), "\\Device\\Floppy14", exists_ntdev, S_IFBLK, true},
- {"/dev/fd15", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 15)), "\\Device\\Floppy15", exists_ntdev, S_IFBLK, true},
- {"/dev/full", BRACK(FH_FULL), "/dev/full", exists, S_IFCHR, true},
- {"/dev/kmem", BRACK(FH_KMEM), "/dev/kmem", exists, S_IFCHR, true},
- {"/dev/kmsg", BRACK(FH_KMSG), "\\Device\\MailSlot\\cygwin\\dev\\kmsg", exists_ntdev, S_IFCHR, true},
- {"/dev/mem", BRACK(FH_MEM), "/dev/mem", exists, S_IFCHR, true},
- {"/dev/nst0", BRACK(FHDEV(DEV_TAPE_MAJOR, 128)), "\\Device\\Tape0", exists_ntdev, S_IFBLK, true},
- {"/dev/nst1", BRACK(FHDEV(DEV_TAPE_MAJOR, 129)), "\\Device\\Tape1", exists_ntdev, S_IFBLK, true},
- {"/dev/nst2", BRACK(FHDEV(DEV_TAPE_MAJOR, 130)), "\\Device\\Tape2", exists_ntdev, S_IFBLK, true},
- {"/dev/nst3", BRACK(FHDEV(DEV_TAPE_MAJOR, 131)), "\\Device\\Tape3", exists_ntdev, S_IFBLK, true},
- {"/dev/nst4", BRACK(FHDEV(DEV_TAPE_MAJOR, 132)), "\\Device\\Tape4", exists_ntdev, S_IFBLK, true},
- {"/dev/nst5", BRACK(FHDEV(DEV_TAPE_MAJOR, 133)), "\\Device\\Tape5", exists_ntdev, S_IFBLK, true},
- {"/dev/nst6", BRACK(FHDEV(DEV_TAPE_MAJOR, 134)), "\\Device\\Tape6", exists_ntdev, S_IFBLK, true},
- {"/dev/nst7", BRACK(FHDEV(DEV_TAPE_MAJOR, 135)), "\\Device\\Tape7", exists_ntdev, S_IFBLK, true},
- {"/dev/nst8", BRACK(FHDEV(DEV_TAPE_MAJOR, 136)), "\\Device\\Tape8", exists_ntdev, S_IFBLK, true},
- {"/dev/nst9", BRACK(FHDEV(DEV_TAPE_MAJOR, 137)), "\\Device\\Tape9", exists_ntdev, S_IFBLK, true},
- {"/dev/nst10", BRACK(FHDEV(DEV_TAPE_MAJOR, 138)), "\\Device\\Tape10", exists_ntdev, S_IFBLK, true},
- {"/dev/nst11", BRACK(FHDEV(DEV_TAPE_MAJOR, 139)), "\\Device\\Tape11", exists_ntdev, S_IFBLK, true},
- {"/dev/nst12", BRACK(FHDEV(DEV_TAPE_MAJOR, 140)), "\\Device\\Tape12", exists_ntdev, S_IFBLK, true},
- {"/dev/nst13", BRACK(FHDEV(DEV_TAPE_MAJOR, 141)), "\\Device\\Tape13", exists_ntdev, S_IFBLK, true},
- {"/dev/nst14", BRACK(FHDEV(DEV_TAPE_MAJOR, 142)), "\\Device\\Tape14", exists_ntdev, S_IFBLK, true},
- {"/dev/nst15", BRACK(FHDEV(DEV_TAPE_MAJOR, 143)), "\\Device\\Tape15", exists_ntdev, S_IFBLK, true},
- {"/dev/nst16", BRACK(FHDEV(DEV_TAPE_MAJOR, 144)), "\\Device\\Tape16", exists_ntdev, S_IFBLK, true},
- {"/dev/nst17", BRACK(FHDEV(DEV_TAPE_MAJOR, 145)), "\\Device\\Tape17", exists_ntdev, S_IFBLK, true},
- {"/dev/nst18", BRACK(FHDEV(DEV_TAPE_MAJOR, 146)), "\\Device\\Tape18", exists_ntdev, S_IFBLK, true},
- {"/dev/nst19", BRACK(FHDEV(DEV_TAPE_MAJOR, 147)), "\\Device\\Tape19", exists_ntdev, S_IFBLK, true},
- {"/dev/nst20", BRACK(FHDEV(DEV_TAPE_MAJOR, 148)), "\\Device\\Tape20", exists_ntdev, S_IFBLK, true},
- {"/dev/nst21", BRACK(FHDEV(DEV_TAPE_MAJOR, 149)), "\\Device\\Tape21", exists_ntdev, S_IFBLK, true},
- {"/dev/nst22", BRACK(FHDEV(DEV_TAPE_MAJOR, 150)), "\\Device\\Tape22", exists_ntdev, S_IFBLK, true},
- {"/dev/nst23", BRACK(FHDEV(DEV_TAPE_MAJOR, 151)), "\\Device\\Tape23", exists_ntdev, S_IFBLK, true},
- {"/dev/nst24", BRACK(FHDEV(DEV_TAPE_MAJOR, 152)), "\\Device\\Tape24", exists_ntdev, S_IFBLK, true},
- {"/dev/nst25", BRACK(FHDEV(DEV_TAPE_MAJOR, 153)), "\\Device\\Tape25", exists_ntdev, S_IFBLK, true},
- {"/dev/nst26", BRACK(FHDEV(DEV_TAPE_MAJOR, 154)), "\\Device\\Tape26", exists_ntdev, S_IFBLK, true},
- {"/dev/nst27", BRACK(FHDEV(DEV_TAPE_MAJOR, 155)), "\\Device\\Tape27", exists_ntdev, S_IFBLK, true},
- {"/dev/nst28", BRACK(FHDEV(DEV_TAPE_MAJOR, 156)), "\\Device\\Tape28", exists_ntdev, S_IFBLK, true},
- {"/dev/nst29", BRACK(FHDEV(DEV_TAPE_MAJOR, 157)), "\\Device\\Tape29", exists_ntdev, S_IFBLK, true},
- {"/dev/nst30", BRACK(FHDEV(DEV_TAPE_MAJOR, 158)), "\\Device\\Tape30", exists_ntdev, S_IFBLK, true},
- {"/dev/nst31", BRACK(FHDEV(DEV_TAPE_MAJOR, 159)), "\\Device\\Tape31", exists_ntdev, S_IFBLK, true},
- {"/dev/nst32", BRACK(FHDEV(DEV_TAPE_MAJOR, 160)), "\\Device\\Tape32", exists_ntdev, S_IFBLK, true},
- {"/dev/nst33", BRACK(FHDEV(DEV_TAPE_MAJOR, 161)), "\\Device\\Tape33", exists_ntdev, S_IFBLK, true},
- {"/dev/nst34", BRACK(FHDEV(DEV_TAPE_MAJOR, 162)), "\\Device\\Tape34", exists_ntdev, S_IFBLK, true},
- {"/dev/nst35", BRACK(FHDEV(DEV_TAPE_MAJOR, 163)), "\\Device\\Tape35", exists_ntdev, S_IFBLK, true},
- {"/dev/nst36", BRACK(FHDEV(DEV_TAPE_MAJOR, 164)), "\\Device\\Tape36", exists_ntdev, S_IFBLK, true},
- {"/dev/nst37", BRACK(FHDEV(DEV_TAPE_MAJOR, 165)), "\\Device\\Tape37", exists_ntdev, S_IFBLK, true},
- {"/dev/nst38", BRACK(FHDEV(DEV_TAPE_MAJOR, 166)), "\\Device\\Tape38", exists_ntdev, S_IFBLK, true},
- {"/dev/nst39", BRACK(FHDEV(DEV_TAPE_MAJOR, 167)), "\\Device\\Tape39", exists_ntdev, S_IFBLK, true},
- {"/dev/nst40", BRACK(FHDEV(DEV_TAPE_MAJOR, 168)), "\\Device\\Tape40", exists_ntdev, S_IFBLK, true},
- {"/dev/nst41", BRACK(FHDEV(DEV_TAPE_MAJOR, 169)), "\\Device\\Tape41", exists_ntdev, S_IFBLK, true},
- {"/dev/nst42", BRACK(FHDEV(DEV_TAPE_MAJOR, 170)), "\\Device\\Tape42", exists_ntdev, S_IFBLK, true},
- {"/dev/nst43", BRACK(FHDEV(DEV_TAPE_MAJOR, 171)), "\\Device\\Tape43", exists_ntdev, S_IFBLK, true},
- {"/dev/nst44", BRACK(FHDEV(DEV_TAPE_MAJOR, 172)), "\\Device\\Tape44", exists_ntdev, S_IFBLK, true},
- {"/dev/nst45", BRACK(FHDEV(DEV_TAPE_MAJOR, 173)), "\\Device\\Tape45", exists_ntdev, S_IFBLK, true},
- {"/dev/nst46", BRACK(FHDEV(DEV_TAPE_MAJOR, 174)), "\\Device\\Tape46", exists_ntdev, S_IFBLK, true},
- {"/dev/nst47", BRACK(FHDEV(DEV_TAPE_MAJOR, 175)), "\\Device\\Tape47", exists_ntdev, S_IFBLK, true},
- {"/dev/nst48", BRACK(FHDEV(DEV_TAPE_MAJOR, 176)), "\\Device\\Tape48", exists_ntdev, S_IFBLK, true},
- {"/dev/nst49", BRACK(FHDEV(DEV_TAPE_MAJOR, 177)), "\\Device\\Tape49", exists_ntdev, S_IFBLK, true},
- {"/dev/nst50", BRACK(FHDEV(DEV_TAPE_MAJOR, 178)), "\\Device\\Tape50", exists_ntdev, S_IFBLK, true},
- {"/dev/nst51", BRACK(FHDEV(DEV_TAPE_MAJOR, 179)), "\\Device\\Tape51", exists_ntdev, S_IFBLK, true},
- {"/dev/nst52", BRACK(FHDEV(DEV_TAPE_MAJOR, 180)), "\\Device\\Tape52", exists_ntdev, S_IFBLK, true},
- {"/dev/nst53", BRACK(FHDEV(DEV_TAPE_MAJOR, 181)), "\\Device\\Tape53", exists_ntdev, S_IFBLK, true},
- {"/dev/nst54", BRACK(FHDEV(DEV_TAPE_MAJOR, 182)), "\\Device\\Tape54", exists_ntdev, S_IFBLK, true},
- {"/dev/nst55", BRACK(FHDEV(DEV_TAPE_MAJOR, 183)), "\\Device\\Tape55", exists_ntdev, S_IFBLK, true},
- {"/dev/nst56", BRACK(FHDEV(DEV_TAPE_MAJOR, 184)), "\\Device\\Tape56", exists_ntdev, S_IFBLK, true},
- {"/dev/nst57", BRACK(FHDEV(DEV_TAPE_MAJOR, 185)), "\\Device\\Tape57", exists_ntdev, S_IFBLK, true},
- {"/dev/nst58", BRACK(FHDEV(DEV_TAPE_MAJOR, 186)), "\\Device\\Tape58", exists_ntdev, S_IFBLK, true},
- {"/dev/nst59", BRACK(FHDEV(DEV_TAPE_MAJOR, 187)), "\\Device\\Tape59", exists_ntdev, S_IFBLK, true},
- {"/dev/nst60", BRACK(FHDEV(DEV_TAPE_MAJOR, 188)), "\\Device\\Tape60", exists_ntdev, S_IFBLK, true},
- {"/dev/nst61", BRACK(FHDEV(DEV_TAPE_MAJOR, 189)), "\\Device\\Tape61", exists_ntdev, S_IFBLK, true},
- {"/dev/nst62", BRACK(FHDEV(DEV_TAPE_MAJOR, 190)), "\\Device\\Tape62", exists_ntdev, S_IFBLK, true},
- {"/dev/nst63", BRACK(FHDEV(DEV_TAPE_MAJOR, 191)), "\\Device\\Tape63", exists_ntdev, S_IFBLK, true},
- {"/dev/nst64", BRACK(FHDEV(DEV_TAPE_MAJOR, 192)), "\\Device\\Tape64", exists_ntdev, S_IFBLK, true},
- {"/dev/nst65", BRACK(FHDEV(DEV_TAPE_MAJOR, 193)), "\\Device\\Tape65", exists_ntdev, S_IFBLK, true},
- {"/dev/nst66", BRACK(FHDEV(DEV_TAPE_MAJOR, 194)), "\\Device\\Tape66", exists_ntdev, S_IFBLK, true},
- {"/dev/nst67", BRACK(FHDEV(DEV_TAPE_MAJOR, 195)), "\\Device\\Tape67", exists_ntdev, S_IFBLK, true},
- {"/dev/nst68", BRACK(FHDEV(DEV_TAPE_MAJOR, 196)), "\\Device\\Tape68", exists_ntdev, S_IFBLK, true},
- {"/dev/nst69", BRACK(FHDEV(DEV_TAPE_MAJOR, 197)), "\\Device\\Tape69", exists_ntdev, S_IFBLK, true},
- {"/dev/nst70", BRACK(FHDEV(DEV_TAPE_MAJOR, 198)), "\\Device\\Tape70", exists_ntdev, S_IFBLK, true},
- {"/dev/nst71", BRACK(FHDEV(DEV_TAPE_MAJOR, 199)), "\\Device\\Tape71", exists_ntdev, S_IFBLK, true},
- {"/dev/nst72", BRACK(FHDEV(DEV_TAPE_MAJOR, 200)), "\\Device\\Tape72", exists_ntdev, S_IFBLK, true},
- {"/dev/nst73", BRACK(FHDEV(DEV_TAPE_MAJOR, 201)), "\\Device\\Tape73", exists_ntdev, S_IFBLK, true},
- {"/dev/nst74", BRACK(FHDEV(DEV_TAPE_MAJOR, 202)), "\\Device\\Tape74", exists_ntdev, S_IFBLK, true},
- {"/dev/nst75", BRACK(FHDEV(DEV_TAPE_MAJOR, 203)), "\\Device\\Tape75", exists_ntdev, S_IFBLK, true},
- {"/dev/nst76", BRACK(FHDEV(DEV_TAPE_MAJOR, 204)), "\\Device\\Tape76", exists_ntdev, S_IFBLK, true},
- {"/dev/nst77", BRACK(FHDEV(DEV_TAPE_MAJOR, 205)), "\\Device\\Tape77", exists_ntdev, S_IFBLK, true},
- {"/dev/nst78", BRACK(FHDEV(DEV_TAPE_MAJOR, 206)), "\\Device\\Tape78", exists_ntdev, S_IFBLK, true},
- {"/dev/nst79", BRACK(FHDEV(DEV_TAPE_MAJOR, 207)), "\\Device\\Tape79", exists_ntdev, S_IFBLK, true},
- {"/dev/nst80", BRACK(FHDEV(DEV_TAPE_MAJOR, 208)), "\\Device\\Tape80", exists_ntdev, S_IFBLK, true},
- {"/dev/nst81", BRACK(FHDEV(DEV_TAPE_MAJOR, 209)), "\\Device\\Tape81", exists_ntdev, S_IFBLK, true},
- {"/dev/nst82", BRACK(FHDEV(DEV_TAPE_MAJOR, 210)), "\\Device\\Tape82", exists_ntdev, S_IFBLK, true},
- {"/dev/nst83", BRACK(FHDEV(DEV_TAPE_MAJOR, 211)), "\\Device\\Tape83", exists_ntdev, S_IFBLK, true},
- {"/dev/nst84", BRACK(FHDEV(DEV_TAPE_MAJOR, 212)), "\\Device\\Tape84", exists_ntdev, S_IFBLK, true},
- {"/dev/nst85", BRACK(FHDEV(DEV_TAPE_MAJOR, 213)), "\\Device\\Tape85", exists_ntdev, S_IFBLK, true},
- {"/dev/nst86", BRACK(FHDEV(DEV_TAPE_MAJOR, 214)), "\\Device\\Tape86", exists_ntdev, S_IFBLK, true},
- {"/dev/nst87", BRACK(FHDEV(DEV_TAPE_MAJOR, 215)), "\\Device\\Tape87", exists_ntdev, S_IFBLK, true},
- {"/dev/nst88", BRACK(FHDEV(DEV_TAPE_MAJOR, 216)), "\\Device\\Tape88", exists_ntdev, S_IFBLK, true},
- {"/dev/nst89", BRACK(FHDEV(DEV_TAPE_MAJOR, 217)), "\\Device\\Tape89", exists_ntdev, S_IFBLK, true},
- {"/dev/nst90", BRACK(FHDEV(DEV_TAPE_MAJOR, 218)), "\\Device\\Tape90", exists_ntdev, S_IFBLK, true},
- {"/dev/nst91", BRACK(FHDEV(DEV_TAPE_MAJOR, 219)), "\\Device\\Tape91", exists_ntdev, S_IFBLK, true},
- {"/dev/nst92", BRACK(FHDEV(DEV_TAPE_MAJOR, 220)), "\\Device\\Tape92", exists_ntdev, S_IFBLK, true},
- {"/dev/nst93", BRACK(FHDEV(DEV_TAPE_MAJOR, 221)), "\\Device\\Tape93", exists_ntdev, S_IFBLK, true},
- {"/dev/nst94", BRACK(FHDEV(DEV_TAPE_MAJOR, 222)), "\\Device\\Tape94", exists_ntdev, S_IFBLK, true},
- {"/dev/nst95", BRACK(FHDEV(DEV_TAPE_MAJOR, 223)), "\\Device\\Tape95", exists_ntdev, S_IFBLK, true},
- {"/dev/nst96", BRACK(FHDEV(DEV_TAPE_MAJOR, 224)), "\\Device\\Tape96", exists_ntdev, S_IFBLK, true},
- {"/dev/nst97", BRACK(FHDEV(DEV_TAPE_MAJOR, 225)), "\\Device\\Tape97", exists_ntdev, S_IFBLK, true},
- {"/dev/nst98", BRACK(FHDEV(DEV_TAPE_MAJOR, 226)), "\\Device\\Tape98", exists_ntdev, S_IFBLK, true},
- {"/dev/nst99", BRACK(FHDEV(DEV_TAPE_MAJOR, 227)), "\\Device\\Tape99", exists_ntdev, S_IFBLK, true},
- {"/dev/nst100", BRACK(FHDEV(DEV_TAPE_MAJOR, 228)), "\\Device\\Tape100", exists_ntdev, S_IFBLK, true},
- {"/dev/nst101", BRACK(FHDEV(DEV_TAPE_MAJOR, 229)), "\\Device\\Tape101", exists_ntdev, S_IFBLK, true},
- {"/dev/nst102", BRACK(FHDEV(DEV_TAPE_MAJOR, 230)), "\\Device\\Tape102", exists_ntdev, S_IFBLK, true},
- {"/dev/nst103", BRACK(FHDEV(DEV_TAPE_MAJOR, 231)), "\\Device\\Tape103", exists_ntdev, S_IFBLK, true},
- {"/dev/nst104", BRACK(FHDEV(DEV_TAPE_MAJOR, 232)), "\\Device\\Tape104", exists_ntdev, S_IFBLK, true},
- {"/dev/nst105", BRACK(FHDEV(DEV_TAPE_MAJOR, 233)), "\\Device\\Tape105", exists_ntdev, S_IFBLK, true},
- {"/dev/nst106", BRACK(FHDEV(DEV_TAPE_MAJOR, 234)), "\\Device\\Tape106", exists_ntdev, S_IFBLK, true},
- {"/dev/nst107", BRACK(FHDEV(DEV_TAPE_MAJOR, 235)), "\\Device\\Tape107", exists_ntdev, S_IFBLK, true},
- {"/dev/nst108", BRACK(FHDEV(DEV_TAPE_MAJOR, 236)), "\\Device\\Tape108", exists_ntdev, S_IFBLK, true},
- {"/dev/nst109", BRACK(FHDEV(DEV_TAPE_MAJOR, 237)), "\\Device\\Tape109", exists_ntdev, S_IFBLK, true},
- {"/dev/nst110", BRACK(FHDEV(DEV_TAPE_MAJOR, 238)), "\\Device\\Tape110", exists_ntdev, S_IFBLK, true},
- {"/dev/nst111", BRACK(FHDEV(DEV_TAPE_MAJOR, 239)), "\\Device\\Tape111", exists_ntdev, S_IFBLK, true},
- {"/dev/nst112", BRACK(FHDEV(DEV_TAPE_MAJOR, 240)), "\\Device\\Tape112", exists_ntdev, S_IFBLK, true},
- {"/dev/nst113", BRACK(FHDEV(DEV_TAPE_MAJOR, 241)), "\\Device\\Tape113", exists_ntdev, S_IFBLK, true},
- {"/dev/nst114", BRACK(FHDEV(DEV_TAPE_MAJOR, 242)), "\\Device\\Tape114", exists_ntdev, S_IFBLK, true},
- {"/dev/nst115", BRACK(FHDEV(DEV_TAPE_MAJOR, 243)), "\\Device\\Tape115", exists_ntdev, S_IFBLK, true},
- {"/dev/nst116", BRACK(FHDEV(DEV_TAPE_MAJOR, 244)), "\\Device\\Tape116", exists_ntdev, S_IFBLK, true},
- {"/dev/nst117", BRACK(FHDEV(DEV_TAPE_MAJOR, 245)), "\\Device\\Tape117", exists_ntdev, S_IFBLK, true},
- {"/dev/nst118", BRACK(FHDEV(DEV_TAPE_MAJOR, 246)), "\\Device\\Tape118", exists_ntdev, S_IFBLK, true},
- {"/dev/nst119", BRACK(FHDEV(DEV_TAPE_MAJOR, 247)), "\\Device\\Tape119", exists_ntdev, S_IFBLK, true},
- {"/dev/nst120", BRACK(FHDEV(DEV_TAPE_MAJOR, 248)), "\\Device\\Tape120", exists_ntdev, S_IFBLK, true},
- {"/dev/nst121", BRACK(FHDEV(DEV_TAPE_MAJOR, 249)), "\\Device\\Tape121", exists_ntdev, S_IFBLK, true},
- {"/dev/nst122", BRACK(FHDEV(DEV_TAPE_MAJOR, 250)), "\\Device\\Tape122", exists_ntdev, S_IFBLK, true},
- {"/dev/nst123", BRACK(FHDEV(DEV_TAPE_MAJOR, 251)), "\\Device\\Tape123", exists_ntdev, S_IFBLK, true},
- {"/dev/nst124", BRACK(FHDEV(DEV_TAPE_MAJOR, 252)), "\\Device\\Tape124", exists_ntdev, S_IFBLK, true},
- {"/dev/nst125", BRACK(FHDEV(DEV_TAPE_MAJOR, 253)), "\\Device\\Tape125", exists_ntdev, S_IFBLK, true},
- {"/dev/nst126", BRACK(FHDEV(DEV_TAPE_MAJOR, 254)), "\\Device\\Tape126", exists_ntdev, S_IFBLK, true},
- {"/dev/nst127", BRACK(FHDEV(DEV_TAPE_MAJOR, 255)), "\\Device\\Tape127", exists_ntdev, S_IFBLK, true},
- {"/dev/null", BRACK(FH_NULL), "\\Device\\Null", exists_ntdev, S_IFCHR, true},
- {"/dev/port", BRACK(FH_PORT), "/dev/port", exists, S_IFCHR, true},
- {"/dev/ptmx", BRACK(FH_PTMX), "/dev/ptmx", exists, S_IFCHR, true},
- {"/dev/pty0", BRACK(FHDEV(DEV_PTYS_MAJOR, 0)), "/dev/pty0", exists_pty, S_IFCHR, true},
- {"/dev/pty1", BRACK(FHDEV(DEV_PTYS_MAJOR, 1)), "/dev/pty1", exists_pty, S_IFCHR, true},
- {"/dev/pty2", BRACK(FHDEV(DEV_PTYS_MAJOR, 2)), "/dev/pty2", exists_pty, S_IFCHR, true},
- {"/dev/pty3", BRACK(FHDEV(DEV_PTYS_MAJOR, 3)), "/dev/pty3", exists_pty, S_IFCHR, true},
- {"/dev/pty4", BRACK(FHDEV(DEV_PTYS_MAJOR, 4)), "/dev/pty4", exists_pty, S_IFCHR, true},
- {"/dev/pty5", BRACK(FHDEV(DEV_PTYS_MAJOR, 5)), "/dev/pty5", exists_pty, S_IFCHR, true},
- {"/dev/pty6", BRACK(FHDEV(DEV_PTYS_MAJOR, 6)), "/dev/pty6", exists_pty, S_IFCHR, true},
- {"/dev/pty7", BRACK(FHDEV(DEV_PTYS_MAJOR, 7)), "/dev/pty7", exists_pty, S_IFCHR, true},
- {"/dev/pty8", BRACK(FHDEV(DEV_PTYS_MAJOR, 8)), "/dev/pty8", exists_pty, S_IFCHR, true},
- {"/dev/pty9", BRACK(FHDEV(DEV_PTYS_MAJOR, 9)), "/dev/pty9", exists_pty, S_IFCHR, true},
- {"/dev/pty10", BRACK(FHDEV(DEV_PTYS_MAJOR, 10)), "/dev/pty10", exists_pty, S_IFCHR, true},
- {"/dev/pty11", BRACK(FHDEV(DEV_PTYS_MAJOR, 11)), "/dev/pty11", exists_pty, S_IFCHR, true},
- {"/dev/pty12", BRACK(FHDEV(DEV_PTYS_MAJOR, 12)), "/dev/pty12", exists_pty, S_IFCHR, true},
- {"/dev/pty13", BRACK(FHDEV(DEV_PTYS_MAJOR, 13)), "/dev/pty13", exists_pty, S_IFCHR, true},
- {"/dev/pty14", BRACK(FHDEV(DEV_PTYS_MAJOR, 14)), "/dev/pty14", exists_pty, S_IFCHR, true},
- {"/dev/pty15", BRACK(FHDEV(DEV_PTYS_MAJOR, 15)), "/dev/pty15", exists_pty, S_IFCHR, true},
- {"/dev/pty16", BRACK(FHDEV(DEV_PTYS_MAJOR, 16)), "/dev/pty16", exists_pty, S_IFCHR, true},
- {"/dev/pty17", BRACK(FHDEV(DEV_PTYS_MAJOR, 17)), "/dev/pty17", exists_pty, S_IFCHR, true},
- {"/dev/pty18", BRACK(FHDEV(DEV_PTYS_MAJOR, 18)), "/dev/pty18", exists_pty, S_IFCHR, true},
- {"/dev/pty19", BRACK(FHDEV(DEV_PTYS_MAJOR, 19)), "/dev/pty19", exists_pty, S_IFCHR, true},
- {"/dev/pty20", BRACK(FHDEV(DEV_PTYS_MAJOR, 20)), "/dev/pty20", exists_pty, S_IFCHR, true},
- {"/dev/pty21", BRACK(FHDEV(DEV_PTYS_MAJOR, 21)), "/dev/pty21", exists_pty, S_IFCHR, true},
- {"/dev/pty22", BRACK(FHDEV(DEV_PTYS_MAJOR, 22)), "/dev/pty22", exists_pty, S_IFCHR, true},
- {"/dev/pty23", BRACK(FHDEV(DEV_PTYS_MAJOR, 23)), "/dev/pty23", exists_pty, S_IFCHR, true},
- {"/dev/pty24", BRACK(FHDEV(DEV_PTYS_MAJOR, 24)), "/dev/pty24", exists_pty, S_IFCHR, true},
- {"/dev/pty25", BRACK(FHDEV(DEV_PTYS_MAJOR, 25)), "/dev/pty25", exists_pty, S_IFCHR, true},
- {"/dev/pty26", BRACK(FHDEV(DEV_PTYS_MAJOR, 26)), "/dev/pty26", exists_pty, S_IFCHR, true},
- {"/dev/pty27", BRACK(FHDEV(DEV_PTYS_MAJOR, 27)), "/dev/pty27", exists_pty, S_IFCHR, true},
- {"/dev/pty28", BRACK(FHDEV(DEV_PTYS_MAJOR, 28)), "/dev/pty28", exists_pty, S_IFCHR, true},
- {"/dev/pty29", BRACK(FHDEV(DEV_PTYS_MAJOR, 29)), "/dev/pty29", exists_pty, S_IFCHR, true},
- {"/dev/pty30", BRACK(FHDEV(DEV_PTYS_MAJOR, 30)), "/dev/pty30", exists_pty, S_IFCHR, true},
- {"/dev/pty31", BRACK(FHDEV(DEV_PTYS_MAJOR, 31)), "/dev/pty31", exists_pty, S_IFCHR, true},
- {"/dev/pty32", BRACK(FHDEV(DEV_PTYS_MAJOR, 32)), "/dev/pty32", exists_pty, S_IFCHR, true},
- {"/dev/pty33", BRACK(FHDEV(DEV_PTYS_MAJOR, 33)), "/dev/pty33", exists_pty, S_IFCHR, true},
- {"/dev/pty34", BRACK(FHDEV(DEV_PTYS_MAJOR, 34)), "/dev/pty34", exists_pty, S_IFCHR, true},
- {"/dev/pty35", BRACK(FHDEV(DEV_PTYS_MAJOR, 35)), "/dev/pty35", exists_pty, S_IFCHR, true},
- {"/dev/pty36", BRACK(FHDEV(DEV_PTYS_MAJOR, 36)), "/dev/pty36", exists_pty, S_IFCHR, true},
- {"/dev/pty37", BRACK(FHDEV(DEV_PTYS_MAJOR, 37)), "/dev/pty37", exists_pty, S_IFCHR, true},
- {"/dev/pty38", BRACK(FHDEV(DEV_PTYS_MAJOR, 38)), "/dev/pty38", exists_pty, S_IFCHR, true},
- {"/dev/pty39", BRACK(FHDEV(DEV_PTYS_MAJOR, 39)), "/dev/pty39", exists_pty, S_IFCHR, true},
- {"/dev/pty40", BRACK(FHDEV(DEV_PTYS_MAJOR, 40)), "/dev/pty40", exists_pty, S_IFCHR, true},
- {"/dev/pty41", BRACK(FHDEV(DEV_PTYS_MAJOR, 41)), "/dev/pty41", exists_pty, S_IFCHR, true},
- {"/dev/pty42", BRACK(FHDEV(DEV_PTYS_MAJOR, 42)), "/dev/pty42", exists_pty, S_IFCHR, true},
- {"/dev/pty43", BRACK(FHDEV(DEV_PTYS_MAJOR, 43)), "/dev/pty43", exists_pty, S_IFCHR, true},
- {"/dev/pty44", BRACK(FHDEV(DEV_PTYS_MAJOR, 44)), "/dev/pty44", exists_pty, S_IFCHR, true},
- {"/dev/pty45", BRACK(FHDEV(DEV_PTYS_MAJOR, 45)), "/dev/pty45", exists_pty, S_IFCHR, true},
- {"/dev/pty46", BRACK(FHDEV(DEV_PTYS_MAJOR, 46)), "/dev/pty46", exists_pty, S_IFCHR, true},
- {"/dev/pty47", BRACK(FHDEV(DEV_PTYS_MAJOR, 47)), "/dev/pty47", exists_pty, S_IFCHR, true},
- {"/dev/pty48", BRACK(FHDEV(DEV_PTYS_MAJOR, 48)), "/dev/pty48", exists_pty, S_IFCHR, true},
- {"/dev/pty49", BRACK(FHDEV(DEV_PTYS_MAJOR, 49)), "/dev/pty49", exists_pty, S_IFCHR, true},
- {"/dev/pty50", BRACK(FHDEV(DEV_PTYS_MAJOR, 50)), "/dev/pty50", exists_pty, S_IFCHR, true},
- {"/dev/pty51", BRACK(FHDEV(DEV_PTYS_MAJOR, 51)), "/dev/pty51", exists_pty, S_IFCHR, true},
- {"/dev/pty52", BRACK(FHDEV(DEV_PTYS_MAJOR, 52)), "/dev/pty52", exists_pty, S_IFCHR, true},
- {"/dev/pty53", BRACK(FHDEV(DEV_PTYS_MAJOR, 53)), "/dev/pty53", exists_pty, S_IFCHR, true},
- {"/dev/pty54", BRACK(FHDEV(DEV_PTYS_MAJOR, 54)), "/dev/pty54", exists_pty, S_IFCHR, true},
- {"/dev/pty55", BRACK(FHDEV(DEV_PTYS_MAJOR, 55)), "/dev/pty55", exists_pty, S_IFCHR, true},
- {"/dev/pty56", BRACK(FHDEV(DEV_PTYS_MAJOR, 56)), "/dev/pty56", exists_pty, S_IFCHR, true},
- {"/dev/pty57", BRACK(FHDEV(DEV_PTYS_MAJOR, 57)), "/dev/pty57", exists_pty, S_IFCHR, true},
- {"/dev/pty58", BRACK(FHDEV(DEV_PTYS_MAJOR, 58)), "/dev/pty58", exists_pty, S_IFCHR, true},
- {"/dev/pty59", BRACK(FHDEV(DEV_PTYS_MAJOR, 59)), "/dev/pty59", exists_pty, S_IFCHR, true},
- {"/dev/pty60", BRACK(FHDEV(DEV_PTYS_MAJOR, 60)), "/dev/pty60", exists_pty, S_IFCHR, true},
- {"/dev/pty61", BRACK(FHDEV(DEV_PTYS_MAJOR, 61)), "/dev/pty61", exists_pty, S_IFCHR, true},
- {"/dev/pty62", BRACK(FHDEV(DEV_PTYS_MAJOR, 62)), "/dev/pty62", exists_pty, S_IFCHR, true},
- {"/dev/pty63", BRACK(FHDEV(DEV_PTYS_MAJOR, 63)), "/dev/pty63", exists_pty, S_IFCHR, true},
- {"/dev/random", BRACK(FH_RANDOM), "/dev/random", exists, S_IFCHR, true},
- {"/dev/scd0", BRACK(FHDEV(DEV_CDROM_MAJOR, 0)), "\\Device\\CdRom0", exists_ntdev, S_IFBLK, true},
- {"/dev/scd1", BRACK(FHDEV(DEV_CDROM_MAJOR, 1)), "\\Device\\CdRom1", exists_ntdev, S_IFBLK, true},
- {"/dev/scd2", BRACK(FHDEV(DEV_CDROM_MAJOR, 2)), "\\Device\\CdRom2", exists_ntdev, S_IFBLK, true},
- {"/dev/scd3", BRACK(FHDEV(DEV_CDROM_MAJOR, 3)), "\\Device\\CdRom3", exists_ntdev, S_IFBLK, true},
- {"/dev/scd4", BRACK(FHDEV(DEV_CDROM_MAJOR, 4)), "\\Device\\CdRom4", exists_ntdev, S_IFBLK, true},
- {"/dev/scd5", BRACK(FHDEV(DEV_CDROM_MAJOR, 5)), "\\Device\\CdRom5", exists_ntdev, S_IFBLK, true},
- {"/dev/scd6", BRACK(FHDEV(DEV_CDROM_MAJOR, 6)), "\\Device\\CdRom6", exists_ntdev, S_IFBLK, true},
- {"/dev/scd7", BRACK(FHDEV(DEV_CDROM_MAJOR, 7)), "\\Device\\CdRom7", exists_ntdev, S_IFBLK, true},
- {"/dev/scd8", BRACK(FHDEV(DEV_CDROM_MAJOR, 8)), "\\Device\\CdRom8", exists_ntdev, S_IFBLK, true},
- {"/dev/scd9", BRACK(FHDEV(DEV_CDROM_MAJOR, 9)), "\\Device\\CdRom9", exists_ntdev, S_IFBLK, true},
- {"/dev/scd10", BRACK(FHDEV(DEV_CDROM_MAJOR, 10)), "\\Device\\CdRom10", exists_ntdev, S_IFBLK, true},
- {"/dev/scd11", BRACK(FHDEV(DEV_CDROM_MAJOR, 11)), "\\Device\\CdRom11", exists_ntdev, S_IFBLK, true},
- {"/dev/scd12", BRACK(FHDEV(DEV_CDROM_MAJOR, 12)), "\\Device\\CdRom12", exists_ntdev, S_IFBLK, true},
- {"/dev/scd13", BRACK(FHDEV(DEV_CDROM_MAJOR, 13)), "\\Device\\CdRom13", exists_ntdev, S_IFBLK, true},
- {"/dev/scd14", BRACK(FHDEV(DEV_CDROM_MAJOR, 14)), "\\Device\\CdRom14", exists_ntdev, S_IFBLK, true},
- {"/dev/scd15", BRACK(FHDEV(DEV_CDROM_MAJOR, 15)), "\\Device\\CdRom15", exists_ntdev, S_IFBLK, true},
- {"/dev/sda", BRACK(FH_SDA), "\\Device\\Harddisk0\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb", BRACK(FH_SDB), "\\Device\\Harddisk1\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc", BRACK(FH_SDC), "\\Device\\Harddisk2\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd", BRACK(FH_SDD), "\\Device\\Harddisk3\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sde", BRACK(FH_SDE), "\\Device\\Harddisk4\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf", BRACK(FH_SDF), "\\Device\\Harddisk5\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg", BRACK(FH_SDG), "\\Device\\Harddisk6\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh", BRACK(FH_SDH), "\\Device\\Harddisk7\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi", BRACK(FH_SDI), "\\Device\\Harddisk8\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj", BRACK(FH_SDJ), "\\Device\\Harddisk9\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk", BRACK(FH_SDK), "\\Device\\Harddisk10\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl", BRACK(FH_SDL), "\\Device\\Harddisk11\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm", BRACK(FH_SDM), "\\Device\\Harddisk12\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn", BRACK(FH_SDN), "\\Device\\Harddisk13\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo", BRACK(FH_SDO), "\\Device\\Harddisk14\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp", BRACK(FH_SDP), "\\Device\\Harddisk15\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq", BRACK(FH_SDQ), "\\Device\\Harddisk16\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr", BRACK(FH_SDR), "\\Device\\Harddisk17\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sds", BRACK(FH_SDS), "\\Device\\Harddisk18\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt", BRACK(FH_SDT), "\\Device\\Harddisk19\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu", BRACK(FH_SDU), "\\Device\\Harddisk20\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv", BRACK(FH_SDV), "\\Device\\Harddisk21\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw", BRACK(FH_SDW), "\\Device\\Harddisk22\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx", BRACK(FH_SDX), "\\Device\\Harddisk23\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy", BRACK(FH_SDY), "\\Device\\Harddisk24\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz", BRACK(FH_SDZ), "\\Device\\Harddisk25\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sda1", BRACK(FH_SDA | 1), "\\Device\\Harddisk0\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sda2", BRACK(FH_SDA | 2), "\\Device\\Harddisk0\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sda3", BRACK(FH_SDA | 3), "\\Device\\Harddisk0\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sda4", BRACK(FH_SDA | 4), "\\Device\\Harddisk0\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sda5", BRACK(FH_SDA | 5), "\\Device\\Harddisk0\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sda6", BRACK(FH_SDA | 6), "\\Device\\Harddisk0\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sda7", BRACK(FH_SDA | 7), "\\Device\\Harddisk0\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sda8", BRACK(FH_SDA | 8), "\\Device\\Harddisk0\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sda9", BRACK(FH_SDA | 9), "\\Device\\Harddisk0\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sda10", BRACK(FH_SDA | 10), "\\Device\\Harddisk0\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sda11", BRACK(FH_SDA | 11), "\\Device\\Harddisk0\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sda12", BRACK(FH_SDA | 12), "\\Device\\Harddisk0\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sda13", BRACK(FH_SDA | 13), "\\Device\\Harddisk0\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sda14", BRACK(FH_SDA | 14), "\\Device\\Harddisk0\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sda15", BRACK(FH_SDA | 15), "\\Device\\Harddisk0\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb1", BRACK(FH_SDB | 1), "\\Device\\Harddisk1\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb2", BRACK(FH_SDB | 2), "\\Device\\Harddisk1\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb3", BRACK(FH_SDB | 3), "\\Device\\Harddisk1\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb4", BRACK(FH_SDB | 4), "\\Device\\Harddisk1\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb5", BRACK(FH_SDB | 5), "\\Device\\Harddisk1\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb6", BRACK(FH_SDB | 6), "\\Device\\Harddisk1\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb7", BRACK(FH_SDB | 7), "\\Device\\Harddisk1\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb8", BRACK(FH_SDB | 8), "\\Device\\Harddisk1\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb9", BRACK(FH_SDB | 9), "\\Device\\Harddisk1\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb10", BRACK(FH_SDB | 10), "\\Device\\Harddisk1\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb11", BRACK(FH_SDB | 11), "\\Device\\Harddisk1\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb12", BRACK(FH_SDB | 12), "\\Device\\Harddisk1\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb13", BRACK(FH_SDB | 13), "\\Device\\Harddisk1\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb14", BRACK(FH_SDB | 14), "\\Device\\Harddisk1\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb15", BRACK(FH_SDB | 15), "\\Device\\Harddisk1\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc1", BRACK(FH_SDC | 1), "\\Device\\Harddisk2\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc2", BRACK(FH_SDC | 2), "\\Device\\Harddisk2\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc3", BRACK(FH_SDC | 3), "\\Device\\Harddisk2\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc4", BRACK(FH_SDC | 4), "\\Device\\Harddisk2\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc5", BRACK(FH_SDC | 5), "\\Device\\Harddisk2\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc6", BRACK(FH_SDC | 6), "\\Device\\Harddisk2\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc7", BRACK(FH_SDC | 7), "\\Device\\Harddisk2\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc8", BRACK(FH_SDC | 8), "\\Device\\Harddisk2\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc9", BRACK(FH_SDC | 9), "\\Device\\Harddisk2\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc10", BRACK(FH_SDC | 10), "\\Device\\Harddisk2\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc11", BRACK(FH_SDC | 11), "\\Device\\Harddisk2\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc12", BRACK(FH_SDC | 12), "\\Device\\Harddisk2\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc13", BRACK(FH_SDC | 13), "\\Device\\Harddisk2\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc14", BRACK(FH_SDC | 14), "\\Device\\Harddisk2\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc15", BRACK(FH_SDC | 15), "\\Device\\Harddisk2\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd1", BRACK(FH_SDD | 1), "\\Device\\Harddisk3\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd2", BRACK(FH_SDD | 2), "\\Device\\Harddisk3\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd3", BRACK(FH_SDD | 3), "\\Device\\Harddisk3\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd4", BRACK(FH_SDD | 4), "\\Device\\Harddisk3\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd5", BRACK(FH_SDD | 5), "\\Device\\Harddisk3\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd6", BRACK(FH_SDD | 6), "\\Device\\Harddisk3\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd7", BRACK(FH_SDD | 7), "\\Device\\Harddisk3\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd8", BRACK(FH_SDD | 8), "\\Device\\Harddisk3\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd9", BRACK(FH_SDD | 9), "\\Device\\Harddisk3\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd10", BRACK(FH_SDD | 10), "\\Device\\Harddisk3\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd11", BRACK(FH_SDD | 11), "\\Device\\Harddisk3\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd12", BRACK(FH_SDD | 12), "\\Device\\Harddisk3\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd13", BRACK(FH_SDD | 13), "\\Device\\Harddisk3\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd14", BRACK(FH_SDD | 14), "\\Device\\Harddisk3\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd15", BRACK(FH_SDD | 15), "\\Device\\Harddisk3\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sde1", BRACK(FH_SDE | 1), "\\Device\\Harddisk4\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sde2", BRACK(FH_SDE | 2), "\\Device\\Harddisk4\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sde3", BRACK(FH_SDE | 3), "\\Device\\Harddisk4\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sde4", BRACK(FH_SDE | 4), "\\Device\\Harddisk4\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sde5", BRACK(FH_SDE | 5), "\\Device\\Harddisk4\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sde6", BRACK(FH_SDE | 6), "\\Device\\Harddisk4\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sde7", BRACK(FH_SDE | 7), "\\Device\\Harddisk4\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sde8", BRACK(FH_SDE | 8), "\\Device\\Harddisk4\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sde9", BRACK(FH_SDE | 9), "\\Device\\Harddisk4\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sde10", BRACK(FH_SDE | 10), "\\Device\\Harddisk4\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sde11", BRACK(FH_SDE | 11), "\\Device\\Harddisk4\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sde12", BRACK(FH_SDE | 12), "\\Device\\Harddisk4\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sde13", BRACK(FH_SDE | 13), "\\Device\\Harddisk4\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sde14", BRACK(FH_SDE | 14), "\\Device\\Harddisk4\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sde15", BRACK(FH_SDE | 15), "\\Device\\Harddisk4\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf1", BRACK(FH_SDF | 1), "\\Device\\Harddisk5\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf2", BRACK(FH_SDF | 2), "\\Device\\Harddisk5\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf3", BRACK(FH_SDF | 3), "\\Device\\Harddisk5\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf4", BRACK(FH_SDF | 4), "\\Device\\Harddisk5\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf5", BRACK(FH_SDF | 5), "\\Device\\Harddisk5\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf6", BRACK(FH_SDF | 6), "\\Device\\Harddisk5\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf7", BRACK(FH_SDF | 7), "\\Device\\Harddisk5\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf8", BRACK(FH_SDF | 8), "\\Device\\Harddisk5\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf9", BRACK(FH_SDF | 9), "\\Device\\Harddisk5\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf10", BRACK(FH_SDF | 10), "\\Device\\Harddisk5\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf11", BRACK(FH_SDF | 11), "\\Device\\Harddisk5\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf12", BRACK(FH_SDF | 12), "\\Device\\Harddisk5\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf13", BRACK(FH_SDF | 13), "\\Device\\Harddisk5\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf14", BRACK(FH_SDF | 14), "\\Device\\Harddisk5\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf15", BRACK(FH_SDF | 15), "\\Device\\Harddisk5\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg1", BRACK(FH_SDG | 1), "\\Device\\Harddisk6\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg2", BRACK(FH_SDG | 2), "\\Device\\Harddisk6\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg3", BRACK(FH_SDG | 3), "\\Device\\Harddisk6\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg4", BRACK(FH_SDG | 4), "\\Device\\Harddisk6\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg5", BRACK(FH_SDG | 5), "\\Device\\Harddisk6\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg6", BRACK(FH_SDG | 6), "\\Device\\Harddisk6\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg7", BRACK(FH_SDG | 7), "\\Device\\Harddisk6\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg8", BRACK(FH_SDG | 8), "\\Device\\Harddisk6\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg9", BRACK(FH_SDG | 9), "\\Device\\Harddisk6\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg10", BRACK(FH_SDG | 10), "\\Device\\Harddisk6\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg11", BRACK(FH_SDG | 11), "\\Device\\Harddisk6\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg12", BRACK(FH_SDG | 12), "\\Device\\Harddisk6\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg13", BRACK(FH_SDG | 13), "\\Device\\Harddisk6\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg14", BRACK(FH_SDG | 14), "\\Device\\Harddisk6\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg15", BRACK(FH_SDG | 15), "\\Device\\Harddisk6\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh1", BRACK(FH_SDH | 1), "\\Device\\Harddisk7\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh2", BRACK(FH_SDH | 2), "\\Device\\Harddisk7\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh3", BRACK(FH_SDH | 3), "\\Device\\Harddisk7\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh4", BRACK(FH_SDH | 4), "\\Device\\Harddisk7\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh5", BRACK(FH_SDH | 5), "\\Device\\Harddisk7\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh6", BRACK(FH_SDH | 6), "\\Device\\Harddisk7\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh7", BRACK(FH_SDH | 7), "\\Device\\Harddisk7\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh8", BRACK(FH_SDH | 8), "\\Device\\Harddisk7\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh9", BRACK(FH_SDH | 9), "\\Device\\Harddisk7\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh10", BRACK(FH_SDH | 10), "\\Device\\Harddisk7\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh11", BRACK(FH_SDH | 11), "\\Device\\Harddisk7\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh12", BRACK(FH_SDH | 12), "\\Device\\Harddisk7\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh13", BRACK(FH_SDH | 13), "\\Device\\Harddisk7\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh14", BRACK(FH_SDH | 14), "\\Device\\Harddisk7\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh15", BRACK(FH_SDH | 15), "\\Device\\Harddisk7\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi1", BRACK(FH_SDI | 1), "\\Device\\Harddisk8\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi2", BRACK(FH_SDI | 2), "\\Device\\Harddisk8\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi3", BRACK(FH_SDI | 3), "\\Device\\Harddisk8\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi4", BRACK(FH_SDI | 4), "\\Device\\Harddisk8\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi5", BRACK(FH_SDI | 5), "\\Device\\Harddisk8\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi6", BRACK(FH_SDI | 6), "\\Device\\Harddisk8\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi7", BRACK(FH_SDI | 7), "\\Device\\Harddisk8\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi8", BRACK(FH_SDI | 8), "\\Device\\Harddisk8\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi9", BRACK(FH_SDI | 9), "\\Device\\Harddisk8\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi10", BRACK(FH_SDI | 10), "\\Device\\Harddisk8\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi11", BRACK(FH_SDI | 11), "\\Device\\Harddisk8\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi12", BRACK(FH_SDI | 12), "\\Device\\Harddisk8\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi13", BRACK(FH_SDI | 13), "\\Device\\Harddisk8\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi14", BRACK(FH_SDI | 14), "\\Device\\Harddisk8\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi15", BRACK(FH_SDI | 15), "\\Device\\Harddisk8\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj1", BRACK(FH_SDJ | 1), "\\Device\\Harddisk9\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj2", BRACK(FH_SDJ | 2), "\\Device\\Harddisk9\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj3", BRACK(FH_SDJ | 3), "\\Device\\Harddisk9\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj4", BRACK(FH_SDJ | 4), "\\Device\\Harddisk9\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj5", BRACK(FH_SDJ | 5), "\\Device\\Harddisk9\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj6", BRACK(FH_SDJ | 6), "\\Device\\Harddisk9\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj7", BRACK(FH_SDJ | 7), "\\Device\\Harddisk9\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj8", BRACK(FH_SDJ | 8), "\\Device\\Harddisk9\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj9", BRACK(FH_SDJ | 9), "\\Device\\Harddisk9\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj10", BRACK(FH_SDJ | 10), "\\Device\\Harddisk9\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj11", BRACK(FH_SDJ | 11), "\\Device\\Harddisk9\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj12", BRACK(FH_SDJ | 12), "\\Device\\Harddisk9\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj13", BRACK(FH_SDJ | 13), "\\Device\\Harddisk9\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj14", BRACK(FH_SDJ | 14), "\\Device\\Harddisk9\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj15", BRACK(FH_SDJ | 15), "\\Device\\Harddisk9\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk1", BRACK(FH_SDK | 1), "\\Device\\Harddisk10\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk2", BRACK(FH_SDK | 2), "\\Device\\Harddisk10\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk3", BRACK(FH_SDK | 3), "\\Device\\Harddisk10\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk4", BRACK(FH_SDK | 4), "\\Device\\Harddisk10\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk5", BRACK(FH_SDK | 5), "\\Device\\Harddisk10\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk6", BRACK(FH_SDK | 6), "\\Device\\Harddisk10\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk7", BRACK(FH_SDK | 7), "\\Device\\Harddisk10\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk8", BRACK(FH_SDK | 8), "\\Device\\Harddisk10\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk9", BRACK(FH_SDK | 9), "\\Device\\Harddisk10\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk10", BRACK(FH_SDK | 10), "\\Device\\Harddisk10\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk11", BRACK(FH_SDK | 11), "\\Device\\Harddisk10\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk12", BRACK(FH_SDK | 12), "\\Device\\Harddisk10\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk13", BRACK(FH_SDK | 13), "\\Device\\Harddisk10\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk14", BRACK(FH_SDK | 14), "\\Device\\Harddisk10\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk15", BRACK(FH_SDK | 15), "\\Device\\Harddisk10\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl1", BRACK(FH_SDL | 1), "\\Device\\Harddisk11\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl2", BRACK(FH_SDL | 2), "\\Device\\Harddisk11\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl3", BRACK(FH_SDL | 3), "\\Device\\Harddisk11\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl4", BRACK(FH_SDL | 4), "\\Device\\Harddisk11\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl5", BRACK(FH_SDL | 5), "\\Device\\Harddisk11\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl6", BRACK(FH_SDL | 6), "\\Device\\Harddisk11\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl7", BRACK(FH_SDL | 7), "\\Device\\Harddisk11\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl8", BRACK(FH_SDL | 8), "\\Device\\Harddisk11\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl9", BRACK(FH_SDL | 9), "\\Device\\Harddisk11\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl10", BRACK(FH_SDL | 10), "\\Device\\Harddisk11\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl11", BRACK(FH_SDL | 11), "\\Device\\Harddisk11\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl12", BRACK(FH_SDL | 12), "\\Device\\Harddisk11\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl13", BRACK(FH_SDL | 13), "\\Device\\Harddisk11\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl14", BRACK(FH_SDL | 14), "\\Device\\Harddisk11\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl15", BRACK(FH_SDL | 15), "\\Device\\Harddisk11\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm1", BRACK(FH_SDM | 1), "\\Device\\Harddisk12\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm2", BRACK(FH_SDM | 2), "\\Device\\Harddisk12\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm3", BRACK(FH_SDM | 3), "\\Device\\Harddisk12\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm4", BRACK(FH_SDM | 4), "\\Device\\Harddisk12\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm5", BRACK(FH_SDM | 5), "\\Device\\Harddisk12\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm6", BRACK(FH_SDM | 6), "\\Device\\Harddisk12\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm7", BRACK(FH_SDM | 7), "\\Device\\Harddisk12\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm8", BRACK(FH_SDM | 8), "\\Device\\Harddisk12\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm9", BRACK(FH_SDM | 9), "\\Device\\Harddisk12\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm10", BRACK(FH_SDM | 10), "\\Device\\Harddisk12\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm11", BRACK(FH_SDM | 11), "\\Device\\Harddisk12\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm12", BRACK(FH_SDM | 12), "\\Device\\Harddisk12\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm13", BRACK(FH_SDM | 13), "\\Device\\Harddisk12\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm14", BRACK(FH_SDM | 14), "\\Device\\Harddisk12\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm15", BRACK(FH_SDM | 15), "\\Device\\Harddisk12\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn1", BRACK(FH_SDN | 1), "\\Device\\Harddisk13\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn2", BRACK(FH_SDN | 2), "\\Device\\Harddisk13\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn3", BRACK(FH_SDN | 3), "\\Device\\Harddisk13\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn4", BRACK(FH_SDN | 4), "\\Device\\Harddisk13\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn5", BRACK(FH_SDN | 5), "\\Device\\Harddisk13\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn6", BRACK(FH_SDN | 6), "\\Device\\Harddisk13\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn7", BRACK(FH_SDN | 7), "\\Device\\Harddisk13\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn8", BRACK(FH_SDN | 8), "\\Device\\Harddisk13\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn9", BRACK(FH_SDN | 9), "\\Device\\Harddisk13\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn10", BRACK(FH_SDN | 10), "\\Device\\Harddisk13\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn11", BRACK(FH_SDN | 11), "\\Device\\Harddisk13\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn12", BRACK(FH_SDN | 12), "\\Device\\Harddisk13\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn13", BRACK(FH_SDN | 13), "\\Device\\Harddisk13\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn14", BRACK(FH_SDN | 14), "\\Device\\Harddisk13\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn15", BRACK(FH_SDN | 15), "\\Device\\Harddisk13\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo1", BRACK(FH_SDO | 1), "\\Device\\Harddisk14\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo2", BRACK(FH_SDO | 2), "\\Device\\Harddisk14\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo3", BRACK(FH_SDO | 3), "\\Device\\Harddisk14\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo4", BRACK(FH_SDO | 4), "\\Device\\Harddisk14\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo5", BRACK(FH_SDO | 5), "\\Device\\Harddisk14\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo6", BRACK(FH_SDO | 6), "\\Device\\Harddisk14\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo7", BRACK(FH_SDO | 7), "\\Device\\Harddisk14\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo8", BRACK(FH_SDO | 8), "\\Device\\Harddisk14\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo9", BRACK(FH_SDO | 9), "\\Device\\Harddisk14\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo10", BRACK(FH_SDO | 10), "\\Device\\Harddisk14\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo11", BRACK(FH_SDO | 11), "\\Device\\Harddisk14\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo12", BRACK(FH_SDO | 12), "\\Device\\Harddisk14\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo13", BRACK(FH_SDO | 13), "\\Device\\Harddisk14\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo14", BRACK(FH_SDO | 14), "\\Device\\Harddisk14\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo15", BRACK(FH_SDO | 15), "\\Device\\Harddisk14\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp1", BRACK(FH_SDP | 1), "\\Device\\Harddisk15\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp2", BRACK(FH_SDP | 2), "\\Device\\Harddisk15\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp3", BRACK(FH_SDP | 3), "\\Device\\Harddisk15\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp4", BRACK(FH_SDP | 4), "\\Device\\Harddisk15\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp5", BRACK(FH_SDP | 5), "\\Device\\Harddisk15\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp6", BRACK(FH_SDP | 6), "\\Device\\Harddisk15\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp7", BRACK(FH_SDP | 7), "\\Device\\Harddisk15\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp8", BRACK(FH_SDP | 8), "\\Device\\Harddisk15\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp9", BRACK(FH_SDP | 9), "\\Device\\Harddisk15\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp10", BRACK(FH_SDP | 10), "\\Device\\Harddisk15\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp11", BRACK(FH_SDP | 11), "\\Device\\Harddisk15\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp12", BRACK(FH_SDP | 12), "\\Device\\Harddisk15\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp13", BRACK(FH_SDP | 13), "\\Device\\Harddisk15\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp14", BRACK(FH_SDP | 14), "\\Device\\Harddisk15\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp15", BRACK(FH_SDP | 15), "\\Device\\Harddisk15\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq1", BRACK(FH_SDQ | 1), "\\Device\\Harddisk16\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq2", BRACK(FH_SDQ | 2), "\\Device\\Harddisk16\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq3", BRACK(FH_SDQ | 3), "\\Device\\Harddisk16\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq4", BRACK(FH_SDQ | 4), "\\Device\\Harddisk16\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq5", BRACK(FH_SDQ | 5), "\\Device\\Harddisk16\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq6", BRACK(FH_SDQ | 6), "\\Device\\Harddisk16\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq7", BRACK(FH_SDQ | 7), "\\Device\\Harddisk16\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq8", BRACK(FH_SDQ | 8), "\\Device\\Harddisk16\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq9", BRACK(FH_SDQ | 9), "\\Device\\Harddisk16\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq10", BRACK(FH_SDQ | 10), "\\Device\\Harddisk16\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq11", BRACK(FH_SDQ | 11), "\\Device\\Harddisk16\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq12", BRACK(FH_SDQ | 12), "\\Device\\Harddisk16\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq13", BRACK(FH_SDQ | 13), "\\Device\\Harddisk16\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq14", BRACK(FH_SDQ | 14), "\\Device\\Harddisk16\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq15", BRACK(FH_SDQ | 15), "\\Device\\Harddisk16\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr1", BRACK(FH_SDR | 1), "\\Device\\Harddisk17\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr2", BRACK(FH_SDR | 2), "\\Device\\Harddisk17\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr3", BRACK(FH_SDR | 3), "\\Device\\Harddisk17\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr4", BRACK(FH_SDR | 4), "\\Device\\Harddisk17\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr5", BRACK(FH_SDR | 5), "\\Device\\Harddisk17\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr6", BRACK(FH_SDR | 6), "\\Device\\Harddisk17\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr7", BRACK(FH_SDR | 7), "\\Device\\Harddisk17\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr8", BRACK(FH_SDR | 8), "\\Device\\Harddisk17\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr9", BRACK(FH_SDR | 9), "\\Device\\Harddisk17\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr10", BRACK(FH_SDR | 10), "\\Device\\Harddisk17\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr11", BRACK(FH_SDR | 11), "\\Device\\Harddisk17\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr12", BRACK(FH_SDR | 12), "\\Device\\Harddisk17\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr13", BRACK(FH_SDR | 13), "\\Device\\Harddisk17\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr14", BRACK(FH_SDR | 14), "\\Device\\Harddisk17\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr15", BRACK(FH_SDR | 15), "\\Device\\Harddisk17\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sds1", BRACK(FH_SDS | 1), "\\Device\\Harddisk18\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sds2", BRACK(FH_SDS | 2), "\\Device\\Harddisk18\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sds3", BRACK(FH_SDS | 3), "\\Device\\Harddisk18\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sds4", BRACK(FH_SDS | 4), "\\Device\\Harddisk18\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sds5", BRACK(FH_SDS | 5), "\\Device\\Harddisk18\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sds6", BRACK(FH_SDS | 6), "\\Device\\Harddisk18\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sds7", BRACK(FH_SDS | 7), "\\Device\\Harddisk18\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sds8", BRACK(FH_SDS | 8), "\\Device\\Harddisk18\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sds9", BRACK(FH_SDS | 9), "\\Device\\Harddisk18\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sds10", BRACK(FH_SDS | 10), "\\Device\\Harddisk18\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sds11", BRACK(FH_SDS | 11), "\\Device\\Harddisk18\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sds12", BRACK(FH_SDS | 12), "\\Device\\Harddisk18\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sds13", BRACK(FH_SDS | 13), "\\Device\\Harddisk18\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sds14", BRACK(FH_SDS | 14), "\\Device\\Harddisk18\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sds15", BRACK(FH_SDS | 15), "\\Device\\Harddisk18\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt1", BRACK(FH_SDT | 1), "\\Device\\Harddisk19\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt2", BRACK(FH_SDT | 2), "\\Device\\Harddisk19\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt3", BRACK(FH_SDT | 3), "\\Device\\Harddisk19\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt4", BRACK(FH_SDT | 4), "\\Device\\Harddisk19\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt5", BRACK(FH_SDT | 5), "\\Device\\Harddisk19\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt6", BRACK(FH_SDT | 6), "\\Device\\Harddisk19\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt7", BRACK(FH_SDT | 7), "\\Device\\Harddisk19\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt8", BRACK(FH_SDT | 8), "\\Device\\Harddisk19\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt9", BRACK(FH_SDT | 9), "\\Device\\Harddisk19\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt10", BRACK(FH_SDT | 10), "\\Device\\Harddisk19\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt11", BRACK(FH_SDT | 11), "\\Device\\Harddisk19\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt12", BRACK(FH_SDT | 12), "\\Device\\Harddisk19\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt13", BRACK(FH_SDT | 13), "\\Device\\Harddisk19\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt14", BRACK(FH_SDT | 14), "\\Device\\Harddisk19\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt15", BRACK(FH_SDT | 15), "\\Device\\Harddisk19\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu1", BRACK(FH_SDU | 1), "\\Device\\Harddisk20\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu2", BRACK(FH_SDU | 2), "\\Device\\Harddisk20\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu3", BRACK(FH_SDU | 3), "\\Device\\Harddisk20\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu4", BRACK(FH_SDU | 4), "\\Device\\Harddisk20\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu5", BRACK(FH_SDU | 5), "\\Device\\Harddisk20\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu6", BRACK(FH_SDU | 6), "\\Device\\Harddisk20\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu7", BRACK(FH_SDU | 7), "\\Device\\Harddisk20\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu8", BRACK(FH_SDU | 8), "\\Device\\Harddisk20\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu9", BRACK(FH_SDU | 9), "\\Device\\Harddisk20\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu10", BRACK(FH_SDU | 10), "\\Device\\Harddisk20\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu11", BRACK(FH_SDU | 11), "\\Device\\Harddisk20\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu12", BRACK(FH_SDU | 12), "\\Device\\Harddisk20\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu13", BRACK(FH_SDU | 13), "\\Device\\Harddisk20\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu14", BRACK(FH_SDU | 14), "\\Device\\Harddisk20\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu15", BRACK(FH_SDU | 15), "\\Device\\Harddisk20\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv1", BRACK(FH_SDV | 1), "\\Device\\Harddisk21\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv2", BRACK(FH_SDV | 2), "\\Device\\Harddisk21\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv3", BRACK(FH_SDV | 3), "\\Device\\Harddisk21\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv4", BRACK(FH_SDV | 4), "\\Device\\Harddisk21\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv5", BRACK(FH_SDV | 5), "\\Device\\Harddisk21\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv6", BRACK(FH_SDV | 6), "\\Device\\Harddisk21\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv7", BRACK(FH_SDV | 7), "\\Device\\Harddisk21\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv8", BRACK(FH_SDV | 8), "\\Device\\Harddisk21\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv9", BRACK(FH_SDV | 9), "\\Device\\Harddisk21\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv10", BRACK(FH_SDV | 10), "\\Device\\Harddisk21\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv11", BRACK(FH_SDV | 11), "\\Device\\Harddisk21\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv12", BRACK(FH_SDV | 12), "\\Device\\Harddisk21\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv13", BRACK(FH_SDV | 13), "\\Device\\Harddisk21\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv14", BRACK(FH_SDV | 14), "\\Device\\Harddisk21\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv15", BRACK(FH_SDV | 15), "\\Device\\Harddisk21\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw1", BRACK(FH_SDW | 1), "\\Device\\Harddisk22\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw2", BRACK(FH_SDW | 2), "\\Device\\Harddisk22\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw3", BRACK(FH_SDW | 3), "\\Device\\Harddisk22\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw4", BRACK(FH_SDW | 4), "\\Device\\Harddisk22\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw5", BRACK(FH_SDW | 5), "\\Device\\Harddisk22\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw6", BRACK(FH_SDW | 6), "\\Device\\Harddisk22\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw7", BRACK(FH_SDW | 7), "\\Device\\Harddisk22\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw8", BRACK(FH_SDW | 8), "\\Device\\Harddisk22\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw9", BRACK(FH_SDW | 9), "\\Device\\Harddisk22\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw10", BRACK(FH_SDW | 10), "\\Device\\Harddisk22\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw11", BRACK(FH_SDW | 11), "\\Device\\Harddisk22\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw12", BRACK(FH_SDW | 12), "\\Device\\Harddisk22\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw13", BRACK(FH_SDW | 13), "\\Device\\Harddisk22\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw14", BRACK(FH_SDW | 14), "\\Device\\Harddisk22\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw15", BRACK(FH_SDW | 15), "\\Device\\Harddisk22\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx1", BRACK(FH_SDX | 1), "\\Device\\Harddisk23\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx2", BRACK(FH_SDX | 2), "\\Device\\Harddisk23\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx3", BRACK(FH_SDX | 3), "\\Device\\Harddisk23\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx4", BRACK(FH_SDX | 4), "\\Device\\Harddisk23\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx5", BRACK(FH_SDX | 5), "\\Device\\Harddisk23\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx6", BRACK(FH_SDX | 6), "\\Device\\Harddisk23\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx7", BRACK(FH_SDX | 7), "\\Device\\Harddisk23\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx8", BRACK(FH_SDX | 8), "\\Device\\Harddisk23\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx9", BRACK(FH_SDX | 9), "\\Device\\Harddisk23\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx10", BRACK(FH_SDX | 10), "\\Device\\Harddisk23\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx11", BRACK(FH_SDX | 11), "\\Device\\Harddisk23\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx12", BRACK(FH_SDX | 12), "\\Device\\Harddisk23\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx13", BRACK(FH_SDX | 13), "\\Device\\Harddisk23\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx14", BRACK(FH_SDX | 14), "\\Device\\Harddisk23\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx15", BRACK(FH_SDX | 15), "\\Device\\Harddisk23\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy1", BRACK(FH_SDY | 1), "\\Device\\Harddisk24\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy2", BRACK(FH_SDY | 2), "\\Device\\Harddisk24\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy3", BRACK(FH_SDY | 3), "\\Device\\Harddisk24\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy4", BRACK(FH_SDY | 4), "\\Device\\Harddisk24\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy5", BRACK(FH_SDY | 5), "\\Device\\Harddisk24\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy6", BRACK(FH_SDY | 6), "\\Device\\Harddisk24\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy7", BRACK(FH_SDY | 7), "\\Device\\Harddisk24\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy8", BRACK(FH_SDY | 8), "\\Device\\Harddisk24\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy9", BRACK(FH_SDY | 9), "\\Device\\Harddisk24\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy10", BRACK(FH_SDY | 10), "\\Device\\Harddisk24\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy11", BRACK(FH_SDY | 11), "\\Device\\Harddisk24\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy12", BRACK(FH_SDY | 12), "\\Device\\Harddisk24\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy13", BRACK(FH_SDY | 13), "\\Device\\Harddisk24\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy14", BRACK(FH_SDY | 14), "\\Device\\Harddisk24\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy15", BRACK(FH_SDY | 15), "\\Device\\Harddisk24\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz1", BRACK(FH_SDZ | 1), "\\Device\\Harddisk25\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz2", BRACK(FH_SDZ | 2), "\\Device\\Harddisk25\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz3", BRACK(FH_SDZ | 3), "\\Device\\Harddisk25\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz4", BRACK(FH_SDZ | 4), "\\Device\\Harddisk25\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz5", BRACK(FH_SDZ | 5), "\\Device\\Harddisk25\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz6", BRACK(FH_SDZ | 6), "\\Device\\Harddisk25\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz7", BRACK(FH_SDZ | 7), "\\Device\\Harddisk25\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz8", BRACK(FH_SDZ | 8), "\\Device\\Harddisk25\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz9", BRACK(FH_SDZ | 9), "\\Device\\Harddisk25\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz10", BRACK(FH_SDZ | 10), "\\Device\\Harddisk25\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz11", BRACK(FH_SDZ | 11), "\\Device\\Harddisk25\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz12", BRACK(FH_SDZ | 12), "\\Device\\Harddisk25\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz13", BRACK(FH_SDZ | 13), "\\Device\\Harddisk25\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz14", BRACK(FH_SDZ | 14), "\\Device\\Harddisk25\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz15", BRACK(FH_SDZ | 15), "\\Device\\Harddisk25\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa", BRACK(FH_SDAA), "\\Device\\Harddisk26\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab", BRACK(FH_SDAB), "\\Device\\Harddisk27\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac", BRACK(FH_SDAC), "\\Device\\Harddisk28\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad", BRACK(FH_SDAD), "\\Device\\Harddisk29\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae", BRACK(FH_SDAE), "\\Device\\Harddisk30\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf", BRACK(FH_SDAF), "\\Device\\Harddisk31\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag", BRACK(FH_SDAG), "\\Device\\Harddisk32\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah", BRACK(FH_SDAH), "\\Device\\Harddisk33\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai", BRACK(FH_SDAI), "\\Device\\Harddisk34\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj", BRACK(FH_SDAJ), "\\Device\\Harddisk35\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak", BRACK(FH_SDAK), "\\Device\\Harddisk36\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal", BRACK(FH_SDAL), "\\Device\\Harddisk37\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam", BRACK(FH_SDAM), "\\Device\\Harddisk38\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan", BRACK(FH_SDAN), "\\Device\\Harddisk39\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao", BRACK(FH_SDAO), "\\Device\\Harddisk40\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap", BRACK(FH_SDAP), "\\Device\\Harddisk41\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq", BRACK(FH_SDAQ), "\\Device\\Harddisk42\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar", BRACK(FH_SDAR), "\\Device\\Harddisk43\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas", BRACK(FH_SDAS), "\\Device\\Harddisk44\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat", BRACK(FH_SDAT), "\\Device\\Harddisk45\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau", BRACK(FH_SDAU), "\\Device\\Harddisk46\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav", BRACK(FH_SDAV), "\\Device\\Harddisk47\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw", BRACK(FH_SDAW), "\\Device\\Harddisk48\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax", BRACK(FH_SDAX), "\\Device\\Harddisk49\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sday", BRACK(FH_SDAY), "\\Device\\Harddisk50\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz", BRACK(FH_SDAZ), "\\Device\\Harddisk51\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa1", BRACK(FH_SDAA | 1), "\\Device\\Harddisk26\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa2", BRACK(FH_SDAA | 2), "\\Device\\Harddisk26\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa3", BRACK(FH_SDAA | 3), "\\Device\\Harddisk26\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa4", BRACK(FH_SDAA | 4), "\\Device\\Harddisk26\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa5", BRACK(FH_SDAA | 5), "\\Device\\Harddisk26\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa6", BRACK(FH_SDAA | 6), "\\Device\\Harddisk26\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa7", BRACK(FH_SDAA | 7), "\\Device\\Harddisk26\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa8", BRACK(FH_SDAA | 8), "\\Device\\Harddisk26\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa9", BRACK(FH_SDAA | 9), "\\Device\\Harddisk26\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa10", BRACK(FH_SDAA | 10), "\\Device\\Harddisk26\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa11", BRACK(FH_SDAA | 11), "\\Device\\Harddisk26\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa12", BRACK(FH_SDAA | 12), "\\Device\\Harddisk26\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa13", BRACK(FH_SDAA | 13), "\\Device\\Harddisk26\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa14", BRACK(FH_SDAA | 14), "\\Device\\Harddisk26\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa15", BRACK(FH_SDAA | 15), "\\Device\\Harddisk26\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab1", BRACK(FH_SDAB | 1), "\\Device\\Harddisk27\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab2", BRACK(FH_SDAB | 2), "\\Device\\Harddisk27\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab3", BRACK(FH_SDAB | 3), "\\Device\\Harddisk27\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab4", BRACK(FH_SDAB | 4), "\\Device\\Harddisk27\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab5", BRACK(FH_SDAB | 5), "\\Device\\Harddisk27\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab6", BRACK(FH_SDAB | 6), "\\Device\\Harddisk27\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab7", BRACK(FH_SDAB | 7), "\\Device\\Harddisk27\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab8", BRACK(FH_SDAB | 8), "\\Device\\Harddisk27\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab9", BRACK(FH_SDAB | 9), "\\Device\\Harddisk27\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab10", BRACK(FH_SDAB | 10), "\\Device\\Harddisk27\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab11", BRACK(FH_SDAB | 11), "\\Device\\Harddisk27\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab12", BRACK(FH_SDAB | 12), "\\Device\\Harddisk27\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab13", BRACK(FH_SDAB | 13), "\\Device\\Harddisk27\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab14", BRACK(FH_SDAB | 14), "\\Device\\Harddisk27\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab15", BRACK(FH_SDAB | 15), "\\Device\\Harddisk27\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac1", BRACK(FH_SDAC | 1), "\\Device\\Harddisk28\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac2", BRACK(FH_SDAC | 2), "\\Device\\Harddisk28\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac3", BRACK(FH_SDAC | 3), "\\Device\\Harddisk28\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac4", BRACK(FH_SDAC | 4), "\\Device\\Harddisk28\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac5", BRACK(FH_SDAC | 5), "\\Device\\Harddisk28\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac6", BRACK(FH_SDAC | 6), "\\Device\\Harddisk28\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac7", BRACK(FH_SDAC | 7), "\\Device\\Harddisk28\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac8", BRACK(FH_SDAC | 8), "\\Device\\Harddisk28\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac9", BRACK(FH_SDAC | 9), "\\Device\\Harddisk28\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac10", BRACK(FH_SDAC | 10), "\\Device\\Harddisk28\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac11", BRACK(FH_SDAC | 11), "\\Device\\Harddisk28\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac12", BRACK(FH_SDAC | 12), "\\Device\\Harddisk28\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac13", BRACK(FH_SDAC | 13), "\\Device\\Harddisk28\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac14", BRACK(FH_SDAC | 14), "\\Device\\Harddisk28\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac15", BRACK(FH_SDAC | 15), "\\Device\\Harddisk28\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad1", BRACK(FH_SDAD | 1), "\\Device\\Harddisk29\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad2", BRACK(FH_SDAD | 2), "\\Device\\Harddisk29\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad3", BRACK(FH_SDAD | 3), "\\Device\\Harddisk29\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad4", BRACK(FH_SDAD | 4), "\\Device\\Harddisk29\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad5", BRACK(FH_SDAD | 5), "\\Device\\Harddisk29\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad6", BRACK(FH_SDAD | 6), "\\Device\\Harddisk29\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad7", BRACK(FH_SDAD | 7), "\\Device\\Harddisk29\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad8", BRACK(FH_SDAD | 8), "\\Device\\Harddisk29\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad9", BRACK(FH_SDAD | 9), "\\Device\\Harddisk29\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad10", BRACK(FH_SDAD | 10), "\\Device\\Harddisk29\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad11", BRACK(FH_SDAD | 11), "\\Device\\Harddisk29\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad12", BRACK(FH_SDAD | 12), "\\Device\\Harddisk29\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad13", BRACK(FH_SDAD | 13), "\\Device\\Harddisk29\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad14", BRACK(FH_SDAD | 14), "\\Device\\Harddisk29\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad15", BRACK(FH_SDAD | 15), "\\Device\\Harddisk29\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae1", BRACK(FH_SDAE | 1), "\\Device\\Harddisk30\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae2", BRACK(FH_SDAE | 2), "\\Device\\Harddisk30\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae3", BRACK(FH_SDAE | 3), "\\Device\\Harddisk30\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae4", BRACK(FH_SDAE | 4), "\\Device\\Harddisk30\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae5", BRACK(FH_SDAE | 5), "\\Device\\Harddisk30\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae6", BRACK(FH_SDAE | 6), "\\Device\\Harddisk30\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae7", BRACK(FH_SDAE | 7), "\\Device\\Harddisk30\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae8", BRACK(FH_SDAE | 8), "\\Device\\Harddisk30\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae9", BRACK(FH_SDAE | 9), "\\Device\\Harddisk30\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae10", BRACK(FH_SDAE | 10), "\\Device\\Harddisk30\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae11", BRACK(FH_SDAE | 11), "\\Device\\Harddisk30\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae12", BRACK(FH_SDAE | 12), "\\Device\\Harddisk30\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae13", BRACK(FH_SDAE | 13), "\\Device\\Harddisk30\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae14", BRACK(FH_SDAE | 14), "\\Device\\Harddisk30\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae15", BRACK(FH_SDAE | 15), "\\Device\\Harddisk30\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf1", BRACK(FH_SDAF | 1), "\\Device\\Harddisk31\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf2", BRACK(FH_SDAF | 2), "\\Device\\Harddisk31\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf3", BRACK(FH_SDAF | 3), "\\Device\\Harddisk31\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf4", BRACK(FH_SDAF | 4), "\\Device\\Harddisk31\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf5", BRACK(FH_SDAF | 5), "\\Device\\Harddisk31\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf6", BRACK(FH_SDAF | 6), "\\Device\\Harddisk31\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf7", BRACK(FH_SDAF | 7), "\\Device\\Harddisk31\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf8", BRACK(FH_SDAF | 8), "\\Device\\Harddisk31\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf9", BRACK(FH_SDAF | 9), "\\Device\\Harddisk31\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf10", BRACK(FH_SDAF | 10), "\\Device\\Harddisk31\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf11", BRACK(FH_SDAF | 11), "\\Device\\Harddisk31\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf12", BRACK(FH_SDAF | 12), "\\Device\\Harddisk31\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf13", BRACK(FH_SDAF | 13), "\\Device\\Harddisk31\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf14", BRACK(FH_SDAF | 14), "\\Device\\Harddisk31\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf15", BRACK(FH_SDAF | 15), "\\Device\\Harddisk31\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag1", BRACK(FH_SDAG | 1), "\\Device\\Harddisk32\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag2", BRACK(FH_SDAG | 2), "\\Device\\Harddisk32\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag3", BRACK(FH_SDAG | 3), "\\Device\\Harddisk32\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag4", BRACK(FH_SDAG | 4), "\\Device\\Harddisk32\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag5", BRACK(FH_SDAG | 5), "\\Device\\Harddisk32\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag6", BRACK(FH_SDAG | 6), "\\Device\\Harddisk32\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag7", BRACK(FH_SDAG | 7), "\\Device\\Harddisk32\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag8", BRACK(FH_SDAG | 8), "\\Device\\Harddisk32\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag9", BRACK(FH_SDAG | 9), "\\Device\\Harddisk32\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag10", BRACK(FH_SDAG | 10), "\\Device\\Harddisk32\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag11", BRACK(FH_SDAG | 11), "\\Device\\Harddisk32\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag12", BRACK(FH_SDAG | 12), "\\Device\\Harddisk32\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag13", BRACK(FH_SDAG | 13), "\\Device\\Harddisk32\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag14", BRACK(FH_SDAG | 14), "\\Device\\Harddisk32\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag15", BRACK(FH_SDAG | 15), "\\Device\\Harddisk32\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah1", BRACK(FH_SDAH | 1), "\\Device\\Harddisk33\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah2", BRACK(FH_SDAH | 2), "\\Device\\Harddisk33\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah3", BRACK(FH_SDAH | 3), "\\Device\\Harddisk33\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah4", BRACK(FH_SDAH | 4), "\\Device\\Harddisk33\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah5", BRACK(FH_SDAH | 5), "\\Device\\Harddisk33\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah6", BRACK(FH_SDAH | 6), "\\Device\\Harddisk33\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah7", BRACK(FH_SDAH | 7), "\\Device\\Harddisk33\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah8", BRACK(FH_SDAH | 8), "\\Device\\Harddisk33\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah9", BRACK(FH_SDAH | 9), "\\Device\\Harddisk33\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah10", BRACK(FH_SDAH | 10), "\\Device\\Harddisk33\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah11", BRACK(FH_SDAH | 11), "\\Device\\Harddisk33\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah12", BRACK(FH_SDAH | 12), "\\Device\\Harddisk33\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah13", BRACK(FH_SDAH | 13), "\\Device\\Harddisk33\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah14", BRACK(FH_SDAH | 14), "\\Device\\Harddisk33\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah15", BRACK(FH_SDAH | 15), "\\Device\\Harddisk33\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai1", BRACK(FH_SDAI | 1), "\\Device\\Harddisk34\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai2", BRACK(FH_SDAI | 2), "\\Device\\Harddisk34\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai3", BRACK(FH_SDAI | 3), "\\Device\\Harddisk34\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai4", BRACK(FH_SDAI | 4), "\\Device\\Harddisk34\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai5", BRACK(FH_SDAI | 5), "\\Device\\Harddisk34\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai6", BRACK(FH_SDAI | 6), "\\Device\\Harddisk34\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai7", BRACK(FH_SDAI | 7), "\\Device\\Harddisk34\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai8", BRACK(FH_SDAI | 8), "\\Device\\Harddisk34\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai9", BRACK(FH_SDAI | 9), "\\Device\\Harddisk34\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai10", BRACK(FH_SDAI | 10), "\\Device\\Harddisk34\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai11", BRACK(FH_SDAI | 11), "\\Device\\Harddisk34\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai12", BRACK(FH_SDAI | 12), "\\Device\\Harddisk34\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai13", BRACK(FH_SDAI | 13), "\\Device\\Harddisk34\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai14", BRACK(FH_SDAI | 14), "\\Device\\Harddisk34\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai15", BRACK(FH_SDAI | 15), "\\Device\\Harddisk34\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj1", BRACK(FH_SDAJ | 1), "\\Device\\Harddisk35\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj2", BRACK(FH_SDAJ | 2), "\\Device\\Harddisk35\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj3", BRACK(FH_SDAJ | 3), "\\Device\\Harddisk35\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj4", BRACK(FH_SDAJ | 4), "\\Device\\Harddisk35\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj5", BRACK(FH_SDAJ | 5), "\\Device\\Harddisk35\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj6", BRACK(FH_SDAJ | 6), "\\Device\\Harddisk35\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj7", BRACK(FH_SDAJ | 7), "\\Device\\Harddisk35\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj8", BRACK(FH_SDAJ | 8), "\\Device\\Harddisk35\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj9", BRACK(FH_SDAJ | 9), "\\Device\\Harddisk35\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj10", BRACK(FH_SDAJ | 10), "\\Device\\Harddisk35\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj11", BRACK(FH_SDAJ | 11), "\\Device\\Harddisk35\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj12", BRACK(FH_SDAJ | 12), "\\Device\\Harddisk35\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj13", BRACK(FH_SDAJ | 13), "\\Device\\Harddisk35\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj14", BRACK(FH_SDAJ | 14), "\\Device\\Harddisk35\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj15", BRACK(FH_SDAJ | 15), "\\Device\\Harddisk35\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak1", BRACK(FH_SDAK | 1), "\\Device\\Harddisk36\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak2", BRACK(FH_SDAK | 2), "\\Device\\Harddisk36\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak3", BRACK(FH_SDAK | 3), "\\Device\\Harddisk36\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak4", BRACK(FH_SDAK | 4), "\\Device\\Harddisk36\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak5", BRACK(FH_SDAK | 5), "\\Device\\Harddisk36\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak6", BRACK(FH_SDAK | 6), "\\Device\\Harddisk36\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak7", BRACK(FH_SDAK | 7), "\\Device\\Harddisk36\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak8", BRACK(FH_SDAK | 8), "\\Device\\Harddisk36\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak9", BRACK(FH_SDAK | 9), "\\Device\\Harddisk36\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak10", BRACK(FH_SDAK | 10), "\\Device\\Harddisk36\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak11", BRACK(FH_SDAK | 11), "\\Device\\Harddisk36\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak12", BRACK(FH_SDAK | 12), "\\Device\\Harddisk36\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak13", BRACK(FH_SDAK | 13), "\\Device\\Harddisk36\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak14", BRACK(FH_SDAK | 14), "\\Device\\Harddisk36\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak15", BRACK(FH_SDAK | 15), "\\Device\\Harddisk36\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal1", BRACK(FH_SDAL | 1), "\\Device\\Harddisk37\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal2", BRACK(FH_SDAL | 2), "\\Device\\Harddisk37\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal3", BRACK(FH_SDAL | 3), "\\Device\\Harddisk37\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal4", BRACK(FH_SDAL | 4), "\\Device\\Harddisk37\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal5", BRACK(FH_SDAL | 5), "\\Device\\Harddisk37\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal6", BRACK(FH_SDAL | 6), "\\Device\\Harddisk37\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal7", BRACK(FH_SDAL | 7), "\\Device\\Harddisk37\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal8", BRACK(FH_SDAL | 8), "\\Device\\Harddisk37\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal9", BRACK(FH_SDAL | 9), "\\Device\\Harddisk37\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal10", BRACK(FH_SDAL | 10), "\\Device\\Harddisk37\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal11", BRACK(FH_SDAL | 11), "\\Device\\Harddisk37\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal12", BRACK(FH_SDAL | 12), "\\Device\\Harddisk37\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal13", BRACK(FH_SDAL | 13), "\\Device\\Harddisk37\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal14", BRACK(FH_SDAL | 14), "\\Device\\Harddisk37\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal15", BRACK(FH_SDAL | 15), "\\Device\\Harddisk37\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam1", BRACK(FH_SDAM | 1), "\\Device\\Harddisk38\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam2", BRACK(FH_SDAM | 2), "\\Device\\Harddisk38\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam3", BRACK(FH_SDAM | 3), "\\Device\\Harddisk38\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam4", BRACK(FH_SDAM | 4), "\\Device\\Harddisk38\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam5", BRACK(FH_SDAM | 5), "\\Device\\Harddisk38\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam6", BRACK(FH_SDAM | 6), "\\Device\\Harddisk38\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam7", BRACK(FH_SDAM | 7), "\\Device\\Harddisk38\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam8", BRACK(FH_SDAM | 8), "\\Device\\Harddisk38\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam9", BRACK(FH_SDAM | 9), "\\Device\\Harddisk38\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam10", BRACK(FH_SDAM | 10), "\\Device\\Harddisk38\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam11", BRACK(FH_SDAM | 11), "\\Device\\Harddisk38\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam12", BRACK(FH_SDAM | 12), "\\Device\\Harddisk38\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam13", BRACK(FH_SDAM | 13), "\\Device\\Harddisk38\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam14", BRACK(FH_SDAM | 14), "\\Device\\Harddisk38\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam15", BRACK(FH_SDAM | 15), "\\Device\\Harddisk38\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan1", BRACK(FH_SDAN | 1), "\\Device\\Harddisk39\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan2", BRACK(FH_SDAN | 2), "\\Device\\Harddisk39\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan3", BRACK(FH_SDAN | 3), "\\Device\\Harddisk39\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan4", BRACK(FH_SDAN | 4), "\\Device\\Harddisk39\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan5", BRACK(FH_SDAN | 5), "\\Device\\Harddisk39\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan6", BRACK(FH_SDAN | 6), "\\Device\\Harddisk39\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan7", BRACK(FH_SDAN | 7), "\\Device\\Harddisk39\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan8", BRACK(FH_SDAN | 8), "\\Device\\Harddisk39\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan9", BRACK(FH_SDAN | 9), "\\Device\\Harddisk39\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan10", BRACK(FH_SDAN | 10), "\\Device\\Harddisk39\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan11", BRACK(FH_SDAN | 11), "\\Device\\Harddisk39\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan12", BRACK(FH_SDAN | 12), "\\Device\\Harddisk39\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan13", BRACK(FH_SDAN | 13), "\\Device\\Harddisk39\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan14", BRACK(FH_SDAN | 14), "\\Device\\Harddisk39\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan15", BRACK(FH_SDAN | 15), "\\Device\\Harddisk39\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao1", BRACK(FH_SDAO | 1), "\\Device\\Harddisk40\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao2", BRACK(FH_SDAO | 2), "\\Device\\Harddisk40\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao3", BRACK(FH_SDAO | 3), "\\Device\\Harddisk40\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao4", BRACK(FH_SDAO | 4), "\\Device\\Harddisk40\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao5", BRACK(FH_SDAO | 5), "\\Device\\Harddisk40\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao6", BRACK(FH_SDAO | 6), "\\Device\\Harddisk40\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao7", BRACK(FH_SDAO | 7), "\\Device\\Harddisk40\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao8", BRACK(FH_SDAO | 8), "\\Device\\Harddisk40\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao9", BRACK(FH_SDAO | 9), "\\Device\\Harddisk40\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao10", BRACK(FH_SDAO | 10), "\\Device\\Harddisk40\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao11", BRACK(FH_SDAO | 11), "\\Device\\Harddisk40\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao12", BRACK(FH_SDAO | 12), "\\Device\\Harddisk40\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao13", BRACK(FH_SDAO | 13), "\\Device\\Harddisk40\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao14", BRACK(FH_SDAO | 14), "\\Device\\Harddisk40\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao15", BRACK(FH_SDAO | 15), "\\Device\\Harddisk40\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap1", BRACK(FH_SDAP | 1), "\\Device\\Harddisk41\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap2", BRACK(FH_SDAP | 2), "\\Device\\Harddisk41\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap3", BRACK(FH_SDAP | 3), "\\Device\\Harddisk41\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap4", BRACK(FH_SDAP | 4), "\\Device\\Harddisk41\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap5", BRACK(FH_SDAP | 5), "\\Device\\Harddisk41\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap6", BRACK(FH_SDAP | 6), "\\Device\\Harddisk41\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap7", BRACK(FH_SDAP | 7), "\\Device\\Harddisk41\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap8", BRACK(FH_SDAP | 8), "\\Device\\Harddisk41\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap9", BRACK(FH_SDAP | 9), "\\Device\\Harddisk41\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap10", BRACK(FH_SDAP | 10), "\\Device\\Harddisk41\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap11", BRACK(FH_SDAP | 11), "\\Device\\Harddisk41\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap12", BRACK(FH_SDAP | 12), "\\Device\\Harddisk41\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap13", BRACK(FH_SDAP | 13), "\\Device\\Harddisk41\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap14", BRACK(FH_SDAP | 14), "\\Device\\Harddisk41\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap15", BRACK(FH_SDAP | 15), "\\Device\\Harddisk41\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq1", BRACK(FH_SDAQ | 1), "\\Device\\Harddisk42\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq2", BRACK(FH_SDAQ | 2), "\\Device\\Harddisk42\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq3", BRACK(FH_SDAQ | 3), "\\Device\\Harddisk42\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq4", BRACK(FH_SDAQ | 4), "\\Device\\Harddisk42\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq5", BRACK(FH_SDAQ | 5), "\\Device\\Harddisk42\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq6", BRACK(FH_SDAQ | 6), "\\Device\\Harddisk42\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq7", BRACK(FH_SDAQ | 7), "\\Device\\Harddisk42\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq8", BRACK(FH_SDAQ | 8), "\\Device\\Harddisk42\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq9", BRACK(FH_SDAQ | 9), "\\Device\\Harddisk42\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq10", BRACK(FH_SDAQ | 10), "\\Device\\Harddisk42\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq11", BRACK(FH_SDAQ | 11), "\\Device\\Harddisk42\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq12", BRACK(FH_SDAQ | 12), "\\Device\\Harddisk42\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq13", BRACK(FH_SDAQ | 13), "\\Device\\Harddisk42\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq14", BRACK(FH_SDAQ | 14), "\\Device\\Harddisk42\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq15", BRACK(FH_SDAQ | 15), "\\Device\\Harddisk42\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar1", BRACK(FH_SDAR | 1), "\\Device\\Harddisk43\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar2", BRACK(FH_SDAR | 2), "\\Device\\Harddisk43\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar3", BRACK(FH_SDAR | 3), "\\Device\\Harddisk43\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar4", BRACK(FH_SDAR | 4), "\\Device\\Harddisk43\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar5", BRACK(FH_SDAR | 5), "\\Device\\Harddisk43\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar6", BRACK(FH_SDAR | 6), "\\Device\\Harddisk43\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar7", BRACK(FH_SDAR | 7), "\\Device\\Harddisk43\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar8", BRACK(FH_SDAR | 8), "\\Device\\Harddisk43\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar9", BRACK(FH_SDAR | 9), "\\Device\\Harddisk43\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar10", BRACK(FH_SDAR | 10), "\\Device\\Harddisk43\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar11", BRACK(FH_SDAR | 11), "\\Device\\Harddisk43\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar12", BRACK(FH_SDAR | 12), "\\Device\\Harddisk43\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar13", BRACK(FH_SDAR | 13), "\\Device\\Harddisk43\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar14", BRACK(FH_SDAR | 14), "\\Device\\Harddisk43\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar15", BRACK(FH_SDAR | 15), "\\Device\\Harddisk43\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas1", BRACK(FH_SDAS | 1), "\\Device\\Harddisk44\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas2", BRACK(FH_SDAS | 2), "\\Device\\Harddisk44\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas3", BRACK(FH_SDAS | 3), "\\Device\\Harddisk44\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas4", BRACK(FH_SDAS | 4), "\\Device\\Harddisk44\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas5", BRACK(FH_SDAS | 5), "\\Device\\Harddisk44\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas6", BRACK(FH_SDAS | 6), "\\Device\\Harddisk44\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas7", BRACK(FH_SDAS | 7), "\\Device\\Harddisk44\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas8", BRACK(FH_SDAS | 8), "\\Device\\Harddisk44\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas9", BRACK(FH_SDAS | 9), "\\Device\\Harddisk44\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas10", BRACK(FH_SDAS | 10), "\\Device\\Harddisk44\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas11", BRACK(FH_SDAS | 11), "\\Device\\Harddisk44\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas12", BRACK(FH_SDAS | 12), "\\Device\\Harddisk44\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas13", BRACK(FH_SDAS | 13), "\\Device\\Harddisk44\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas14", BRACK(FH_SDAS | 14), "\\Device\\Harddisk44\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas15", BRACK(FH_SDAS | 15), "\\Device\\Harddisk44\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat1", BRACK(FH_SDAT | 1), "\\Device\\Harddisk45\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat2", BRACK(FH_SDAT | 2), "\\Device\\Harddisk45\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat3", BRACK(FH_SDAT | 3), "\\Device\\Harddisk45\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat4", BRACK(FH_SDAT | 4), "\\Device\\Harddisk45\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat5", BRACK(FH_SDAT | 5), "\\Device\\Harddisk45\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat6", BRACK(FH_SDAT | 6), "\\Device\\Harddisk45\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat7", BRACK(FH_SDAT | 7), "\\Device\\Harddisk45\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat8", BRACK(FH_SDAT | 8), "\\Device\\Harddisk45\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat9", BRACK(FH_SDAT | 9), "\\Device\\Harddisk45\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat10", BRACK(FH_SDAT | 10), "\\Device\\Harddisk45\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat11", BRACK(FH_SDAT | 11), "\\Device\\Harddisk45\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat12", BRACK(FH_SDAT | 12), "\\Device\\Harddisk45\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat13", BRACK(FH_SDAT | 13), "\\Device\\Harddisk45\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat14", BRACK(FH_SDAT | 14), "\\Device\\Harddisk45\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat15", BRACK(FH_SDAT | 15), "\\Device\\Harddisk45\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau1", BRACK(FH_SDAU | 1), "\\Device\\Harddisk46\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau2", BRACK(FH_SDAU | 2), "\\Device\\Harddisk46\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau3", BRACK(FH_SDAU | 3), "\\Device\\Harddisk46\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau4", BRACK(FH_SDAU | 4), "\\Device\\Harddisk46\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau5", BRACK(FH_SDAU | 5), "\\Device\\Harddisk46\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau6", BRACK(FH_SDAU | 6), "\\Device\\Harddisk46\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau7", BRACK(FH_SDAU | 7), "\\Device\\Harddisk46\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau8", BRACK(FH_SDAU | 8), "\\Device\\Harddisk46\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau9", BRACK(FH_SDAU | 9), "\\Device\\Harddisk46\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau10", BRACK(FH_SDAU | 10), "\\Device\\Harddisk46\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau11", BRACK(FH_SDAU | 11), "\\Device\\Harddisk46\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau12", BRACK(FH_SDAU | 12), "\\Device\\Harddisk46\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau13", BRACK(FH_SDAU | 13), "\\Device\\Harddisk46\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau14", BRACK(FH_SDAU | 14), "\\Device\\Harddisk46\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau15", BRACK(FH_SDAU | 15), "\\Device\\Harddisk46\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav1", BRACK(FH_SDAV | 1), "\\Device\\Harddisk47\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav2", BRACK(FH_SDAV | 2), "\\Device\\Harddisk47\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav3", BRACK(FH_SDAV | 3), "\\Device\\Harddisk47\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav4", BRACK(FH_SDAV | 4), "\\Device\\Harddisk47\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav5", BRACK(FH_SDAV | 5), "\\Device\\Harddisk47\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav6", BRACK(FH_SDAV | 6), "\\Device\\Harddisk47\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav7", BRACK(FH_SDAV | 7), "\\Device\\Harddisk47\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav8", BRACK(FH_SDAV | 8), "\\Device\\Harddisk47\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav9", BRACK(FH_SDAV | 9), "\\Device\\Harddisk47\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav10", BRACK(FH_SDAV | 10), "\\Device\\Harddisk47\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav11", BRACK(FH_SDAV | 11), "\\Device\\Harddisk47\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav12", BRACK(FH_SDAV | 12), "\\Device\\Harddisk47\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav13", BRACK(FH_SDAV | 13), "\\Device\\Harddisk47\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav14", BRACK(FH_SDAV | 14), "\\Device\\Harddisk47\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav15", BRACK(FH_SDAV | 15), "\\Device\\Harddisk47\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw1", BRACK(FH_SDAW | 1), "\\Device\\Harddisk48\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw2", BRACK(FH_SDAW | 2), "\\Device\\Harddisk48\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw3", BRACK(FH_SDAW | 3), "\\Device\\Harddisk48\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw4", BRACK(FH_SDAW | 4), "\\Device\\Harddisk48\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw5", BRACK(FH_SDAW | 5), "\\Device\\Harddisk48\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw6", BRACK(FH_SDAW | 6), "\\Device\\Harddisk48\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw7", BRACK(FH_SDAW | 7), "\\Device\\Harddisk48\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw8", BRACK(FH_SDAW | 8), "\\Device\\Harddisk48\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw9", BRACK(FH_SDAW | 9), "\\Device\\Harddisk48\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw10", BRACK(FH_SDAW | 10), "\\Device\\Harddisk48\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw11", BRACK(FH_SDAW | 11), "\\Device\\Harddisk48\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw12", BRACK(FH_SDAW | 12), "\\Device\\Harddisk48\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw13", BRACK(FH_SDAW | 13), "\\Device\\Harddisk48\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw14", BRACK(FH_SDAW | 14), "\\Device\\Harddisk48\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw15", BRACK(FH_SDAW | 15), "\\Device\\Harddisk48\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax1", BRACK(FH_SDAX | 1), "\\Device\\Harddisk49\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax2", BRACK(FH_SDAX | 2), "\\Device\\Harddisk49\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax3", BRACK(FH_SDAX | 3), "\\Device\\Harddisk49\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax4", BRACK(FH_SDAX | 4), "\\Device\\Harddisk49\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax5", BRACK(FH_SDAX | 5), "\\Device\\Harddisk49\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax6", BRACK(FH_SDAX | 6), "\\Device\\Harddisk49\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax7", BRACK(FH_SDAX | 7), "\\Device\\Harddisk49\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax8", BRACK(FH_SDAX | 8), "\\Device\\Harddisk49\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax9", BRACK(FH_SDAX | 9), "\\Device\\Harddisk49\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax10", BRACK(FH_SDAX | 10), "\\Device\\Harddisk49\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax11", BRACK(FH_SDAX | 11), "\\Device\\Harddisk49\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax12", BRACK(FH_SDAX | 12), "\\Device\\Harddisk49\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax13", BRACK(FH_SDAX | 13), "\\Device\\Harddisk49\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax14", BRACK(FH_SDAX | 14), "\\Device\\Harddisk49\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax15", BRACK(FH_SDAX | 15), "\\Device\\Harddisk49\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sday1", BRACK(FH_SDAY | 1), "\\Device\\Harddisk50\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sday2", BRACK(FH_SDAY | 2), "\\Device\\Harddisk50\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sday3", BRACK(FH_SDAY | 3), "\\Device\\Harddisk50\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sday4", BRACK(FH_SDAY | 4), "\\Device\\Harddisk50\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sday5", BRACK(FH_SDAY | 5), "\\Device\\Harddisk50\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sday6", BRACK(FH_SDAY | 6), "\\Device\\Harddisk50\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sday7", BRACK(FH_SDAY | 7), "\\Device\\Harddisk50\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sday8", BRACK(FH_SDAY | 8), "\\Device\\Harddisk50\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sday9", BRACK(FH_SDAY | 9), "\\Device\\Harddisk50\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sday10", BRACK(FH_SDAY | 10), "\\Device\\Harddisk50\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sday11", BRACK(FH_SDAY | 11), "\\Device\\Harddisk50\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sday12", BRACK(FH_SDAY | 12), "\\Device\\Harddisk50\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sday13", BRACK(FH_SDAY | 13), "\\Device\\Harddisk50\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sday14", BRACK(FH_SDAY | 14), "\\Device\\Harddisk50\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sday15", BRACK(FH_SDAY | 15), "\\Device\\Harddisk50\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz1", BRACK(FH_SDAZ | 1), "\\Device\\Harddisk51\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz2", BRACK(FH_SDAZ | 2), "\\Device\\Harddisk51\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz3", BRACK(FH_SDAZ | 3), "\\Device\\Harddisk51\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz4", BRACK(FH_SDAZ | 4), "\\Device\\Harddisk51\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz5", BRACK(FH_SDAZ | 5), "\\Device\\Harddisk51\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz6", BRACK(FH_SDAZ | 6), "\\Device\\Harddisk51\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz7", BRACK(FH_SDAZ | 7), "\\Device\\Harddisk51\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz8", BRACK(FH_SDAZ | 8), "\\Device\\Harddisk51\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz9", BRACK(FH_SDAZ | 9), "\\Device\\Harddisk51\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz10", BRACK(FH_SDAZ | 10), "\\Device\\Harddisk51\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz11", BRACK(FH_SDAZ | 11), "\\Device\\Harddisk51\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz12", BRACK(FH_SDAZ | 12), "\\Device\\Harddisk51\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz13", BRACK(FH_SDAZ | 13), "\\Device\\Harddisk51\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz14", BRACK(FH_SDAZ | 14), "\\Device\\Harddisk51\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz15", BRACK(FH_SDAZ | 15), "\\Device\\Harddisk51\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba", BRACK(FH_SDBA), "\\Device\\Harddisk52\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb", BRACK(FH_SDBB), "\\Device\\Harddisk53\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc", BRACK(FH_SDBC), "\\Device\\Harddisk54\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd", BRACK(FH_SDBD), "\\Device\\Harddisk55\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe", BRACK(FH_SDBE), "\\Device\\Harddisk56\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf", BRACK(FH_SDBF), "\\Device\\Harddisk57\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg", BRACK(FH_SDBG), "\\Device\\Harddisk58\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh", BRACK(FH_SDBH), "\\Device\\Harddisk59\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi", BRACK(FH_SDBI), "\\Device\\Harddisk60\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj", BRACK(FH_SDBJ), "\\Device\\Harddisk61\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk", BRACK(FH_SDBK), "\\Device\\Harddisk62\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl", BRACK(FH_SDBL), "\\Device\\Harddisk63\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm", BRACK(FH_SDBM), "\\Device\\Harddisk64\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn", BRACK(FH_SDBN), "\\Device\\Harddisk65\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo", BRACK(FH_SDBO), "\\Device\\Harddisk66\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp", BRACK(FH_SDBP), "\\Device\\Harddisk67\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq", BRACK(FH_SDBQ), "\\Device\\Harddisk68\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr", BRACK(FH_SDBR), "\\Device\\Harddisk69\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs", BRACK(FH_SDBS), "\\Device\\Harddisk70\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt", BRACK(FH_SDBT), "\\Device\\Harddisk71\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu", BRACK(FH_SDBU), "\\Device\\Harddisk72\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv", BRACK(FH_SDBV), "\\Device\\Harddisk73\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw", BRACK(FH_SDBW), "\\Device\\Harddisk74\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx", BRACK(FH_SDBX), "\\Device\\Harddisk75\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby", BRACK(FH_SDBY), "\\Device\\Harddisk76\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz", BRACK(FH_SDBZ), "\\Device\\Harddisk77\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba1", BRACK(FH_SDBA | 1), "\\Device\\Harddisk52\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba2", BRACK(FH_SDBA | 2), "\\Device\\Harddisk52\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba3", BRACK(FH_SDBA | 3), "\\Device\\Harddisk52\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba4", BRACK(FH_SDBA | 4), "\\Device\\Harddisk52\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba5", BRACK(FH_SDBA | 5), "\\Device\\Harddisk52\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba6", BRACK(FH_SDBA | 6), "\\Device\\Harddisk52\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba7", BRACK(FH_SDBA | 7), "\\Device\\Harddisk52\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba8", BRACK(FH_SDBA | 8), "\\Device\\Harddisk52\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba9", BRACK(FH_SDBA | 9), "\\Device\\Harddisk52\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba10", BRACK(FH_SDBA | 10), "\\Device\\Harddisk52\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba11", BRACK(FH_SDBA | 11), "\\Device\\Harddisk52\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba12", BRACK(FH_SDBA | 12), "\\Device\\Harddisk52\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba13", BRACK(FH_SDBA | 13), "\\Device\\Harddisk52\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba14", BRACK(FH_SDBA | 14), "\\Device\\Harddisk52\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba15", BRACK(FH_SDBA | 15), "\\Device\\Harddisk52\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb1", BRACK(FH_SDBB | 1), "\\Device\\Harddisk53\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb2", BRACK(FH_SDBB | 2), "\\Device\\Harddisk53\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb3", BRACK(FH_SDBB | 3), "\\Device\\Harddisk53\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb4", BRACK(FH_SDBB | 4), "\\Device\\Harddisk53\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb5", BRACK(FH_SDBB | 5), "\\Device\\Harddisk53\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb6", BRACK(FH_SDBB | 6), "\\Device\\Harddisk53\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb7", BRACK(FH_SDBB | 7), "\\Device\\Harddisk53\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb8", BRACK(FH_SDBB | 8), "\\Device\\Harddisk53\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb9", BRACK(FH_SDBB | 9), "\\Device\\Harddisk53\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb10", BRACK(FH_SDBB | 10), "\\Device\\Harddisk53\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb11", BRACK(FH_SDBB | 11), "\\Device\\Harddisk53\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb12", BRACK(FH_SDBB | 12), "\\Device\\Harddisk53\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb13", BRACK(FH_SDBB | 13), "\\Device\\Harddisk53\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb14", BRACK(FH_SDBB | 14), "\\Device\\Harddisk53\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb15", BRACK(FH_SDBB | 15), "\\Device\\Harddisk53\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc1", BRACK(FH_SDBC | 1), "\\Device\\Harddisk54\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc2", BRACK(FH_SDBC | 2), "\\Device\\Harddisk54\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc3", BRACK(FH_SDBC | 3), "\\Device\\Harddisk54\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc4", BRACK(FH_SDBC | 4), "\\Device\\Harddisk54\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc5", BRACK(FH_SDBC | 5), "\\Device\\Harddisk54\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc6", BRACK(FH_SDBC | 6), "\\Device\\Harddisk54\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc7", BRACK(FH_SDBC | 7), "\\Device\\Harddisk54\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc8", BRACK(FH_SDBC | 8), "\\Device\\Harddisk54\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc9", BRACK(FH_SDBC | 9), "\\Device\\Harddisk54\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc10", BRACK(FH_SDBC | 10), "\\Device\\Harddisk54\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc11", BRACK(FH_SDBC | 11), "\\Device\\Harddisk54\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc12", BRACK(FH_SDBC | 12), "\\Device\\Harddisk54\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc13", BRACK(FH_SDBC | 13), "\\Device\\Harddisk54\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc14", BRACK(FH_SDBC | 14), "\\Device\\Harddisk54\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc15", BRACK(FH_SDBC | 15), "\\Device\\Harddisk54\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd1", BRACK(FH_SDBD | 1), "\\Device\\Harddisk55\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd2", BRACK(FH_SDBD | 2), "\\Device\\Harddisk55\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd3", BRACK(FH_SDBD | 3), "\\Device\\Harddisk55\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd4", BRACK(FH_SDBD | 4), "\\Device\\Harddisk55\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd5", BRACK(FH_SDBD | 5), "\\Device\\Harddisk55\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd6", BRACK(FH_SDBD | 6), "\\Device\\Harddisk55\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd7", BRACK(FH_SDBD | 7), "\\Device\\Harddisk55\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd8", BRACK(FH_SDBD | 8), "\\Device\\Harddisk55\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd9", BRACK(FH_SDBD | 9), "\\Device\\Harddisk55\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd10", BRACK(FH_SDBD | 10), "\\Device\\Harddisk55\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd11", BRACK(FH_SDBD | 11), "\\Device\\Harddisk55\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd12", BRACK(FH_SDBD | 12), "\\Device\\Harddisk55\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd13", BRACK(FH_SDBD | 13), "\\Device\\Harddisk55\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd14", BRACK(FH_SDBD | 14), "\\Device\\Harddisk55\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd15", BRACK(FH_SDBD | 15), "\\Device\\Harddisk55\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe1", BRACK(FH_SDBE | 1), "\\Device\\Harddisk56\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe2", BRACK(FH_SDBE | 2), "\\Device\\Harddisk56\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe3", BRACK(FH_SDBE | 3), "\\Device\\Harddisk56\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe4", BRACK(FH_SDBE | 4), "\\Device\\Harddisk56\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe5", BRACK(FH_SDBE | 5), "\\Device\\Harddisk56\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe6", BRACK(FH_SDBE | 6), "\\Device\\Harddisk56\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe7", BRACK(FH_SDBE | 7), "\\Device\\Harddisk56\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe8", BRACK(FH_SDBE | 8), "\\Device\\Harddisk56\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe9", BRACK(FH_SDBE | 9), "\\Device\\Harddisk56\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe10", BRACK(FH_SDBE | 10), "\\Device\\Harddisk56\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe11", BRACK(FH_SDBE | 11), "\\Device\\Harddisk56\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe12", BRACK(FH_SDBE | 12), "\\Device\\Harddisk56\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe13", BRACK(FH_SDBE | 13), "\\Device\\Harddisk56\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe14", BRACK(FH_SDBE | 14), "\\Device\\Harddisk56\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe15", BRACK(FH_SDBE | 15), "\\Device\\Harddisk56\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf1", BRACK(FH_SDBF | 1), "\\Device\\Harddisk57\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf2", BRACK(FH_SDBF | 2), "\\Device\\Harddisk57\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf3", BRACK(FH_SDBF | 3), "\\Device\\Harddisk57\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf4", BRACK(FH_SDBF | 4), "\\Device\\Harddisk57\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf5", BRACK(FH_SDBF | 5), "\\Device\\Harddisk57\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf6", BRACK(FH_SDBF | 6), "\\Device\\Harddisk57\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf7", BRACK(FH_SDBF | 7), "\\Device\\Harddisk57\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf8", BRACK(FH_SDBF | 8), "\\Device\\Harddisk57\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf9", BRACK(FH_SDBF | 9), "\\Device\\Harddisk57\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf10", BRACK(FH_SDBF | 10), "\\Device\\Harddisk57\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf11", BRACK(FH_SDBF | 11), "\\Device\\Harddisk57\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf12", BRACK(FH_SDBF | 12), "\\Device\\Harddisk57\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf13", BRACK(FH_SDBF | 13), "\\Device\\Harddisk57\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf14", BRACK(FH_SDBF | 14), "\\Device\\Harddisk57\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf15", BRACK(FH_SDBF | 15), "\\Device\\Harddisk57\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg1", BRACK(FH_SDBG | 1), "\\Device\\Harddisk58\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg2", BRACK(FH_SDBG | 2), "\\Device\\Harddisk58\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg3", BRACK(FH_SDBG | 3), "\\Device\\Harddisk58\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg4", BRACK(FH_SDBG | 4), "\\Device\\Harddisk58\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg5", BRACK(FH_SDBG | 5), "\\Device\\Harddisk58\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg6", BRACK(FH_SDBG | 6), "\\Device\\Harddisk58\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg7", BRACK(FH_SDBG | 7), "\\Device\\Harddisk58\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg8", BRACK(FH_SDBG | 8), "\\Device\\Harddisk58\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg9", BRACK(FH_SDBG | 9), "\\Device\\Harddisk58\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg10", BRACK(FH_SDBG | 10), "\\Device\\Harddisk58\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg11", BRACK(FH_SDBG | 11), "\\Device\\Harddisk58\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg12", BRACK(FH_SDBG | 12), "\\Device\\Harddisk58\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg13", BRACK(FH_SDBG | 13), "\\Device\\Harddisk58\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg14", BRACK(FH_SDBG | 14), "\\Device\\Harddisk58\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg15", BRACK(FH_SDBG | 15), "\\Device\\Harddisk58\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh1", BRACK(FH_SDBH | 1), "\\Device\\Harddisk59\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh2", BRACK(FH_SDBH | 2), "\\Device\\Harddisk59\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh3", BRACK(FH_SDBH | 3), "\\Device\\Harddisk59\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh4", BRACK(FH_SDBH | 4), "\\Device\\Harddisk59\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh5", BRACK(FH_SDBH | 5), "\\Device\\Harddisk59\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh6", BRACK(FH_SDBH | 6), "\\Device\\Harddisk59\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh7", BRACK(FH_SDBH | 7), "\\Device\\Harddisk59\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh8", BRACK(FH_SDBH | 8), "\\Device\\Harddisk59\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh9", BRACK(FH_SDBH | 9), "\\Device\\Harddisk59\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh10", BRACK(FH_SDBH | 10), "\\Device\\Harddisk59\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh11", BRACK(FH_SDBH | 11), "\\Device\\Harddisk59\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh12", BRACK(FH_SDBH | 12), "\\Device\\Harddisk59\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh13", BRACK(FH_SDBH | 13), "\\Device\\Harddisk59\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh14", BRACK(FH_SDBH | 14), "\\Device\\Harddisk59\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh15", BRACK(FH_SDBH | 15), "\\Device\\Harddisk59\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi1", BRACK(FH_SDBI | 1), "\\Device\\Harddisk60\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi2", BRACK(FH_SDBI | 2), "\\Device\\Harddisk60\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi3", BRACK(FH_SDBI | 3), "\\Device\\Harddisk60\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi4", BRACK(FH_SDBI | 4), "\\Device\\Harddisk60\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi5", BRACK(FH_SDBI | 5), "\\Device\\Harddisk60\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi6", BRACK(FH_SDBI | 6), "\\Device\\Harddisk60\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi7", BRACK(FH_SDBI | 7), "\\Device\\Harddisk60\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi8", BRACK(FH_SDBI | 8), "\\Device\\Harddisk60\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi9", BRACK(FH_SDBI | 9), "\\Device\\Harddisk60\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi10", BRACK(FH_SDBI | 10), "\\Device\\Harddisk60\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi11", BRACK(FH_SDBI | 11), "\\Device\\Harddisk60\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi12", BRACK(FH_SDBI | 12), "\\Device\\Harddisk60\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi13", BRACK(FH_SDBI | 13), "\\Device\\Harddisk60\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi14", BRACK(FH_SDBI | 14), "\\Device\\Harddisk60\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi15", BRACK(FH_SDBI | 15), "\\Device\\Harddisk60\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj1", BRACK(FH_SDBJ | 1), "\\Device\\Harddisk61\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj2", BRACK(FH_SDBJ | 2), "\\Device\\Harddisk61\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj3", BRACK(FH_SDBJ | 3), "\\Device\\Harddisk61\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj4", BRACK(FH_SDBJ | 4), "\\Device\\Harddisk61\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj5", BRACK(FH_SDBJ | 5), "\\Device\\Harddisk61\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj6", BRACK(FH_SDBJ | 6), "\\Device\\Harddisk61\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj7", BRACK(FH_SDBJ | 7), "\\Device\\Harddisk61\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj8", BRACK(FH_SDBJ | 8), "\\Device\\Harddisk61\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj9", BRACK(FH_SDBJ | 9), "\\Device\\Harddisk61\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj10", BRACK(FH_SDBJ | 10), "\\Device\\Harddisk61\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj11", BRACK(FH_SDBJ | 11), "\\Device\\Harddisk61\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj12", BRACK(FH_SDBJ | 12), "\\Device\\Harddisk61\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj13", BRACK(FH_SDBJ | 13), "\\Device\\Harddisk61\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj14", BRACK(FH_SDBJ | 14), "\\Device\\Harddisk61\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj15", BRACK(FH_SDBJ | 15), "\\Device\\Harddisk61\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk1", BRACK(FH_SDBK | 1), "\\Device\\Harddisk62\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk2", BRACK(FH_SDBK | 2), "\\Device\\Harddisk62\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk3", BRACK(FH_SDBK | 3), "\\Device\\Harddisk62\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk4", BRACK(FH_SDBK | 4), "\\Device\\Harddisk62\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk5", BRACK(FH_SDBK | 5), "\\Device\\Harddisk62\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk6", BRACK(FH_SDBK | 6), "\\Device\\Harddisk62\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk7", BRACK(FH_SDBK | 7), "\\Device\\Harddisk62\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk8", BRACK(FH_SDBK | 8), "\\Device\\Harddisk62\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk9", BRACK(FH_SDBK | 9), "\\Device\\Harddisk62\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk10", BRACK(FH_SDBK | 10), "\\Device\\Harddisk62\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk11", BRACK(FH_SDBK | 11), "\\Device\\Harddisk62\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk12", BRACK(FH_SDBK | 12), "\\Device\\Harddisk62\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk13", BRACK(FH_SDBK | 13), "\\Device\\Harddisk62\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk14", BRACK(FH_SDBK | 14), "\\Device\\Harddisk62\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk15", BRACK(FH_SDBK | 15), "\\Device\\Harddisk62\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl1", BRACK(FH_SDBL | 1), "\\Device\\Harddisk63\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl2", BRACK(FH_SDBL | 2), "\\Device\\Harddisk63\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl3", BRACK(FH_SDBL | 3), "\\Device\\Harddisk63\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl4", BRACK(FH_SDBL | 4), "\\Device\\Harddisk63\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl5", BRACK(FH_SDBL | 5), "\\Device\\Harddisk63\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl6", BRACK(FH_SDBL | 6), "\\Device\\Harddisk63\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl7", BRACK(FH_SDBL | 7), "\\Device\\Harddisk63\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl8", BRACK(FH_SDBL | 8), "\\Device\\Harddisk63\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl9", BRACK(FH_SDBL | 9), "\\Device\\Harddisk63\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl10", BRACK(FH_SDBL | 10), "\\Device\\Harddisk63\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl11", BRACK(FH_SDBL | 11), "\\Device\\Harddisk63\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl12", BRACK(FH_SDBL | 12), "\\Device\\Harddisk63\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl13", BRACK(FH_SDBL | 13), "\\Device\\Harddisk63\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl14", BRACK(FH_SDBL | 14), "\\Device\\Harddisk63\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl15", BRACK(FH_SDBL | 15), "\\Device\\Harddisk63\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm1", BRACK(FH_SDBM | 1), "\\Device\\Harddisk64\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm2", BRACK(FH_SDBM | 2), "\\Device\\Harddisk64\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm3", BRACK(FH_SDBM | 3), "\\Device\\Harddisk64\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm4", BRACK(FH_SDBM | 4), "\\Device\\Harddisk64\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm5", BRACK(FH_SDBM | 5), "\\Device\\Harddisk64\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm6", BRACK(FH_SDBM | 6), "\\Device\\Harddisk64\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm7", BRACK(FH_SDBM | 7), "\\Device\\Harddisk64\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm8", BRACK(FH_SDBM | 8), "\\Device\\Harddisk64\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm9", BRACK(FH_SDBM | 9), "\\Device\\Harddisk64\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm10", BRACK(FH_SDBM | 10), "\\Device\\Harddisk64\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm11", BRACK(FH_SDBM | 11), "\\Device\\Harddisk64\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm12", BRACK(FH_SDBM | 12), "\\Device\\Harddisk64\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm13", BRACK(FH_SDBM | 13), "\\Device\\Harddisk64\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm14", BRACK(FH_SDBM | 14), "\\Device\\Harddisk64\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm15", BRACK(FH_SDBM | 15), "\\Device\\Harddisk64\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn1", BRACK(FH_SDBN | 1), "\\Device\\Harddisk65\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn2", BRACK(FH_SDBN | 2), "\\Device\\Harddisk65\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn3", BRACK(FH_SDBN | 3), "\\Device\\Harddisk65\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn4", BRACK(FH_SDBN | 4), "\\Device\\Harddisk65\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn5", BRACK(FH_SDBN | 5), "\\Device\\Harddisk65\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn6", BRACK(FH_SDBN | 6), "\\Device\\Harddisk65\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn7", BRACK(FH_SDBN | 7), "\\Device\\Harddisk65\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn8", BRACK(FH_SDBN | 8), "\\Device\\Harddisk65\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn9", BRACK(FH_SDBN | 9), "\\Device\\Harddisk65\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn10", BRACK(FH_SDBN | 10), "\\Device\\Harddisk65\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn11", BRACK(FH_SDBN | 11), "\\Device\\Harddisk65\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn12", BRACK(FH_SDBN | 12), "\\Device\\Harddisk65\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn13", BRACK(FH_SDBN | 13), "\\Device\\Harddisk65\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn14", BRACK(FH_SDBN | 14), "\\Device\\Harddisk65\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn15", BRACK(FH_SDBN | 15), "\\Device\\Harddisk65\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo1", BRACK(FH_SDBO | 1), "\\Device\\Harddisk66\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo2", BRACK(FH_SDBO | 2), "\\Device\\Harddisk66\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo3", BRACK(FH_SDBO | 3), "\\Device\\Harddisk66\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo4", BRACK(FH_SDBO | 4), "\\Device\\Harddisk66\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo5", BRACK(FH_SDBO | 5), "\\Device\\Harddisk66\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo6", BRACK(FH_SDBO | 6), "\\Device\\Harddisk66\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo7", BRACK(FH_SDBO | 7), "\\Device\\Harddisk66\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo8", BRACK(FH_SDBO | 8), "\\Device\\Harddisk66\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo9", BRACK(FH_SDBO | 9), "\\Device\\Harddisk66\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo10", BRACK(FH_SDBO | 10), "\\Device\\Harddisk66\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo11", BRACK(FH_SDBO | 11), "\\Device\\Harddisk66\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo12", BRACK(FH_SDBO | 12), "\\Device\\Harddisk66\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo13", BRACK(FH_SDBO | 13), "\\Device\\Harddisk66\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo14", BRACK(FH_SDBO | 14), "\\Device\\Harddisk66\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo15", BRACK(FH_SDBO | 15), "\\Device\\Harddisk66\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp1", BRACK(FH_SDBP | 1), "\\Device\\Harddisk67\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp2", BRACK(FH_SDBP | 2), "\\Device\\Harddisk67\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp3", BRACK(FH_SDBP | 3), "\\Device\\Harddisk67\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp4", BRACK(FH_SDBP | 4), "\\Device\\Harddisk67\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp5", BRACK(FH_SDBP | 5), "\\Device\\Harddisk67\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp6", BRACK(FH_SDBP | 6), "\\Device\\Harddisk67\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp7", BRACK(FH_SDBP | 7), "\\Device\\Harddisk67\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp8", BRACK(FH_SDBP | 8), "\\Device\\Harddisk67\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp9", BRACK(FH_SDBP | 9), "\\Device\\Harddisk67\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp10", BRACK(FH_SDBP | 10), "\\Device\\Harddisk67\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp11", BRACK(FH_SDBP | 11), "\\Device\\Harddisk67\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp12", BRACK(FH_SDBP | 12), "\\Device\\Harddisk67\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp13", BRACK(FH_SDBP | 13), "\\Device\\Harddisk67\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp14", BRACK(FH_SDBP | 14), "\\Device\\Harddisk67\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp15", BRACK(FH_SDBP | 15), "\\Device\\Harddisk67\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq1", BRACK(FH_SDBQ | 1), "\\Device\\Harddisk68\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq2", BRACK(FH_SDBQ | 2), "\\Device\\Harddisk68\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq3", BRACK(FH_SDBQ | 3), "\\Device\\Harddisk68\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq4", BRACK(FH_SDBQ | 4), "\\Device\\Harddisk68\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq5", BRACK(FH_SDBQ | 5), "\\Device\\Harddisk68\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq6", BRACK(FH_SDBQ | 6), "\\Device\\Harddisk68\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq7", BRACK(FH_SDBQ | 7), "\\Device\\Harddisk68\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq8", BRACK(FH_SDBQ | 8), "\\Device\\Harddisk68\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq9", BRACK(FH_SDBQ | 9), "\\Device\\Harddisk68\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq10", BRACK(FH_SDBQ | 10), "\\Device\\Harddisk68\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq11", BRACK(FH_SDBQ | 11), "\\Device\\Harddisk68\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq12", BRACK(FH_SDBQ | 12), "\\Device\\Harddisk68\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq13", BRACK(FH_SDBQ | 13), "\\Device\\Harddisk68\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq14", BRACK(FH_SDBQ | 14), "\\Device\\Harddisk68\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq15", BRACK(FH_SDBQ | 15), "\\Device\\Harddisk68\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr1", BRACK(FH_SDBR | 1), "\\Device\\Harddisk69\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr2", BRACK(FH_SDBR | 2), "\\Device\\Harddisk69\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr3", BRACK(FH_SDBR | 3), "\\Device\\Harddisk69\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr4", BRACK(FH_SDBR | 4), "\\Device\\Harddisk69\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr5", BRACK(FH_SDBR | 5), "\\Device\\Harddisk69\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr6", BRACK(FH_SDBR | 6), "\\Device\\Harddisk69\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr7", BRACK(FH_SDBR | 7), "\\Device\\Harddisk69\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr8", BRACK(FH_SDBR | 8), "\\Device\\Harddisk69\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr9", BRACK(FH_SDBR | 9), "\\Device\\Harddisk69\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr10", BRACK(FH_SDBR | 10), "\\Device\\Harddisk69\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr11", BRACK(FH_SDBR | 11), "\\Device\\Harddisk69\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr12", BRACK(FH_SDBR | 12), "\\Device\\Harddisk69\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr13", BRACK(FH_SDBR | 13), "\\Device\\Harddisk69\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr14", BRACK(FH_SDBR | 14), "\\Device\\Harddisk69\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr15", BRACK(FH_SDBR | 15), "\\Device\\Harddisk69\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs1", BRACK(FH_SDBS | 1), "\\Device\\Harddisk70\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs2", BRACK(FH_SDBS | 2), "\\Device\\Harddisk70\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs3", BRACK(FH_SDBS | 3), "\\Device\\Harddisk70\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs4", BRACK(FH_SDBS | 4), "\\Device\\Harddisk70\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs5", BRACK(FH_SDBS | 5), "\\Device\\Harddisk70\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs6", BRACK(FH_SDBS | 6), "\\Device\\Harddisk70\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs7", BRACK(FH_SDBS | 7), "\\Device\\Harddisk70\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs8", BRACK(FH_SDBS | 8), "\\Device\\Harddisk70\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs9", BRACK(FH_SDBS | 9), "\\Device\\Harddisk70\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs10", BRACK(FH_SDBS | 10), "\\Device\\Harddisk70\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs11", BRACK(FH_SDBS | 11), "\\Device\\Harddisk70\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs12", BRACK(FH_SDBS | 12), "\\Device\\Harddisk70\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs13", BRACK(FH_SDBS | 13), "\\Device\\Harddisk70\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs14", BRACK(FH_SDBS | 14), "\\Device\\Harddisk70\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs15", BRACK(FH_SDBS | 15), "\\Device\\Harddisk70\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt1", BRACK(FH_SDBT | 1), "\\Device\\Harddisk71\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt2", BRACK(FH_SDBT | 2), "\\Device\\Harddisk71\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt3", BRACK(FH_SDBT | 3), "\\Device\\Harddisk71\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt4", BRACK(FH_SDBT | 4), "\\Device\\Harddisk71\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt5", BRACK(FH_SDBT | 5), "\\Device\\Harddisk71\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt6", BRACK(FH_SDBT | 6), "\\Device\\Harddisk71\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt7", BRACK(FH_SDBT | 7), "\\Device\\Harddisk71\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt8", BRACK(FH_SDBT | 8), "\\Device\\Harddisk71\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt9", BRACK(FH_SDBT | 9), "\\Device\\Harddisk71\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt10", BRACK(FH_SDBT | 10), "\\Device\\Harddisk71\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt11", BRACK(FH_SDBT | 11), "\\Device\\Harddisk71\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt12", BRACK(FH_SDBT | 12), "\\Device\\Harddisk71\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt13", BRACK(FH_SDBT | 13), "\\Device\\Harddisk71\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt14", BRACK(FH_SDBT | 14), "\\Device\\Harddisk71\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt15", BRACK(FH_SDBT | 15), "\\Device\\Harddisk71\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu1", BRACK(FH_SDBU | 1), "\\Device\\Harddisk72\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu2", BRACK(FH_SDBU | 2), "\\Device\\Harddisk72\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu3", BRACK(FH_SDBU | 3), "\\Device\\Harddisk72\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu4", BRACK(FH_SDBU | 4), "\\Device\\Harddisk72\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu5", BRACK(FH_SDBU | 5), "\\Device\\Harddisk72\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu6", BRACK(FH_SDBU | 6), "\\Device\\Harddisk72\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu7", BRACK(FH_SDBU | 7), "\\Device\\Harddisk72\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu8", BRACK(FH_SDBU | 8), "\\Device\\Harddisk72\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu9", BRACK(FH_SDBU | 9), "\\Device\\Harddisk72\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu10", BRACK(FH_SDBU | 10), "\\Device\\Harddisk72\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu11", BRACK(FH_SDBU | 11), "\\Device\\Harddisk72\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu12", BRACK(FH_SDBU | 12), "\\Device\\Harddisk72\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu13", BRACK(FH_SDBU | 13), "\\Device\\Harddisk72\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu14", BRACK(FH_SDBU | 14), "\\Device\\Harddisk72\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu15", BRACK(FH_SDBU | 15), "\\Device\\Harddisk72\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv1", BRACK(FH_SDBV | 1), "\\Device\\Harddisk73\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv2", BRACK(FH_SDBV | 2), "\\Device\\Harddisk73\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv3", BRACK(FH_SDBV | 3), "\\Device\\Harddisk73\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv4", BRACK(FH_SDBV | 4), "\\Device\\Harddisk73\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv5", BRACK(FH_SDBV | 5), "\\Device\\Harddisk73\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv6", BRACK(FH_SDBV | 6), "\\Device\\Harddisk73\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv7", BRACK(FH_SDBV | 7), "\\Device\\Harddisk73\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv8", BRACK(FH_SDBV | 8), "\\Device\\Harddisk73\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv9", BRACK(FH_SDBV | 9), "\\Device\\Harddisk73\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv10", BRACK(FH_SDBV | 10), "\\Device\\Harddisk73\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv11", BRACK(FH_SDBV | 11), "\\Device\\Harddisk73\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv12", BRACK(FH_SDBV | 12), "\\Device\\Harddisk73\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv13", BRACK(FH_SDBV | 13), "\\Device\\Harddisk73\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv14", BRACK(FH_SDBV | 14), "\\Device\\Harddisk73\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv15", BRACK(FH_SDBV | 15), "\\Device\\Harddisk73\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw1", BRACK(FH_SDBW | 1), "\\Device\\Harddisk74\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw2", BRACK(FH_SDBW | 2), "\\Device\\Harddisk74\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw3", BRACK(FH_SDBW | 3), "\\Device\\Harddisk74\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw4", BRACK(FH_SDBW | 4), "\\Device\\Harddisk74\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw5", BRACK(FH_SDBW | 5), "\\Device\\Harddisk74\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw6", BRACK(FH_SDBW | 6), "\\Device\\Harddisk74\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw7", BRACK(FH_SDBW | 7), "\\Device\\Harddisk74\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw8", BRACK(FH_SDBW | 8), "\\Device\\Harddisk74\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw9", BRACK(FH_SDBW | 9), "\\Device\\Harddisk74\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw10", BRACK(FH_SDBW | 10), "\\Device\\Harddisk74\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw11", BRACK(FH_SDBW | 11), "\\Device\\Harddisk74\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw12", BRACK(FH_SDBW | 12), "\\Device\\Harddisk74\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw13", BRACK(FH_SDBW | 13), "\\Device\\Harddisk74\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw14", BRACK(FH_SDBW | 14), "\\Device\\Harddisk74\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw15", BRACK(FH_SDBW | 15), "\\Device\\Harddisk74\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx1", BRACK(FH_SDBX | 1), "\\Device\\Harddisk75\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx2", BRACK(FH_SDBX | 2), "\\Device\\Harddisk75\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx3", BRACK(FH_SDBX | 3), "\\Device\\Harddisk75\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx4", BRACK(FH_SDBX | 4), "\\Device\\Harddisk75\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx5", BRACK(FH_SDBX | 5), "\\Device\\Harddisk75\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx6", BRACK(FH_SDBX | 6), "\\Device\\Harddisk75\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx7", BRACK(FH_SDBX | 7), "\\Device\\Harddisk75\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx8", BRACK(FH_SDBX | 8), "\\Device\\Harddisk75\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx9", BRACK(FH_SDBX | 9), "\\Device\\Harddisk75\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx10", BRACK(FH_SDBX | 10), "\\Device\\Harddisk75\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx11", BRACK(FH_SDBX | 11), "\\Device\\Harddisk75\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx12", BRACK(FH_SDBX | 12), "\\Device\\Harddisk75\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx13", BRACK(FH_SDBX | 13), "\\Device\\Harddisk75\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx14", BRACK(FH_SDBX | 14), "\\Device\\Harddisk75\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx15", BRACK(FH_SDBX | 15), "\\Device\\Harddisk75\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby1", BRACK(FH_SDBY | 1), "\\Device\\Harddisk76\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby2", BRACK(FH_SDBY | 2), "\\Device\\Harddisk76\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby3", BRACK(FH_SDBY | 3), "\\Device\\Harddisk76\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby4", BRACK(FH_SDBY | 4), "\\Device\\Harddisk76\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby5", BRACK(FH_SDBY | 5), "\\Device\\Harddisk76\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby6", BRACK(FH_SDBY | 6), "\\Device\\Harddisk76\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby7", BRACK(FH_SDBY | 7), "\\Device\\Harddisk76\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby8", BRACK(FH_SDBY | 8), "\\Device\\Harddisk76\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby9", BRACK(FH_SDBY | 9), "\\Device\\Harddisk76\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby10", BRACK(FH_SDBY | 10), "\\Device\\Harddisk76\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby11", BRACK(FH_SDBY | 11), "\\Device\\Harddisk76\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby12", BRACK(FH_SDBY | 12), "\\Device\\Harddisk76\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby13", BRACK(FH_SDBY | 13), "\\Device\\Harddisk76\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby14", BRACK(FH_SDBY | 14), "\\Device\\Harddisk76\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby15", BRACK(FH_SDBY | 15), "\\Device\\Harddisk76\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz1", BRACK(FH_SDBZ | 1), "\\Device\\Harddisk77\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz2", BRACK(FH_SDBZ | 2), "\\Device\\Harddisk77\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz3", BRACK(FH_SDBZ | 3), "\\Device\\Harddisk77\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz4", BRACK(FH_SDBZ | 4), "\\Device\\Harddisk77\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz5", BRACK(FH_SDBZ | 5), "\\Device\\Harddisk77\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz6", BRACK(FH_SDBZ | 6), "\\Device\\Harddisk77\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz7", BRACK(FH_SDBZ | 7), "\\Device\\Harddisk77\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz8", BRACK(FH_SDBZ | 8), "\\Device\\Harddisk77\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz9", BRACK(FH_SDBZ | 9), "\\Device\\Harddisk77\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz10", BRACK(FH_SDBZ | 10), "\\Device\\Harddisk77\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz11", BRACK(FH_SDBZ | 11), "\\Device\\Harddisk77\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz12", BRACK(FH_SDBZ | 12), "\\Device\\Harddisk77\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz13", BRACK(FH_SDBZ | 13), "\\Device\\Harddisk77\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz14", BRACK(FH_SDBZ | 14), "\\Device\\Harddisk77\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz15", BRACK(FH_SDBZ | 15), "\\Device\\Harddisk77\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca", BRACK(FH_SDCA), "\\Device\\Harddisk78\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb", BRACK(FH_SDCB), "\\Device\\Harddisk79\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc", BRACK(FH_SDCC), "\\Device\\Harddisk80\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd", BRACK(FH_SDCD), "\\Device\\Harddisk81\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce", BRACK(FH_SDCE), "\\Device\\Harddisk82\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf", BRACK(FH_SDCF), "\\Device\\Harddisk83\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg", BRACK(FH_SDCG), "\\Device\\Harddisk84\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch", BRACK(FH_SDCH), "\\Device\\Harddisk85\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci", BRACK(FH_SDCI), "\\Device\\Harddisk86\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj", BRACK(FH_SDCJ), "\\Device\\Harddisk87\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck", BRACK(FH_SDCK), "\\Device\\Harddisk88\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl", BRACK(FH_SDCL), "\\Device\\Harddisk89\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm", BRACK(FH_SDCM), "\\Device\\Harddisk90\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn", BRACK(FH_SDCN), "\\Device\\Harddisk91\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco", BRACK(FH_SDCO), "\\Device\\Harddisk92\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp", BRACK(FH_SDCP), "\\Device\\Harddisk93\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq", BRACK(FH_SDCQ), "\\Device\\Harddisk94\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr", BRACK(FH_SDCR), "\\Device\\Harddisk95\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs", BRACK(FH_SDCS), "\\Device\\Harddisk96\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct", BRACK(FH_SDCT), "\\Device\\Harddisk97\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu", BRACK(FH_SDCU), "\\Device\\Harddisk98\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv", BRACK(FH_SDCV), "\\Device\\Harddisk99\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw", BRACK(FH_SDCW), "\\Device\\Harddisk100\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx", BRACK(FH_SDCX), "\\Device\\Harddisk101\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy", BRACK(FH_SDCY), "\\Device\\Harddisk102\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz", BRACK(FH_SDCZ), "\\Device\\Harddisk103\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca1", BRACK(FH_SDCA | 1), "\\Device\\Harddisk78\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca2", BRACK(FH_SDCA | 2), "\\Device\\Harddisk78\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca3", BRACK(FH_SDCA | 3), "\\Device\\Harddisk78\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca4", BRACK(FH_SDCA | 4), "\\Device\\Harddisk78\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca5", BRACK(FH_SDCA | 5), "\\Device\\Harddisk78\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca6", BRACK(FH_SDCA | 6), "\\Device\\Harddisk78\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca7", BRACK(FH_SDCA | 7), "\\Device\\Harddisk78\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca8", BRACK(FH_SDCA | 8), "\\Device\\Harddisk78\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca9", BRACK(FH_SDCA | 9), "\\Device\\Harddisk78\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca10", BRACK(FH_SDCA | 10), "\\Device\\Harddisk78\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca11", BRACK(FH_SDCA | 11), "\\Device\\Harddisk78\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca12", BRACK(FH_SDCA | 12), "\\Device\\Harddisk78\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca13", BRACK(FH_SDCA | 13), "\\Device\\Harddisk78\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca14", BRACK(FH_SDCA | 14), "\\Device\\Harddisk78\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca15", BRACK(FH_SDCA | 15), "\\Device\\Harddisk78\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb1", BRACK(FH_SDCB | 1), "\\Device\\Harddisk79\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb2", BRACK(FH_SDCB | 2), "\\Device\\Harddisk79\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb3", BRACK(FH_SDCB | 3), "\\Device\\Harddisk79\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb4", BRACK(FH_SDCB | 4), "\\Device\\Harddisk79\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb5", BRACK(FH_SDCB | 5), "\\Device\\Harddisk79\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb6", BRACK(FH_SDCB | 6), "\\Device\\Harddisk79\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb7", BRACK(FH_SDCB | 7), "\\Device\\Harddisk79\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb8", BRACK(FH_SDCB | 8), "\\Device\\Harddisk79\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb9", BRACK(FH_SDCB | 9), "\\Device\\Harddisk79\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb10", BRACK(FH_SDCB | 10), "\\Device\\Harddisk79\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb11", BRACK(FH_SDCB | 11), "\\Device\\Harddisk79\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb12", BRACK(FH_SDCB | 12), "\\Device\\Harddisk79\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb13", BRACK(FH_SDCB | 13), "\\Device\\Harddisk79\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb14", BRACK(FH_SDCB | 14), "\\Device\\Harddisk79\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb15", BRACK(FH_SDCB | 15), "\\Device\\Harddisk79\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc1", BRACK(FH_SDCC | 1), "\\Device\\Harddisk80\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc2", BRACK(FH_SDCC | 2), "\\Device\\Harddisk80\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc3", BRACK(FH_SDCC | 3), "\\Device\\Harddisk80\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc4", BRACK(FH_SDCC | 4), "\\Device\\Harddisk80\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc5", BRACK(FH_SDCC | 5), "\\Device\\Harddisk80\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc6", BRACK(FH_SDCC | 6), "\\Device\\Harddisk80\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc7", BRACK(FH_SDCC | 7), "\\Device\\Harddisk80\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc8", BRACK(FH_SDCC | 8), "\\Device\\Harddisk80\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc9", BRACK(FH_SDCC | 9), "\\Device\\Harddisk80\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc10", BRACK(FH_SDCC | 10), "\\Device\\Harddisk80\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc11", BRACK(FH_SDCC | 11), "\\Device\\Harddisk80\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc12", BRACK(FH_SDCC | 12), "\\Device\\Harddisk80\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc13", BRACK(FH_SDCC | 13), "\\Device\\Harddisk80\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc14", BRACK(FH_SDCC | 14), "\\Device\\Harddisk80\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc15", BRACK(FH_SDCC | 15), "\\Device\\Harddisk80\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd1", BRACK(FH_SDCD | 1), "\\Device\\Harddisk81\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd2", BRACK(FH_SDCD | 2), "\\Device\\Harddisk81\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd3", BRACK(FH_SDCD | 3), "\\Device\\Harddisk81\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd4", BRACK(FH_SDCD | 4), "\\Device\\Harddisk81\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd5", BRACK(FH_SDCD | 5), "\\Device\\Harddisk81\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd6", BRACK(FH_SDCD | 6), "\\Device\\Harddisk81\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd7", BRACK(FH_SDCD | 7), "\\Device\\Harddisk81\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd8", BRACK(FH_SDCD | 8), "\\Device\\Harddisk81\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd9", BRACK(FH_SDCD | 9), "\\Device\\Harddisk81\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd10", BRACK(FH_SDCD | 10), "\\Device\\Harddisk81\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd11", BRACK(FH_SDCD | 11), "\\Device\\Harddisk81\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd12", BRACK(FH_SDCD | 12), "\\Device\\Harddisk81\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd13", BRACK(FH_SDCD | 13), "\\Device\\Harddisk81\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd14", BRACK(FH_SDCD | 14), "\\Device\\Harddisk81\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd15", BRACK(FH_SDCD | 15), "\\Device\\Harddisk81\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce1", BRACK(FH_SDCE | 1), "\\Device\\Harddisk82\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce2", BRACK(FH_SDCE | 2), "\\Device\\Harddisk82\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce3", BRACK(FH_SDCE | 3), "\\Device\\Harddisk82\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce4", BRACK(FH_SDCE | 4), "\\Device\\Harddisk82\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce5", BRACK(FH_SDCE | 5), "\\Device\\Harddisk82\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce6", BRACK(FH_SDCE | 6), "\\Device\\Harddisk82\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce7", BRACK(FH_SDCE | 7), "\\Device\\Harddisk82\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce8", BRACK(FH_SDCE | 8), "\\Device\\Harddisk82\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce9", BRACK(FH_SDCE | 9), "\\Device\\Harddisk82\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce10", BRACK(FH_SDCE | 10), "\\Device\\Harddisk82\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce11", BRACK(FH_SDCE | 11), "\\Device\\Harddisk82\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce12", BRACK(FH_SDCE | 12), "\\Device\\Harddisk82\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce13", BRACK(FH_SDCE | 13), "\\Device\\Harddisk82\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce14", BRACK(FH_SDCE | 14), "\\Device\\Harddisk82\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce15", BRACK(FH_SDCE | 15), "\\Device\\Harddisk82\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf1", BRACK(FH_SDCF | 1), "\\Device\\Harddisk83\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf2", BRACK(FH_SDCF | 2), "\\Device\\Harddisk83\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf3", BRACK(FH_SDCF | 3), "\\Device\\Harddisk83\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf4", BRACK(FH_SDCF | 4), "\\Device\\Harddisk83\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf5", BRACK(FH_SDCF | 5), "\\Device\\Harddisk83\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf6", BRACK(FH_SDCF | 6), "\\Device\\Harddisk83\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf7", BRACK(FH_SDCF | 7), "\\Device\\Harddisk83\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf8", BRACK(FH_SDCF | 8), "\\Device\\Harddisk83\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf9", BRACK(FH_SDCF | 9), "\\Device\\Harddisk83\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf10", BRACK(FH_SDCF | 10), "\\Device\\Harddisk83\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf11", BRACK(FH_SDCF | 11), "\\Device\\Harddisk83\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf12", BRACK(FH_SDCF | 12), "\\Device\\Harddisk83\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf13", BRACK(FH_SDCF | 13), "\\Device\\Harddisk83\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf14", BRACK(FH_SDCF | 14), "\\Device\\Harddisk83\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf15", BRACK(FH_SDCF | 15), "\\Device\\Harddisk83\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg1", BRACK(FH_SDCG | 1), "\\Device\\Harddisk84\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg2", BRACK(FH_SDCG | 2), "\\Device\\Harddisk84\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg3", BRACK(FH_SDCG | 3), "\\Device\\Harddisk84\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg4", BRACK(FH_SDCG | 4), "\\Device\\Harddisk84\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg5", BRACK(FH_SDCG | 5), "\\Device\\Harddisk84\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg6", BRACK(FH_SDCG | 6), "\\Device\\Harddisk84\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg7", BRACK(FH_SDCG | 7), "\\Device\\Harddisk84\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg8", BRACK(FH_SDCG | 8), "\\Device\\Harddisk84\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg9", BRACK(FH_SDCG | 9), "\\Device\\Harddisk84\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg10", BRACK(FH_SDCG | 10), "\\Device\\Harddisk84\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg11", BRACK(FH_SDCG | 11), "\\Device\\Harddisk84\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg12", BRACK(FH_SDCG | 12), "\\Device\\Harddisk84\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg13", BRACK(FH_SDCG | 13), "\\Device\\Harddisk84\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg14", BRACK(FH_SDCG | 14), "\\Device\\Harddisk84\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg15", BRACK(FH_SDCG | 15), "\\Device\\Harddisk84\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch1", BRACK(FH_SDCH | 1), "\\Device\\Harddisk85\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch2", BRACK(FH_SDCH | 2), "\\Device\\Harddisk85\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch3", BRACK(FH_SDCH | 3), "\\Device\\Harddisk85\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch4", BRACK(FH_SDCH | 4), "\\Device\\Harddisk85\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch5", BRACK(FH_SDCH | 5), "\\Device\\Harddisk85\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch6", BRACK(FH_SDCH | 6), "\\Device\\Harddisk85\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch7", BRACK(FH_SDCH | 7), "\\Device\\Harddisk85\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch8", BRACK(FH_SDCH | 8), "\\Device\\Harddisk85\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch9", BRACK(FH_SDCH | 9), "\\Device\\Harddisk85\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch10", BRACK(FH_SDCH | 10), "\\Device\\Harddisk85\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch11", BRACK(FH_SDCH | 11), "\\Device\\Harddisk85\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch12", BRACK(FH_SDCH | 12), "\\Device\\Harddisk85\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch13", BRACK(FH_SDCH | 13), "\\Device\\Harddisk85\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch14", BRACK(FH_SDCH | 14), "\\Device\\Harddisk85\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch15", BRACK(FH_SDCH | 15), "\\Device\\Harddisk85\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci1", BRACK(FH_SDCI | 1), "\\Device\\Harddisk86\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci2", BRACK(FH_SDCI | 2), "\\Device\\Harddisk86\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci3", BRACK(FH_SDCI | 3), "\\Device\\Harddisk86\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci4", BRACK(FH_SDCI | 4), "\\Device\\Harddisk86\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci5", BRACK(FH_SDCI | 5), "\\Device\\Harddisk86\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci6", BRACK(FH_SDCI | 6), "\\Device\\Harddisk86\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci7", BRACK(FH_SDCI | 7), "\\Device\\Harddisk86\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci8", BRACK(FH_SDCI | 8), "\\Device\\Harddisk86\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci9", BRACK(FH_SDCI | 9), "\\Device\\Harddisk86\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci10", BRACK(FH_SDCI | 10), "\\Device\\Harddisk86\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci11", BRACK(FH_SDCI | 11), "\\Device\\Harddisk86\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci12", BRACK(FH_SDCI | 12), "\\Device\\Harddisk86\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci13", BRACK(FH_SDCI | 13), "\\Device\\Harddisk86\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci14", BRACK(FH_SDCI | 14), "\\Device\\Harddisk86\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci15", BRACK(FH_SDCI | 15), "\\Device\\Harddisk86\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj1", BRACK(FH_SDCJ | 1), "\\Device\\Harddisk87\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj2", BRACK(FH_SDCJ | 2), "\\Device\\Harddisk87\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj3", BRACK(FH_SDCJ | 3), "\\Device\\Harddisk87\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj4", BRACK(FH_SDCJ | 4), "\\Device\\Harddisk87\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj5", BRACK(FH_SDCJ | 5), "\\Device\\Harddisk87\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj6", BRACK(FH_SDCJ | 6), "\\Device\\Harddisk87\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj7", BRACK(FH_SDCJ | 7), "\\Device\\Harddisk87\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj8", BRACK(FH_SDCJ | 8), "\\Device\\Harddisk87\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj9", BRACK(FH_SDCJ | 9), "\\Device\\Harddisk87\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj10", BRACK(FH_SDCJ | 10), "\\Device\\Harddisk87\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj11", BRACK(FH_SDCJ | 11), "\\Device\\Harddisk87\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj12", BRACK(FH_SDCJ | 12), "\\Device\\Harddisk87\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj13", BRACK(FH_SDCJ | 13), "\\Device\\Harddisk87\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj14", BRACK(FH_SDCJ | 14), "\\Device\\Harddisk87\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj15", BRACK(FH_SDCJ | 15), "\\Device\\Harddisk87\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck1", BRACK(FH_SDCK | 1), "\\Device\\Harddisk88\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck2", BRACK(FH_SDCK | 2), "\\Device\\Harddisk88\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck3", BRACK(FH_SDCK | 3), "\\Device\\Harddisk88\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck4", BRACK(FH_SDCK | 4), "\\Device\\Harddisk88\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck5", BRACK(FH_SDCK | 5), "\\Device\\Harddisk88\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck6", BRACK(FH_SDCK | 6), "\\Device\\Harddisk88\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck7", BRACK(FH_SDCK | 7), "\\Device\\Harddisk88\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck8", BRACK(FH_SDCK | 8), "\\Device\\Harddisk88\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck9", BRACK(FH_SDCK | 9), "\\Device\\Harddisk88\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck10", BRACK(FH_SDCK | 10), "\\Device\\Harddisk88\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck11", BRACK(FH_SDCK | 11), "\\Device\\Harddisk88\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck12", BRACK(FH_SDCK | 12), "\\Device\\Harddisk88\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck13", BRACK(FH_SDCK | 13), "\\Device\\Harddisk88\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck14", BRACK(FH_SDCK | 14), "\\Device\\Harddisk88\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck15", BRACK(FH_SDCK | 15), "\\Device\\Harddisk88\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl1", BRACK(FH_SDCL | 1), "\\Device\\Harddisk89\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl2", BRACK(FH_SDCL | 2), "\\Device\\Harddisk89\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl3", BRACK(FH_SDCL | 3), "\\Device\\Harddisk89\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl4", BRACK(FH_SDCL | 4), "\\Device\\Harddisk89\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl5", BRACK(FH_SDCL | 5), "\\Device\\Harddisk89\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl6", BRACK(FH_SDCL | 6), "\\Device\\Harddisk89\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl7", BRACK(FH_SDCL | 7), "\\Device\\Harddisk89\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl8", BRACK(FH_SDCL | 8), "\\Device\\Harddisk89\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl9", BRACK(FH_SDCL | 9), "\\Device\\Harddisk89\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl10", BRACK(FH_SDCL | 10), "\\Device\\Harddisk89\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl11", BRACK(FH_SDCL | 11), "\\Device\\Harddisk89\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl12", BRACK(FH_SDCL | 12), "\\Device\\Harddisk89\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl13", BRACK(FH_SDCL | 13), "\\Device\\Harddisk89\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl14", BRACK(FH_SDCL | 14), "\\Device\\Harddisk89\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl15", BRACK(FH_SDCL | 15), "\\Device\\Harddisk89\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm1", BRACK(FH_SDCM | 1), "\\Device\\Harddisk90\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm2", BRACK(FH_SDCM | 2), "\\Device\\Harddisk90\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm3", BRACK(FH_SDCM | 3), "\\Device\\Harddisk90\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm4", BRACK(FH_SDCM | 4), "\\Device\\Harddisk90\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm5", BRACK(FH_SDCM | 5), "\\Device\\Harddisk90\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm6", BRACK(FH_SDCM | 6), "\\Device\\Harddisk90\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm7", BRACK(FH_SDCM | 7), "\\Device\\Harddisk90\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm8", BRACK(FH_SDCM | 8), "\\Device\\Harddisk90\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm9", BRACK(FH_SDCM | 9), "\\Device\\Harddisk90\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm10", BRACK(FH_SDCM | 10), "\\Device\\Harddisk90\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm11", BRACK(FH_SDCM | 11), "\\Device\\Harddisk90\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm12", BRACK(FH_SDCM | 12), "\\Device\\Harddisk90\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm13", BRACK(FH_SDCM | 13), "\\Device\\Harddisk90\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm14", BRACK(FH_SDCM | 14), "\\Device\\Harddisk90\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm15", BRACK(FH_SDCM | 15), "\\Device\\Harddisk90\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn1", BRACK(FH_SDCN | 1), "\\Device\\Harddisk91\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn2", BRACK(FH_SDCN | 2), "\\Device\\Harddisk91\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn3", BRACK(FH_SDCN | 3), "\\Device\\Harddisk91\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn4", BRACK(FH_SDCN | 4), "\\Device\\Harddisk91\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn5", BRACK(FH_SDCN | 5), "\\Device\\Harddisk91\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn6", BRACK(FH_SDCN | 6), "\\Device\\Harddisk91\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn7", BRACK(FH_SDCN | 7), "\\Device\\Harddisk91\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn8", BRACK(FH_SDCN | 8), "\\Device\\Harddisk91\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn9", BRACK(FH_SDCN | 9), "\\Device\\Harddisk91\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn10", BRACK(FH_SDCN | 10), "\\Device\\Harddisk91\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn11", BRACK(FH_SDCN | 11), "\\Device\\Harddisk91\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn12", BRACK(FH_SDCN | 12), "\\Device\\Harddisk91\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn13", BRACK(FH_SDCN | 13), "\\Device\\Harddisk91\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn14", BRACK(FH_SDCN | 14), "\\Device\\Harddisk91\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn15", BRACK(FH_SDCN | 15), "\\Device\\Harddisk91\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco1", BRACK(FH_SDCO | 1), "\\Device\\Harddisk92\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco2", BRACK(FH_SDCO | 2), "\\Device\\Harddisk92\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco3", BRACK(FH_SDCO | 3), "\\Device\\Harddisk92\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco4", BRACK(FH_SDCO | 4), "\\Device\\Harddisk92\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco5", BRACK(FH_SDCO | 5), "\\Device\\Harddisk92\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco6", BRACK(FH_SDCO | 6), "\\Device\\Harddisk92\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco7", BRACK(FH_SDCO | 7), "\\Device\\Harddisk92\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco8", BRACK(FH_SDCO | 8), "\\Device\\Harddisk92\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco9", BRACK(FH_SDCO | 9), "\\Device\\Harddisk92\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco10", BRACK(FH_SDCO | 10), "\\Device\\Harddisk92\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco11", BRACK(FH_SDCO | 11), "\\Device\\Harddisk92\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco12", BRACK(FH_SDCO | 12), "\\Device\\Harddisk92\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco13", BRACK(FH_SDCO | 13), "\\Device\\Harddisk92\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco14", BRACK(FH_SDCO | 14), "\\Device\\Harddisk92\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco15", BRACK(FH_SDCO | 15), "\\Device\\Harddisk92\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp1", BRACK(FH_SDCP | 1), "\\Device\\Harddisk93\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp2", BRACK(FH_SDCP | 2), "\\Device\\Harddisk93\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp3", BRACK(FH_SDCP | 3), "\\Device\\Harddisk93\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp4", BRACK(FH_SDCP | 4), "\\Device\\Harddisk93\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp5", BRACK(FH_SDCP | 5), "\\Device\\Harddisk93\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp6", BRACK(FH_SDCP | 6), "\\Device\\Harddisk93\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp7", BRACK(FH_SDCP | 7), "\\Device\\Harddisk93\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp8", BRACK(FH_SDCP | 8), "\\Device\\Harddisk93\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp9", BRACK(FH_SDCP | 9), "\\Device\\Harddisk93\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp10", BRACK(FH_SDCP | 10), "\\Device\\Harddisk93\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp11", BRACK(FH_SDCP | 11), "\\Device\\Harddisk93\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp12", BRACK(FH_SDCP | 12), "\\Device\\Harddisk93\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp13", BRACK(FH_SDCP | 13), "\\Device\\Harddisk93\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp14", BRACK(FH_SDCP | 14), "\\Device\\Harddisk93\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp15", BRACK(FH_SDCP | 15), "\\Device\\Harddisk93\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq1", BRACK(FH_SDCQ | 1), "\\Device\\Harddisk94\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq2", BRACK(FH_SDCQ | 2), "\\Device\\Harddisk94\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq3", BRACK(FH_SDCQ | 3), "\\Device\\Harddisk94\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq4", BRACK(FH_SDCQ | 4), "\\Device\\Harddisk94\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq5", BRACK(FH_SDCQ | 5), "\\Device\\Harddisk94\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq6", BRACK(FH_SDCQ | 6), "\\Device\\Harddisk94\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq7", BRACK(FH_SDCQ | 7), "\\Device\\Harddisk94\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq8", BRACK(FH_SDCQ | 8), "\\Device\\Harddisk94\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq9", BRACK(FH_SDCQ | 9), "\\Device\\Harddisk94\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq10", BRACK(FH_SDCQ | 10), "\\Device\\Harddisk94\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq11", BRACK(FH_SDCQ | 11), "\\Device\\Harddisk94\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq12", BRACK(FH_SDCQ | 12), "\\Device\\Harddisk94\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq13", BRACK(FH_SDCQ | 13), "\\Device\\Harddisk94\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq14", BRACK(FH_SDCQ | 14), "\\Device\\Harddisk94\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq15", BRACK(FH_SDCQ | 15), "\\Device\\Harddisk94\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr1", BRACK(FH_SDCR | 1), "\\Device\\Harddisk95\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr2", BRACK(FH_SDCR | 2), "\\Device\\Harddisk95\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr3", BRACK(FH_SDCR | 3), "\\Device\\Harddisk95\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr4", BRACK(FH_SDCR | 4), "\\Device\\Harddisk95\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr5", BRACK(FH_SDCR | 5), "\\Device\\Harddisk95\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr6", BRACK(FH_SDCR | 6), "\\Device\\Harddisk95\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr7", BRACK(FH_SDCR | 7), "\\Device\\Harddisk95\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr8", BRACK(FH_SDCR | 8), "\\Device\\Harddisk95\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr9", BRACK(FH_SDCR | 9), "\\Device\\Harddisk95\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr10", BRACK(FH_SDCR | 10), "\\Device\\Harddisk95\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr11", BRACK(FH_SDCR | 11), "\\Device\\Harddisk95\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr12", BRACK(FH_SDCR | 12), "\\Device\\Harddisk95\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr13", BRACK(FH_SDCR | 13), "\\Device\\Harddisk95\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr14", BRACK(FH_SDCR | 14), "\\Device\\Harddisk95\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr15", BRACK(FH_SDCR | 15), "\\Device\\Harddisk95\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs1", BRACK(FH_SDCS | 1), "\\Device\\Harddisk96\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs2", BRACK(FH_SDCS | 2), "\\Device\\Harddisk96\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs3", BRACK(FH_SDCS | 3), "\\Device\\Harddisk96\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs4", BRACK(FH_SDCS | 4), "\\Device\\Harddisk96\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs5", BRACK(FH_SDCS | 5), "\\Device\\Harddisk96\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs6", BRACK(FH_SDCS | 6), "\\Device\\Harddisk96\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs7", BRACK(FH_SDCS | 7), "\\Device\\Harddisk96\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs8", BRACK(FH_SDCS | 8), "\\Device\\Harddisk96\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs9", BRACK(FH_SDCS | 9), "\\Device\\Harddisk96\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs10", BRACK(FH_SDCS | 10), "\\Device\\Harddisk96\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs11", BRACK(FH_SDCS | 11), "\\Device\\Harddisk96\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs12", BRACK(FH_SDCS | 12), "\\Device\\Harddisk96\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs13", BRACK(FH_SDCS | 13), "\\Device\\Harddisk96\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs14", BRACK(FH_SDCS | 14), "\\Device\\Harddisk96\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs15", BRACK(FH_SDCS | 15), "\\Device\\Harddisk96\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct1", BRACK(FH_SDCT | 1), "\\Device\\Harddisk97\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct2", BRACK(FH_SDCT | 2), "\\Device\\Harddisk97\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct3", BRACK(FH_SDCT | 3), "\\Device\\Harddisk97\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct4", BRACK(FH_SDCT | 4), "\\Device\\Harddisk97\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct5", BRACK(FH_SDCT | 5), "\\Device\\Harddisk97\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct6", BRACK(FH_SDCT | 6), "\\Device\\Harddisk97\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct7", BRACK(FH_SDCT | 7), "\\Device\\Harddisk97\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct8", BRACK(FH_SDCT | 8), "\\Device\\Harddisk97\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct9", BRACK(FH_SDCT | 9), "\\Device\\Harddisk97\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct10", BRACK(FH_SDCT | 10), "\\Device\\Harddisk97\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct11", BRACK(FH_SDCT | 11), "\\Device\\Harddisk97\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct12", BRACK(FH_SDCT | 12), "\\Device\\Harddisk97\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct13", BRACK(FH_SDCT | 13), "\\Device\\Harddisk97\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct14", BRACK(FH_SDCT | 14), "\\Device\\Harddisk97\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct15", BRACK(FH_SDCT | 15), "\\Device\\Harddisk97\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu1", BRACK(FH_SDCU | 1), "\\Device\\Harddisk98\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu2", BRACK(FH_SDCU | 2), "\\Device\\Harddisk98\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu3", BRACK(FH_SDCU | 3), "\\Device\\Harddisk98\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu4", BRACK(FH_SDCU | 4), "\\Device\\Harddisk98\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu5", BRACK(FH_SDCU | 5), "\\Device\\Harddisk98\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu6", BRACK(FH_SDCU | 6), "\\Device\\Harddisk98\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu7", BRACK(FH_SDCU | 7), "\\Device\\Harddisk98\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu8", BRACK(FH_SDCU | 8), "\\Device\\Harddisk98\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu9", BRACK(FH_SDCU | 9), "\\Device\\Harddisk98\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu10", BRACK(FH_SDCU | 10), "\\Device\\Harddisk98\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu11", BRACK(FH_SDCU | 11), "\\Device\\Harddisk98\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu12", BRACK(FH_SDCU | 12), "\\Device\\Harddisk98\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu13", BRACK(FH_SDCU | 13), "\\Device\\Harddisk98\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu14", BRACK(FH_SDCU | 14), "\\Device\\Harddisk98\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu15", BRACK(FH_SDCU | 15), "\\Device\\Harddisk98\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv1", BRACK(FH_SDCV | 1), "\\Device\\Harddisk99\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv2", BRACK(FH_SDCV | 2), "\\Device\\Harddisk99\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv3", BRACK(FH_SDCV | 3), "\\Device\\Harddisk99\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv4", BRACK(FH_SDCV | 4), "\\Device\\Harddisk99\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv5", BRACK(FH_SDCV | 5), "\\Device\\Harddisk99\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv6", BRACK(FH_SDCV | 6), "\\Device\\Harddisk99\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv7", BRACK(FH_SDCV | 7), "\\Device\\Harddisk99\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv8", BRACK(FH_SDCV | 8), "\\Device\\Harddisk99\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv9", BRACK(FH_SDCV | 9), "\\Device\\Harddisk99\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv10", BRACK(FH_SDCV | 10), "\\Device\\Harddisk99\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv11", BRACK(FH_SDCV | 11), "\\Device\\Harddisk99\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv12", BRACK(FH_SDCV | 12), "\\Device\\Harddisk99\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv13", BRACK(FH_SDCV | 13), "\\Device\\Harddisk99\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv14", BRACK(FH_SDCV | 14), "\\Device\\Harddisk99\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv15", BRACK(FH_SDCV | 15), "\\Device\\Harddisk99\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw1", BRACK(FH_SDCW | 1), "\\Device\\Harddisk100\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw2", BRACK(FH_SDCW | 2), "\\Device\\Harddisk100\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw3", BRACK(FH_SDCW | 3), "\\Device\\Harddisk100\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw4", BRACK(FH_SDCW | 4), "\\Device\\Harddisk100\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw5", BRACK(FH_SDCW | 5), "\\Device\\Harddisk100\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw6", BRACK(FH_SDCW | 6), "\\Device\\Harddisk100\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw7", BRACK(FH_SDCW | 7), "\\Device\\Harddisk100\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw8", BRACK(FH_SDCW | 8), "\\Device\\Harddisk100\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw9", BRACK(FH_SDCW | 9), "\\Device\\Harddisk100\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw10", BRACK(FH_SDCW | 10), "\\Device\\Harddisk100\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw11", BRACK(FH_SDCW | 11), "\\Device\\Harddisk100\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw12", BRACK(FH_SDCW | 12), "\\Device\\Harddisk100\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw13", BRACK(FH_SDCW | 13), "\\Device\\Harddisk100\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw14", BRACK(FH_SDCW | 14), "\\Device\\Harddisk100\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw15", BRACK(FH_SDCW | 15), "\\Device\\Harddisk100\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx1", BRACK(FH_SDCX | 1), "\\Device\\Harddisk101\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx2", BRACK(FH_SDCX | 2), "\\Device\\Harddisk101\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx3", BRACK(FH_SDCX | 3), "\\Device\\Harddisk101\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx4", BRACK(FH_SDCX | 4), "\\Device\\Harddisk101\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx5", BRACK(FH_SDCX | 5), "\\Device\\Harddisk101\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx6", BRACK(FH_SDCX | 6), "\\Device\\Harddisk101\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx7", BRACK(FH_SDCX | 7), "\\Device\\Harddisk101\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx8", BRACK(FH_SDCX | 8), "\\Device\\Harddisk101\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx9", BRACK(FH_SDCX | 9), "\\Device\\Harddisk101\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx10", BRACK(FH_SDCX | 10), "\\Device\\Harddisk101\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx11", BRACK(FH_SDCX | 11), "\\Device\\Harddisk101\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx12", BRACK(FH_SDCX | 12), "\\Device\\Harddisk101\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx13", BRACK(FH_SDCX | 13), "\\Device\\Harddisk101\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx14", BRACK(FH_SDCX | 14), "\\Device\\Harddisk101\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx15", BRACK(FH_SDCX | 15), "\\Device\\Harddisk101\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy1", BRACK(FH_SDCY | 1), "\\Device\\Harddisk102\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy2", BRACK(FH_SDCY | 2), "\\Device\\Harddisk102\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy3", BRACK(FH_SDCY | 3), "\\Device\\Harddisk102\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy4", BRACK(FH_SDCY | 4), "\\Device\\Harddisk102\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy5", BRACK(FH_SDCY | 5), "\\Device\\Harddisk102\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy6", BRACK(FH_SDCY | 6), "\\Device\\Harddisk102\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy7", BRACK(FH_SDCY | 7), "\\Device\\Harddisk102\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy8", BRACK(FH_SDCY | 8), "\\Device\\Harddisk102\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy9", BRACK(FH_SDCY | 9), "\\Device\\Harddisk102\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy10", BRACK(FH_SDCY | 10), "\\Device\\Harddisk102\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy11", BRACK(FH_SDCY | 11), "\\Device\\Harddisk102\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy12", BRACK(FH_SDCY | 12), "\\Device\\Harddisk102\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy13", BRACK(FH_SDCY | 13), "\\Device\\Harddisk102\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy14", BRACK(FH_SDCY | 14), "\\Device\\Harddisk102\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy15", BRACK(FH_SDCY | 15), "\\Device\\Harddisk102\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz1", BRACK(FH_SDCZ | 1), "\\Device\\Harddisk103\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz2", BRACK(FH_SDCZ | 2), "\\Device\\Harddisk103\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz3", BRACK(FH_SDCZ | 3), "\\Device\\Harddisk103\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz4", BRACK(FH_SDCZ | 4), "\\Device\\Harddisk103\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz5", BRACK(FH_SDCZ | 5), "\\Device\\Harddisk103\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz6", BRACK(FH_SDCZ | 6), "\\Device\\Harddisk103\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz7", BRACK(FH_SDCZ | 7), "\\Device\\Harddisk103\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz8", BRACK(FH_SDCZ | 8), "\\Device\\Harddisk103\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz9", BRACK(FH_SDCZ | 9), "\\Device\\Harddisk103\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz10", BRACK(FH_SDCZ | 10), "\\Device\\Harddisk103\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz11", BRACK(FH_SDCZ | 11), "\\Device\\Harddisk103\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz12", BRACK(FH_SDCZ | 12), "\\Device\\Harddisk103\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz13", BRACK(FH_SDCZ | 13), "\\Device\\Harddisk103\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz14", BRACK(FH_SDCZ | 14), "\\Device\\Harddisk103\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz15", BRACK(FH_SDCZ | 15), "\\Device\\Harddisk103\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda", BRACK(FH_SDDA), "\\Device\\Harddisk104\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb", BRACK(FH_SDDB), "\\Device\\Harddisk105\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc", BRACK(FH_SDDC), "\\Device\\Harddisk106\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd", BRACK(FH_SDDD), "\\Device\\Harddisk107\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde", BRACK(FH_SDDE), "\\Device\\Harddisk108\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf", BRACK(FH_SDDF), "\\Device\\Harddisk109\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg", BRACK(FH_SDDG), "\\Device\\Harddisk110\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh", BRACK(FH_SDDH), "\\Device\\Harddisk111\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi", BRACK(FH_SDDI), "\\Device\\Harddisk112\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj", BRACK(FH_SDDJ), "\\Device\\Harddisk113\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk", BRACK(FH_SDDK), "\\Device\\Harddisk114\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl", BRACK(FH_SDDL), "\\Device\\Harddisk115\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm", BRACK(FH_SDDM), "\\Device\\Harddisk116\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn", BRACK(FH_SDDN), "\\Device\\Harddisk117\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo", BRACK(FH_SDDO), "\\Device\\Harddisk118\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp", BRACK(FH_SDDP), "\\Device\\Harddisk119\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq", BRACK(FH_SDDQ), "\\Device\\Harddisk120\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr", BRACK(FH_SDDR), "\\Device\\Harddisk121\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds", BRACK(FH_SDDS), "\\Device\\Harddisk122\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt", BRACK(FH_SDDT), "\\Device\\Harddisk123\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu", BRACK(FH_SDDU), "\\Device\\Harddisk124\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv", BRACK(FH_SDDV), "\\Device\\Harddisk125\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw", BRACK(FH_SDDW), "\\Device\\Harddisk126\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx", BRACK(FH_SDDX), "\\Device\\Harddisk127\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda1", BRACK(FH_SDDA | 1), "\\Device\\Harddisk104\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda2", BRACK(FH_SDDA | 2), "\\Device\\Harddisk104\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda3", BRACK(FH_SDDA | 3), "\\Device\\Harddisk104\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda4", BRACK(FH_SDDA | 4), "\\Device\\Harddisk104\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda5", BRACK(FH_SDDA | 5), "\\Device\\Harddisk104\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda6", BRACK(FH_SDDA | 6), "\\Device\\Harddisk104\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda7", BRACK(FH_SDDA | 7), "\\Device\\Harddisk104\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda8", BRACK(FH_SDDA | 8), "\\Device\\Harddisk104\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda9", BRACK(FH_SDDA | 9), "\\Device\\Harddisk104\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda10", BRACK(FH_SDDA | 10), "\\Device\\Harddisk104\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda11", BRACK(FH_SDDA | 11), "\\Device\\Harddisk104\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda12", BRACK(FH_SDDA | 12), "\\Device\\Harddisk104\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda13", BRACK(FH_SDDA | 13), "\\Device\\Harddisk104\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda14", BRACK(FH_SDDA | 14), "\\Device\\Harddisk104\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda15", BRACK(FH_SDDA | 15), "\\Device\\Harddisk104\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb1", BRACK(FH_SDDB | 1), "\\Device\\Harddisk105\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb2", BRACK(FH_SDDB | 2), "\\Device\\Harddisk105\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb3", BRACK(FH_SDDB | 3), "\\Device\\Harddisk105\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb4", BRACK(FH_SDDB | 4), "\\Device\\Harddisk105\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb5", BRACK(FH_SDDB | 5), "\\Device\\Harddisk105\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb6", BRACK(FH_SDDB | 6), "\\Device\\Harddisk105\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb7", BRACK(FH_SDDB | 7), "\\Device\\Harddisk105\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb8", BRACK(FH_SDDB | 8), "\\Device\\Harddisk105\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb9", BRACK(FH_SDDB | 9), "\\Device\\Harddisk105\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb10", BRACK(FH_SDDB | 10), "\\Device\\Harddisk105\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb11", BRACK(FH_SDDB | 11), "\\Device\\Harddisk105\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb12", BRACK(FH_SDDB | 12), "\\Device\\Harddisk105\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb13", BRACK(FH_SDDB | 13), "\\Device\\Harddisk105\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb14", BRACK(FH_SDDB | 14), "\\Device\\Harddisk105\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb15", BRACK(FH_SDDB | 15), "\\Device\\Harddisk105\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc1", BRACK(FH_SDDC | 1), "\\Device\\Harddisk106\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc2", BRACK(FH_SDDC | 2), "\\Device\\Harddisk106\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc3", BRACK(FH_SDDC | 3), "\\Device\\Harddisk106\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc4", BRACK(FH_SDDC | 4), "\\Device\\Harddisk106\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc5", BRACK(FH_SDDC | 5), "\\Device\\Harddisk106\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc6", BRACK(FH_SDDC | 6), "\\Device\\Harddisk106\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc7", BRACK(FH_SDDC | 7), "\\Device\\Harddisk106\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc8", BRACK(FH_SDDC | 8), "\\Device\\Harddisk106\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc9", BRACK(FH_SDDC | 9), "\\Device\\Harddisk106\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc10", BRACK(FH_SDDC | 10), "\\Device\\Harddisk106\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc11", BRACK(FH_SDDC | 11), "\\Device\\Harddisk106\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc12", BRACK(FH_SDDC | 12), "\\Device\\Harddisk106\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc13", BRACK(FH_SDDC | 13), "\\Device\\Harddisk106\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc14", BRACK(FH_SDDC | 14), "\\Device\\Harddisk106\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc15", BRACK(FH_SDDC | 15), "\\Device\\Harddisk106\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd1", BRACK(FH_SDDD | 1), "\\Device\\Harddisk107\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd2", BRACK(FH_SDDD | 2), "\\Device\\Harddisk107\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd3", BRACK(FH_SDDD | 3), "\\Device\\Harddisk107\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd4", BRACK(FH_SDDD | 4), "\\Device\\Harddisk107\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd5", BRACK(FH_SDDD | 5), "\\Device\\Harddisk107\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd6", BRACK(FH_SDDD | 6), "\\Device\\Harddisk107\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd7", BRACK(FH_SDDD | 7), "\\Device\\Harddisk107\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd8", BRACK(FH_SDDD | 8), "\\Device\\Harddisk107\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd9", BRACK(FH_SDDD | 9), "\\Device\\Harddisk107\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd10", BRACK(FH_SDDD | 10), "\\Device\\Harddisk107\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd11", BRACK(FH_SDDD | 11), "\\Device\\Harddisk107\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd12", BRACK(FH_SDDD | 12), "\\Device\\Harddisk107\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd13", BRACK(FH_SDDD | 13), "\\Device\\Harddisk107\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd14", BRACK(FH_SDDD | 14), "\\Device\\Harddisk107\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd15", BRACK(FH_SDDD | 15), "\\Device\\Harddisk107\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde1", BRACK(FH_SDDE | 1), "\\Device\\Harddisk108\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde2", BRACK(FH_SDDE | 2), "\\Device\\Harddisk108\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde3", BRACK(FH_SDDE | 3), "\\Device\\Harddisk108\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde4", BRACK(FH_SDDE | 4), "\\Device\\Harddisk108\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde5", BRACK(FH_SDDE | 5), "\\Device\\Harddisk108\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde6", BRACK(FH_SDDE | 6), "\\Device\\Harddisk108\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde7", BRACK(FH_SDDE | 7), "\\Device\\Harddisk108\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde8", BRACK(FH_SDDE | 8), "\\Device\\Harddisk108\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde9", BRACK(FH_SDDE | 9), "\\Device\\Harddisk108\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde10", BRACK(FH_SDDE | 10), "\\Device\\Harddisk108\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde11", BRACK(FH_SDDE | 11), "\\Device\\Harddisk108\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde12", BRACK(FH_SDDE | 12), "\\Device\\Harddisk108\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde13", BRACK(FH_SDDE | 13), "\\Device\\Harddisk108\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde14", BRACK(FH_SDDE | 14), "\\Device\\Harddisk108\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde15", BRACK(FH_SDDE | 15), "\\Device\\Harddisk108\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf1", BRACK(FH_SDDF | 1), "\\Device\\Harddisk109\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf2", BRACK(FH_SDDF | 2), "\\Device\\Harddisk109\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf3", BRACK(FH_SDDF | 3), "\\Device\\Harddisk109\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf4", BRACK(FH_SDDF | 4), "\\Device\\Harddisk109\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf5", BRACK(FH_SDDF | 5), "\\Device\\Harddisk109\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf6", BRACK(FH_SDDF | 6), "\\Device\\Harddisk109\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf7", BRACK(FH_SDDF | 7), "\\Device\\Harddisk109\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf8", BRACK(FH_SDDF | 8), "\\Device\\Harddisk109\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf9", BRACK(FH_SDDF | 9), "\\Device\\Harddisk109\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf10", BRACK(FH_SDDF | 10), "\\Device\\Harddisk109\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf11", BRACK(FH_SDDF | 11), "\\Device\\Harddisk109\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf12", BRACK(FH_SDDF | 12), "\\Device\\Harddisk109\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf13", BRACK(FH_SDDF | 13), "\\Device\\Harddisk109\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf14", BRACK(FH_SDDF | 14), "\\Device\\Harddisk109\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf15", BRACK(FH_SDDF | 15), "\\Device\\Harddisk109\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg1", BRACK(FH_SDDG | 1), "\\Device\\Harddisk110\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg2", BRACK(FH_SDDG | 2), "\\Device\\Harddisk110\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg3", BRACK(FH_SDDG | 3), "\\Device\\Harddisk110\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg4", BRACK(FH_SDDG | 4), "\\Device\\Harddisk110\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg5", BRACK(FH_SDDG | 5), "\\Device\\Harddisk110\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg6", BRACK(FH_SDDG | 6), "\\Device\\Harddisk110\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg7", BRACK(FH_SDDG | 7), "\\Device\\Harddisk110\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg8", BRACK(FH_SDDG | 8), "\\Device\\Harddisk110\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg9", BRACK(FH_SDDG | 9), "\\Device\\Harddisk110\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg10", BRACK(FH_SDDG | 10), "\\Device\\Harddisk110\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg11", BRACK(FH_SDDG | 11), "\\Device\\Harddisk110\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg12", BRACK(FH_SDDG | 12), "\\Device\\Harddisk110\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg13", BRACK(FH_SDDG | 13), "\\Device\\Harddisk110\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg14", BRACK(FH_SDDG | 14), "\\Device\\Harddisk110\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg15", BRACK(FH_SDDG | 15), "\\Device\\Harddisk110\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh1", BRACK(FH_SDDH | 1), "\\Device\\Harddisk111\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh2", BRACK(FH_SDDH | 2), "\\Device\\Harddisk111\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh3", BRACK(FH_SDDH | 3), "\\Device\\Harddisk111\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh4", BRACK(FH_SDDH | 4), "\\Device\\Harddisk111\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh5", BRACK(FH_SDDH | 5), "\\Device\\Harddisk111\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh6", BRACK(FH_SDDH | 6), "\\Device\\Harddisk111\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh7", BRACK(FH_SDDH | 7), "\\Device\\Harddisk111\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh8", BRACK(FH_SDDH | 8), "\\Device\\Harddisk111\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh9", BRACK(FH_SDDH | 9), "\\Device\\Harddisk111\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh10", BRACK(FH_SDDH | 10), "\\Device\\Harddisk111\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh11", BRACK(FH_SDDH | 11), "\\Device\\Harddisk111\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh12", BRACK(FH_SDDH | 12), "\\Device\\Harddisk111\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh13", BRACK(FH_SDDH | 13), "\\Device\\Harddisk111\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh14", BRACK(FH_SDDH | 14), "\\Device\\Harddisk111\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh15", BRACK(FH_SDDH | 15), "\\Device\\Harddisk111\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi1", BRACK(FH_SDDI | 1), "\\Device\\Harddisk112\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi2", BRACK(FH_SDDI | 2), "\\Device\\Harddisk112\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi3", BRACK(FH_SDDI | 3), "\\Device\\Harddisk112\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi4", BRACK(FH_SDDI | 4), "\\Device\\Harddisk112\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi5", BRACK(FH_SDDI | 5), "\\Device\\Harddisk112\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi6", BRACK(FH_SDDI | 6), "\\Device\\Harddisk112\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi7", BRACK(FH_SDDI | 7), "\\Device\\Harddisk112\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi8", BRACK(FH_SDDI | 8), "\\Device\\Harddisk112\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi9", BRACK(FH_SDDI | 9), "\\Device\\Harddisk112\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi10", BRACK(FH_SDDI | 10), "\\Device\\Harddisk112\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi11", BRACK(FH_SDDI | 11), "\\Device\\Harddisk112\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi12", BRACK(FH_SDDI | 12), "\\Device\\Harddisk112\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi13", BRACK(FH_SDDI | 13), "\\Device\\Harddisk112\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi14", BRACK(FH_SDDI | 14), "\\Device\\Harddisk112\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi15", BRACK(FH_SDDI | 15), "\\Device\\Harddisk112\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj1", BRACK(FH_SDDJ | 1), "\\Device\\Harddisk113\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj2", BRACK(FH_SDDJ | 2), "\\Device\\Harddisk113\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj3", BRACK(FH_SDDJ | 3), "\\Device\\Harddisk113\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj4", BRACK(FH_SDDJ | 4), "\\Device\\Harddisk113\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj5", BRACK(FH_SDDJ | 5), "\\Device\\Harddisk113\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj6", BRACK(FH_SDDJ | 6), "\\Device\\Harddisk113\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj7", BRACK(FH_SDDJ | 7), "\\Device\\Harddisk113\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj8", BRACK(FH_SDDJ | 8), "\\Device\\Harddisk113\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj9", BRACK(FH_SDDJ | 9), "\\Device\\Harddisk113\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj10", BRACK(FH_SDDJ | 10), "\\Device\\Harddisk113\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj11", BRACK(FH_SDDJ | 11), "\\Device\\Harddisk113\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj12", BRACK(FH_SDDJ | 12), "\\Device\\Harddisk113\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj13", BRACK(FH_SDDJ | 13), "\\Device\\Harddisk113\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj14", BRACK(FH_SDDJ | 14), "\\Device\\Harddisk113\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj15", BRACK(FH_SDDJ | 15), "\\Device\\Harddisk113\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk1", BRACK(FH_SDDK | 1), "\\Device\\Harddisk114\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk2", BRACK(FH_SDDK | 2), "\\Device\\Harddisk114\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk3", BRACK(FH_SDDK | 3), "\\Device\\Harddisk114\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk4", BRACK(FH_SDDK | 4), "\\Device\\Harddisk114\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk5", BRACK(FH_SDDK | 5), "\\Device\\Harddisk114\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk6", BRACK(FH_SDDK | 6), "\\Device\\Harddisk114\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk7", BRACK(FH_SDDK | 7), "\\Device\\Harddisk114\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk8", BRACK(FH_SDDK | 8), "\\Device\\Harddisk114\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk9", BRACK(FH_SDDK | 9), "\\Device\\Harddisk114\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk10", BRACK(FH_SDDK | 10), "\\Device\\Harddisk114\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk11", BRACK(FH_SDDK | 11), "\\Device\\Harddisk114\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk12", BRACK(FH_SDDK | 12), "\\Device\\Harddisk114\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk13", BRACK(FH_SDDK | 13), "\\Device\\Harddisk114\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk14", BRACK(FH_SDDK | 14), "\\Device\\Harddisk114\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk15", BRACK(FH_SDDK | 15), "\\Device\\Harddisk114\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl1", BRACK(FH_SDDL | 1), "\\Device\\Harddisk115\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl2", BRACK(FH_SDDL | 2), "\\Device\\Harddisk115\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl3", BRACK(FH_SDDL | 3), "\\Device\\Harddisk115\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl4", BRACK(FH_SDDL | 4), "\\Device\\Harddisk115\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl5", BRACK(FH_SDDL | 5), "\\Device\\Harddisk115\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl6", BRACK(FH_SDDL | 6), "\\Device\\Harddisk115\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl7", BRACK(FH_SDDL | 7), "\\Device\\Harddisk115\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl8", BRACK(FH_SDDL | 8), "\\Device\\Harddisk115\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl9", BRACK(FH_SDDL | 9), "\\Device\\Harddisk115\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl10", BRACK(FH_SDDL | 10), "\\Device\\Harddisk115\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl11", BRACK(FH_SDDL | 11), "\\Device\\Harddisk115\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl12", BRACK(FH_SDDL | 12), "\\Device\\Harddisk115\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl13", BRACK(FH_SDDL | 13), "\\Device\\Harddisk115\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl14", BRACK(FH_SDDL | 14), "\\Device\\Harddisk115\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl15", BRACK(FH_SDDL | 15), "\\Device\\Harddisk115\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm1", BRACK(FH_SDDM | 1), "\\Device\\Harddisk116\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm2", BRACK(FH_SDDM | 2), "\\Device\\Harddisk116\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm3", BRACK(FH_SDDM | 3), "\\Device\\Harddisk116\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm4", BRACK(FH_SDDM | 4), "\\Device\\Harddisk116\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm5", BRACK(FH_SDDM | 5), "\\Device\\Harddisk116\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm6", BRACK(FH_SDDM | 6), "\\Device\\Harddisk116\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm7", BRACK(FH_SDDM | 7), "\\Device\\Harddisk116\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm8", BRACK(FH_SDDM | 8), "\\Device\\Harddisk116\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm9", BRACK(FH_SDDM | 9), "\\Device\\Harddisk116\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm10", BRACK(FH_SDDM | 10), "\\Device\\Harddisk116\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm11", BRACK(FH_SDDM | 11), "\\Device\\Harddisk116\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm12", BRACK(FH_SDDM | 12), "\\Device\\Harddisk116\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm13", BRACK(FH_SDDM | 13), "\\Device\\Harddisk116\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm14", BRACK(FH_SDDM | 14), "\\Device\\Harddisk116\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm15", BRACK(FH_SDDM | 15), "\\Device\\Harddisk116\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn1", BRACK(FH_SDDN | 1), "\\Device\\Harddisk117\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn2", BRACK(FH_SDDN | 2), "\\Device\\Harddisk117\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn3", BRACK(FH_SDDN | 3), "\\Device\\Harddisk117\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn4", BRACK(FH_SDDN | 4), "\\Device\\Harddisk117\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn5", BRACK(FH_SDDN | 5), "\\Device\\Harddisk117\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn6", BRACK(FH_SDDN | 6), "\\Device\\Harddisk117\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn7", BRACK(FH_SDDN | 7), "\\Device\\Harddisk117\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn8", BRACK(FH_SDDN | 8), "\\Device\\Harddisk117\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn9", BRACK(FH_SDDN | 9), "\\Device\\Harddisk117\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn10", BRACK(FH_SDDN | 10), "\\Device\\Harddisk117\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn11", BRACK(FH_SDDN | 11), "\\Device\\Harddisk117\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn12", BRACK(FH_SDDN | 12), "\\Device\\Harddisk117\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn13", BRACK(FH_SDDN | 13), "\\Device\\Harddisk117\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn14", BRACK(FH_SDDN | 14), "\\Device\\Harddisk117\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn15", BRACK(FH_SDDN | 15), "\\Device\\Harddisk117\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo1", BRACK(FH_SDDO | 1), "\\Device\\Harddisk118\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo2", BRACK(FH_SDDO | 2), "\\Device\\Harddisk118\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo3", BRACK(FH_SDDO | 3), "\\Device\\Harddisk118\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo4", BRACK(FH_SDDO | 4), "\\Device\\Harddisk118\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo5", BRACK(FH_SDDO | 5), "\\Device\\Harddisk118\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo6", BRACK(FH_SDDO | 6), "\\Device\\Harddisk118\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo7", BRACK(FH_SDDO | 7), "\\Device\\Harddisk118\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo8", BRACK(FH_SDDO | 8), "\\Device\\Harddisk118\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo9", BRACK(FH_SDDO | 9), "\\Device\\Harddisk118\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo10", BRACK(FH_SDDO | 10), "\\Device\\Harddisk118\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo11", BRACK(FH_SDDO | 11), "\\Device\\Harddisk118\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo12", BRACK(FH_SDDO | 12), "\\Device\\Harddisk118\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo13", BRACK(FH_SDDO | 13), "\\Device\\Harddisk118\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo14", BRACK(FH_SDDO | 14), "\\Device\\Harddisk118\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo15", BRACK(FH_SDDO | 15), "\\Device\\Harddisk118\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp1", BRACK(FH_SDDP | 1), "\\Device\\Harddisk119\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp2", BRACK(FH_SDDP | 2), "\\Device\\Harddisk119\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp3", BRACK(FH_SDDP | 3), "\\Device\\Harddisk119\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp4", BRACK(FH_SDDP | 4), "\\Device\\Harddisk119\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp5", BRACK(FH_SDDP | 5), "\\Device\\Harddisk119\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp6", BRACK(FH_SDDP | 6), "\\Device\\Harddisk119\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp7", BRACK(FH_SDDP | 7), "\\Device\\Harddisk119\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp8", BRACK(FH_SDDP | 8), "\\Device\\Harddisk119\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp9", BRACK(FH_SDDP | 9), "\\Device\\Harddisk119\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp10", BRACK(FH_SDDP | 10), "\\Device\\Harddisk119\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp11", BRACK(FH_SDDP | 11), "\\Device\\Harddisk119\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp12", BRACK(FH_SDDP | 12), "\\Device\\Harddisk119\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp13", BRACK(FH_SDDP | 13), "\\Device\\Harddisk119\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp14", BRACK(FH_SDDP | 14), "\\Device\\Harddisk119\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp15", BRACK(FH_SDDP | 15), "\\Device\\Harddisk119\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq1", BRACK(FH_SDDQ | 1), "\\Device\\Harddisk120\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq2", BRACK(FH_SDDQ | 2), "\\Device\\Harddisk120\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq3", BRACK(FH_SDDQ | 3), "\\Device\\Harddisk120\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq4", BRACK(FH_SDDQ | 4), "\\Device\\Harddisk120\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq5", BRACK(FH_SDDQ | 5), "\\Device\\Harddisk120\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq6", BRACK(FH_SDDQ | 6), "\\Device\\Harddisk120\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq7", BRACK(FH_SDDQ | 7), "\\Device\\Harddisk120\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq8", BRACK(FH_SDDQ | 8), "\\Device\\Harddisk120\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq9", BRACK(FH_SDDQ | 9), "\\Device\\Harddisk120\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq10", BRACK(FH_SDDQ | 10), "\\Device\\Harddisk120\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq11", BRACK(FH_SDDQ | 11), "\\Device\\Harddisk120\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq12", BRACK(FH_SDDQ | 12), "\\Device\\Harddisk120\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq13", BRACK(FH_SDDQ | 13), "\\Device\\Harddisk120\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq14", BRACK(FH_SDDQ | 14), "\\Device\\Harddisk120\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq15", BRACK(FH_SDDQ | 15), "\\Device\\Harddisk120\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr1", BRACK(FH_SDDR | 1), "\\Device\\Harddisk121\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr2", BRACK(FH_SDDR | 2), "\\Device\\Harddisk121\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr3", BRACK(FH_SDDR | 3), "\\Device\\Harddisk121\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr4", BRACK(FH_SDDR | 4), "\\Device\\Harddisk121\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr5", BRACK(FH_SDDR | 5), "\\Device\\Harddisk121\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr6", BRACK(FH_SDDR | 6), "\\Device\\Harddisk121\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr7", BRACK(FH_SDDR | 7), "\\Device\\Harddisk121\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr8", BRACK(FH_SDDR | 8), "\\Device\\Harddisk121\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr9", BRACK(FH_SDDR | 9), "\\Device\\Harddisk121\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr10", BRACK(FH_SDDR | 10), "\\Device\\Harddisk121\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr11", BRACK(FH_SDDR | 11), "\\Device\\Harddisk121\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr12", BRACK(FH_SDDR | 12), "\\Device\\Harddisk121\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr13", BRACK(FH_SDDR | 13), "\\Device\\Harddisk121\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr14", BRACK(FH_SDDR | 14), "\\Device\\Harddisk121\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr15", BRACK(FH_SDDR | 15), "\\Device\\Harddisk121\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds1", BRACK(FH_SDDS | 1), "\\Device\\Harddisk122\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds2", BRACK(FH_SDDS | 2), "\\Device\\Harddisk122\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds3", BRACK(FH_SDDS | 3), "\\Device\\Harddisk122\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds4", BRACK(FH_SDDS | 4), "\\Device\\Harddisk122\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds5", BRACK(FH_SDDS | 5), "\\Device\\Harddisk122\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds6", BRACK(FH_SDDS | 6), "\\Device\\Harddisk122\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds7", BRACK(FH_SDDS | 7), "\\Device\\Harddisk122\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds8", BRACK(FH_SDDS | 8), "\\Device\\Harddisk122\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds9", BRACK(FH_SDDS | 9), "\\Device\\Harddisk122\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds10", BRACK(FH_SDDS | 10), "\\Device\\Harddisk122\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds11", BRACK(FH_SDDS | 11), "\\Device\\Harddisk122\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds12", BRACK(FH_SDDS | 12), "\\Device\\Harddisk122\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds13", BRACK(FH_SDDS | 13), "\\Device\\Harddisk122\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds14", BRACK(FH_SDDS | 14), "\\Device\\Harddisk122\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds15", BRACK(FH_SDDS | 15), "\\Device\\Harddisk122\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt1", BRACK(FH_SDDT | 1), "\\Device\\Harddisk123\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt2", BRACK(FH_SDDT | 2), "\\Device\\Harddisk123\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt3", BRACK(FH_SDDT | 3), "\\Device\\Harddisk123\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt4", BRACK(FH_SDDT | 4), "\\Device\\Harddisk123\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt5", BRACK(FH_SDDT | 5), "\\Device\\Harddisk123\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt6", BRACK(FH_SDDT | 6), "\\Device\\Harddisk123\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt7", BRACK(FH_SDDT | 7), "\\Device\\Harddisk123\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt8", BRACK(FH_SDDT | 8), "\\Device\\Harddisk123\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt9", BRACK(FH_SDDT | 9), "\\Device\\Harddisk123\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt10", BRACK(FH_SDDT | 10), "\\Device\\Harddisk123\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt11", BRACK(FH_SDDT | 11), "\\Device\\Harddisk123\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt12", BRACK(FH_SDDT | 12), "\\Device\\Harddisk123\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt13", BRACK(FH_SDDT | 13), "\\Device\\Harddisk123\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt14", BRACK(FH_SDDT | 14), "\\Device\\Harddisk123\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt15", BRACK(FH_SDDT | 15), "\\Device\\Harddisk123\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu1", BRACK(FH_SDDU | 1), "\\Device\\Harddisk124\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu2", BRACK(FH_SDDU | 2), "\\Device\\Harddisk124\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu3", BRACK(FH_SDDU | 3), "\\Device\\Harddisk124\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu4", BRACK(FH_SDDU | 4), "\\Device\\Harddisk124\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu5", BRACK(FH_SDDU | 5), "\\Device\\Harddisk124\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu6", BRACK(FH_SDDU | 6), "\\Device\\Harddisk124\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu7", BRACK(FH_SDDU | 7), "\\Device\\Harddisk124\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu8", BRACK(FH_SDDU | 8), "\\Device\\Harddisk124\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu9", BRACK(FH_SDDU | 9), "\\Device\\Harddisk124\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu10", BRACK(FH_SDDU | 10), "\\Device\\Harddisk124\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu11", BRACK(FH_SDDU | 11), "\\Device\\Harddisk124\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu12", BRACK(FH_SDDU | 12), "\\Device\\Harddisk124\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu13", BRACK(FH_SDDU | 13), "\\Device\\Harddisk124\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu14", BRACK(FH_SDDU | 14), "\\Device\\Harddisk124\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu15", BRACK(FH_SDDU | 15), "\\Device\\Harddisk124\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv1", BRACK(FH_SDDV | 1), "\\Device\\Harddisk125\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv2", BRACK(FH_SDDV | 2), "\\Device\\Harddisk125\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv3", BRACK(FH_SDDV | 3), "\\Device\\Harddisk125\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv4", BRACK(FH_SDDV | 4), "\\Device\\Harddisk125\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv5", BRACK(FH_SDDV | 5), "\\Device\\Harddisk125\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv6", BRACK(FH_SDDV | 6), "\\Device\\Harddisk125\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv7", BRACK(FH_SDDV | 7), "\\Device\\Harddisk125\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv8", BRACK(FH_SDDV | 8), "\\Device\\Harddisk125\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv9", BRACK(FH_SDDV | 9), "\\Device\\Harddisk125\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv10", BRACK(FH_SDDV | 10), "\\Device\\Harddisk125\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv11", BRACK(FH_SDDV | 11), "\\Device\\Harddisk125\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv12", BRACK(FH_SDDV | 12), "\\Device\\Harddisk125\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv13", BRACK(FH_SDDV | 13), "\\Device\\Harddisk125\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv14", BRACK(FH_SDDV | 14), "\\Device\\Harddisk125\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv15", BRACK(FH_SDDV | 15), "\\Device\\Harddisk125\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw1", BRACK(FH_SDDW | 1), "\\Device\\Harddisk126\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw2", BRACK(FH_SDDW | 2), "\\Device\\Harddisk126\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw3", BRACK(FH_SDDW | 3), "\\Device\\Harddisk126\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw4", BRACK(FH_SDDW | 4), "\\Device\\Harddisk126\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw5", BRACK(FH_SDDW | 5), "\\Device\\Harddisk126\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw6", BRACK(FH_SDDW | 6), "\\Device\\Harddisk126\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw7", BRACK(FH_SDDW | 7), "\\Device\\Harddisk126\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw8", BRACK(FH_SDDW | 8), "\\Device\\Harddisk126\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw9", BRACK(FH_SDDW | 9), "\\Device\\Harddisk126\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw10", BRACK(FH_SDDW | 10), "\\Device\\Harddisk126\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw11", BRACK(FH_SDDW | 11), "\\Device\\Harddisk126\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw12", BRACK(FH_SDDW | 12), "\\Device\\Harddisk126\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw13", BRACK(FH_SDDW | 13), "\\Device\\Harddisk126\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw14", BRACK(FH_SDDW | 14), "\\Device\\Harddisk126\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw15", BRACK(FH_SDDW | 15), "\\Device\\Harddisk126\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx1", BRACK(FH_SDDX | 1), "\\Device\\Harddisk127\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx2", BRACK(FH_SDDX | 2), "\\Device\\Harddisk127\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx3", BRACK(FH_SDDX | 3), "\\Device\\Harddisk127\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx4", BRACK(FH_SDDX | 4), "\\Device\\Harddisk127\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx5", BRACK(FH_SDDX | 5), "\\Device\\Harddisk127\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx6", BRACK(FH_SDDX | 6), "\\Device\\Harddisk127\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx7", BRACK(FH_SDDX | 7), "\\Device\\Harddisk127\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx8", BRACK(FH_SDDX | 8), "\\Device\\Harddisk127\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx9", BRACK(FH_SDDX | 9), "\\Device\\Harddisk127\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx10", BRACK(FH_SDDX | 10), "\\Device\\Harddisk127\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx11", BRACK(FH_SDDX | 11), "\\Device\\Harddisk127\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx12", BRACK(FH_SDDX | 12), "\\Device\\Harddisk127\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx13", BRACK(FH_SDDX | 13), "\\Device\\Harddisk127\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx14", BRACK(FH_SDDX | 14), "\\Device\\Harddisk127\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx15", BRACK(FH_SDDX | 15), "\\Device\\Harddisk127\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sr0", BRACK(FHDEV(DEV_CDROM_MAJOR, 0)), "\\Device\\CdRom0", exists_ntdev, S_IFBLK, true},
- {"/dev/sr1", BRACK(FHDEV(DEV_CDROM_MAJOR, 1)), "\\Device\\CdRom1", exists_ntdev, S_IFBLK, true},
- {"/dev/sr2", BRACK(FHDEV(DEV_CDROM_MAJOR, 2)), "\\Device\\CdRom2", exists_ntdev, S_IFBLK, true},
- {"/dev/sr3", BRACK(FHDEV(DEV_CDROM_MAJOR, 3)), "\\Device\\CdRom3", exists_ntdev, S_IFBLK, true},
- {"/dev/sr4", BRACK(FHDEV(DEV_CDROM_MAJOR, 4)), "\\Device\\CdRom4", exists_ntdev, S_IFBLK, true},
- {"/dev/sr5", BRACK(FHDEV(DEV_CDROM_MAJOR, 5)), "\\Device\\CdRom5", exists_ntdev, S_IFBLK, true},
- {"/dev/sr6", BRACK(FHDEV(DEV_CDROM_MAJOR, 6)), "\\Device\\CdRom6", exists_ntdev, S_IFBLK, true},
- {"/dev/sr7", BRACK(FHDEV(DEV_CDROM_MAJOR, 7)), "\\Device\\CdRom7", exists_ntdev, S_IFBLK, true},
- {"/dev/sr8", BRACK(FHDEV(DEV_CDROM_MAJOR, 8)), "\\Device\\CdRom8", exists_ntdev, S_IFBLK, true},
- {"/dev/sr9", BRACK(FHDEV(DEV_CDROM_MAJOR, 9)), "\\Device\\CdRom9", exists_ntdev, S_IFBLK, true},
- {"/dev/sr10", BRACK(FHDEV(DEV_CDROM_MAJOR, 10)), "\\Device\\CdRom10", exists_ntdev, S_IFBLK, true},
- {"/dev/sr11", BRACK(FHDEV(DEV_CDROM_MAJOR, 11)), "\\Device\\CdRom11", exists_ntdev, S_IFBLK, true},
- {"/dev/sr12", BRACK(FHDEV(DEV_CDROM_MAJOR, 12)), "\\Device\\CdRom12", exists_ntdev, S_IFBLK, true},
- {"/dev/sr13", BRACK(FHDEV(DEV_CDROM_MAJOR, 13)), "\\Device\\CdRom13", exists_ntdev, S_IFBLK, true},
- {"/dev/sr14", BRACK(FHDEV(DEV_CDROM_MAJOR, 14)), "\\Device\\CdRom14", exists_ntdev, S_IFBLK, true},
- {"/dev/sr15", BRACK(FHDEV(DEV_CDROM_MAJOR, 15)), "\\Device\\CdRom15", exists_ntdev, S_IFBLK, true},
- {"/dev/st0", BRACK(FHDEV(DEV_TAPE_MAJOR, 0)), "\\Device\\Tape0", exists_ntdev, S_IFBLK, true},
- {"/dev/st1", BRACK(FHDEV(DEV_TAPE_MAJOR, 1)), "\\Device\\Tape1", exists_ntdev, S_IFBLK, true},
- {"/dev/st2", BRACK(FHDEV(DEV_TAPE_MAJOR, 2)), "\\Device\\Tape2", exists_ntdev, S_IFBLK, true},
- {"/dev/st3", BRACK(FHDEV(DEV_TAPE_MAJOR, 3)), "\\Device\\Tape3", exists_ntdev, S_IFBLK, true},
- {"/dev/st4", BRACK(FHDEV(DEV_TAPE_MAJOR, 4)), "\\Device\\Tape4", exists_ntdev, S_IFBLK, true},
- {"/dev/st5", BRACK(FHDEV(DEV_TAPE_MAJOR, 5)), "\\Device\\Tape5", exists_ntdev, S_IFBLK, true},
- {"/dev/st6", BRACK(FHDEV(DEV_TAPE_MAJOR, 6)), "\\Device\\Tape6", exists_ntdev, S_IFBLK, true},
- {"/dev/st7", BRACK(FHDEV(DEV_TAPE_MAJOR, 7)), "\\Device\\Tape7", exists_ntdev, S_IFBLK, true},
- {"/dev/st8", BRACK(FHDEV(DEV_TAPE_MAJOR, 8)), "\\Device\\Tape8", exists_ntdev, S_IFBLK, true},
- {"/dev/st9", BRACK(FHDEV(DEV_TAPE_MAJOR, 9)), "\\Device\\Tape9", exists_ntdev, S_IFBLK, true},
- {"/dev/st10", BRACK(FHDEV(DEV_TAPE_MAJOR, 10)), "\\Device\\Tape10", exists_ntdev, S_IFBLK, true},
- {"/dev/st11", BRACK(FHDEV(DEV_TAPE_MAJOR, 11)), "\\Device\\Tape11", exists_ntdev, S_IFBLK, true},
- {"/dev/st12", BRACK(FHDEV(DEV_TAPE_MAJOR, 12)), "\\Device\\Tape12", exists_ntdev, S_IFBLK, true},
- {"/dev/st13", BRACK(FHDEV(DEV_TAPE_MAJOR, 13)), "\\Device\\Tape13", exists_ntdev, S_IFBLK, true},
- {"/dev/st14", BRACK(FHDEV(DEV_TAPE_MAJOR, 14)), "\\Device\\Tape14", exists_ntdev, S_IFBLK, true},
- {"/dev/st15", BRACK(FHDEV(DEV_TAPE_MAJOR, 15)), "\\Device\\Tape15", exists_ntdev, S_IFBLK, true},
- {"/dev/st16", BRACK(FHDEV(DEV_TAPE_MAJOR, 16)), "\\Device\\Tape16", exists_ntdev, S_IFBLK, true},
- {"/dev/st17", BRACK(FHDEV(DEV_TAPE_MAJOR, 17)), "\\Device\\Tape17", exists_ntdev, S_IFBLK, true},
- {"/dev/st18", BRACK(FHDEV(DEV_TAPE_MAJOR, 18)), "\\Device\\Tape18", exists_ntdev, S_IFBLK, true},
- {"/dev/st19", BRACK(FHDEV(DEV_TAPE_MAJOR, 19)), "\\Device\\Tape19", exists_ntdev, S_IFBLK, true},
- {"/dev/st20", BRACK(FHDEV(DEV_TAPE_MAJOR, 20)), "\\Device\\Tape20", exists_ntdev, S_IFBLK, true},
- {"/dev/st21", BRACK(FHDEV(DEV_TAPE_MAJOR, 21)), "\\Device\\Tape21", exists_ntdev, S_IFBLK, true},
- {"/dev/st22", BRACK(FHDEV(DEV_TAPE_MAJOR, 22)), "\\Device\\Tape22", exists_ntdev, S_IFBLK, true},
- {"/dev/st23", BRACK(FHDEV(DEV_TAPE_MAJOR, 23)), "\\Device\\Tape23", exists_ntdev, S_IFBLK, true},
- {"/dev/st24", BRACK(FHDEV(DEV_TAPE_MAJOR, 24)), "\\Device\\Tape24", exists_ntdev, S_IFBLK, true},
- {"/dev/st25", BRACK(FHDEV(DEV_TAPE_MAJOR, 25)), "\\Device\\Tape25", exists_ntdev, S_IFBLK, true},
- {"/dev/st26", BRACK(FHDEV(DEV_TAPE_MAJOR, 26)), "\\Device\\Tape26", exists_ntdev, S_IFBLK, true},
- {"/dev/st27", BRACK(FHDEV(DEV_TAPE_MAJOR, 27)), "\\Device\\Tape27", exists_ntdev, S_IFBLK, true},
- {"/dev/st28", BRACK(FHDEV(DEV_TAPE_MAJOR, 28)), "\\Device\\Tape28", exists_ntdev, S_IFBLK, true},
- {"/dev/st29", BRACK(FHDEV(DEV_TAPE_MAJOR, 29)), "\\Device\\Tape29", exists_ntdev, S_IFBLK, true},
- {"/dev/st30", BRACK(FHDEV(DEV_TAPE_MAJOR, 30)), "\\Device\\Tape30", exists_ntdev, S_IFBLK, true},
- {"/dev/st31", BRACK(FHDEV(DEV_TAPE_MAJOR, 31)), "\\Device\\Tape31", exists_ntdev, S_IFBLK, true},
- {"/dev/st32", BRACK(FHDEV(DEV_TAPE_MAJOR, 32)), "\\Device\\Tape32", exists_ntdev, S_IFBLK, true},
- {"/dev/st33", BRACK(FHDEV(DEV_TAPE_MAJOR, 33)), "\\Device\\Tape33", exists_ntdev, S_IFBLK, true},
- {"/dev/st34", BRACK(FHDEV(DEV_TAPE_MAJOR, 34)), "\\Device\\Tape34", exists_ntdev, S_IFBLK, true},
- {"/dev/st35", BRACK(FHDEV(DEV_TAPE_MAJOR, 35)), "\\Device\\Tape35", exists_ntdev, S_IFBLK, true},
- {"/dev/st36", BRACK(FHDEV(DEV_TAPE_MAJOR, 36)), "\\Device\\Tape36", exists_ntdev, S_IFBLK, true},
- {"/dev/st37", BRACK(FHDEV(DEV_TAPE_MAJOR, 37)), "\\Device\\Tape37", exists_ntdev, S_IFBLK, true},
- {"/dev/st38", BRACK(FHDEV(DEV_TAPE_MAJOR, 38)), "\\Device\\Tape38", exists_ntdev, S_IFBLK, true},
- {"/dev/st39", BRACK(FHDEV(DEV_TAPE_MAJOR, 39)), "\\Device\\Tape39", exists_ntdev, S_IFBLK, true},
- {"/dev/st40", BRACK(FHDEV(DEV_TAPE_MAJOR, 40)), "\\Device\\Tape40", exists_ntdev, S_IFBLK, true},
- {"/dev/st41", BRACK(FHDEV(DEV_TAPE_MAJOR, 41)), "\\Device\\Tape41", exists_ntdev, S_IFBLK, true},
- {"/dev/st42", BRACK(FHDEV(DEV_TAPE_MAJOR, 42)), "\\Device\\Tape42", exists_ntdev, S_IFBLK, true},
- {"/dev/st43", BRACK(FHDEV(DEV_TAPE_MAJOR, 43)), "\\Device\\Tape43", exists_ntdev, S_IFBLK, true},
- {"/dev/st44", BRACK(FHDEV(DEV_TAPE_MAJOR, 44)), "\\Device\\Tape44", exists_ntdev, S_IFBLK, true},
- {"/dev/st45", BRACK(FHDEV(DEV_TAPE_MAJOR, 45)), "\\Device\\Tape45", exists_ntdev, S_IFBLK, true},
- {"/dev/st46", BRACK(FHDEV(DEV_TAPE_MAJOR, 46)), "\\Device\\Tape46", exists_ntdev, S_IFBLK, true},
- {"/dev/st47", BRACK(FHDEV(DEV_TAPE_MAJOR, 47)), "\\Device\\Tape47", exists_ntdev, S_IFBLK, true},
- {"/dev/st48", BRACK(FHDEV(DEV_TAPE_MAJOR, 48)), "\\Device\\Tape48", exists_ntdev, S_IFBLK, true},
- {"/dev/st49", BRACK(FHDEV(DEV_TAPE_MAJOR, 49)), "\\Device\\Tape49", exists_ntdev, S_IFBLK, true},
- {"/dev/st50", BRACK(FHDEV(DEV_TAPE_MAJOR, 50)), "\\Device\\Tape50", exists_ntdev, S_IFBLK, true},
- {"/dev/st51", BRACK(FHDEV(DEV_TAPE_MAJOR, 51)), "\\Device\\Tape51", exists_ntdev, S_IFBLK, true},
- {"/dev/st52", BRACK(FHDEV(DEV_TAPE_MAJOR, 52)), "\\Device\\Tape52", exists_ntdev, S_IFBLK, true},
- {"/dev/st53", BRACK(FHDEV(DEV_TAPE_MAJOR, 53)), "\\Device\\Tape53", exists_ntdev, S_IFBLK, true},
- {"/dev/st54", BRACK(FHDEV(DEV_TAPE_MAJOR, 54)), "\\Device\\Tape54", exists_ntdev, S_IFBLK, true},
- {"/dev/st55", BRACK(FHDEV(DEV_TAPE_MAJOR, 55)), "\\Device\\Tape55", exists_ntdev, S_IFBLK, true},
- {"/dev/st56", BRACK(FHDEV(DEV_TAPE_MAJOR, 56)), "\\Device\\Tape56", exists_ntdev, S_IFBLK, true},
- {"/dev/st57", BRACK(FHDEV(DEV_TAPE_MAJOR, 57)), "\\Device\\Tape57", exists_ntdev, S_IFBLK, true},
- {"/dev/st58", BRACK(FHDEV(DEV_TAPE_MAJOR, 58)), "\\Device\\Tape58", exists_ntdev, S_IFBLK, true},
- {"/dev/st59", BRACK(FHDEV(DEV_TAPE_MAJOR, 59)), "\\Device\\Tape59", exists_ntdev, S_IFBLK, true},
- {"/dev/st60", BRACK(FHDEV(DEV_TAPE_MAJOR, 60)), "\\Device\\Tape60", exists_ntdev, S_IFBLK, true},
- {"/dev/st61", BRACK(FHDEV(DEV_TAPE_MAJOR, 61)), "\\Device\\Tape61", exists_ntdev, S_IFBLK, true},
- {"/dev/st62", BRACK(FHDEV(DEV_TAPE_MAJOR, 62)), "\\Device\\Tape62", exists_ntdev, S_IFBLK, true},
- {"/dev/st63", BRACK(FHDEV(DEV_TAPE_MAJOR, 63)), "\\Device\\Tape63", exists_ntdev, S_IFBLK, true},
- {"/dev/st64", BRACK(FHDEV(DEV_TAPE_MAJOR, 64)), "\\Device\\Tape64", exists_ntdev, S_IFBLK, true},
- {"/dev/st65", BRACK(FHDEV(DEV_TAPE_MAJOR, 65)), "\\Device\\Tape65", exists_ntdev, S_IFBLK, true},
- {"/dev/st66", BRACK(FHDEV(DEV_TAPE_MAJOR, 66)), "\\Device\\Tape66", exists_ntdev, S_IFBLK, true},
- {"/dev/st67", BRACK(FHDEV(DEV_TAPE_MAJOR, 67)), "\\Device\\Tape67", exists_ntdev, S_IFBLK, true},
- {"/dev/st68", BRACK(FHDEV(DEV_TAPE_MAJOR, 68)), "\\Device\\Tape68", exists_ntdev, S_IFBLK, true},
- {"/dev/st69", BRACK(FHDEV(DEV_TAPE_MAJOR, 69)), "\\Device\\Tape69", exists_ntdev, S_IFBLK, true},
- {"/dev/st70", BRACK(FHDEV(DEV_TAPE_MAJOR, 70)), "\\Device\\Tape70", exists_ntdev, S_IFBLK, true},
- {"/dev/st71", BRACK(FHDEV(DEV_TAPE_MAJOR, 71)), "\\Device\\Tape71", exists_ntdev, S_IFBLK, true},
- {"/dev/st72", BRACK(FHDEV(DEV_TAPE_MAJOR, 72)), "\\Device\\Tape72", exists_ntdev, S_IFBLK, true},
- {"/dev/st73", BRACK(FHDEV(DEV_TAPE_MAJOR, 73)), "\\Device\\Tape73", exists_ntdev, S_IFBLK, true},
- {"/dev/st74", BRACK(FHDEV(DEV_TAPE_MAJOR, 74)), "\\Device\\Tape74", exists_ntdev, S_IFBLK, true},
- {"/dev/st75", BRACK(FHDEV(DEV_TAPE_MAJOR, 75)), "\\Device\\Tape75", exists_ntdev, S_IFBLK, true},
- {"/dev/st76", BRACK(FHDEV(DEV_TAPE_MAJOR, 76)), "\\Device\\Tape76", exists_ntdev, S_IFBLK, true},
- {"/dev/st77", BRACK(FHDEV(DEV_TAPE_MAJOR, 77)), "\\Device\\Tape77", exists_ntdev, S_IFBLK, true},
- {"/dev/st78", BRACK(FHDEV(DEV_TAPE_MAJOR, 78)), "\\Device\\Tape78", exists_ntdev, S_IFBLK, true},
- {"/dev/st79", BRACK(FHDEV(DEV_TAPE_MAJOR, 79)), "\\Device\\Tape79", exists_ntdev, S_IFBLK, true},
- {"/dev/st80", BRACK(FHDEV(DEV_TAPE_MAJOR, 80)), "\\Device\\Tape80", exists_ntdev, S_IFBLK, true},
- {"/dev/st81", BRACK(FHDEV(DEV_TAPE_MAJOR, 81)), "\\Device\\Tape81", exists_ntdev, S_IFBLK, true},
- {"/dev/st82", BRACK(FHDEV(DEV_TAPE_MAJOR, 82)), "\\Device\\Tape82", exists_ntdev, S_IFBLK, true},
- {"/dev/st83", BRACK(FHDEV(DEV_TAPE_MAJOR, 83)), "\\Device\\Tape83", exists_ntdev, S_IFBLK, true},
- {"/dev/st84", BRACK(FHDEV(DEV_TAPE_MAJOR, 84)), "\\Device\\Tape84", exists_ntdev, S_IFBLK, true},
- {"/dev/st85", BRACK(FHDEV(DEV_TAPE_MAJOR, 85)), "\\Device\\Tape85", exists_ntdev, S_IFBLK, true},
- {"/dev/st86", BRACK(FHDEV(DEV_TAPE_MAJOR, 86)), "\\Device\\Tape86", exists_ntdev, S_IFBLK, true},
- {"/dev/st87", BRACK(FHDEV(DEV_TAPE_MAJOR, 87)), "\\Device\\Tape87", exists_ntdev, S_IFBLK, true},
- {"/dev/st88", BRACK(FHDEV(DEV_TAPE_MAJOR, 88)), "\\Device\\Tape88", exists_ntdev, S_IFBLK, true},
- {"/dev/st89", BRACK(FHDEV(DEV_TAPE_MAJOR, 89)), "\\Device\\Tape89", exists_ntdev, S_IFBLK, true},
- {"/dev/st90", BRACK(FHDEV(DEV_TAPE_MAJOR, 90)), "\\Device\\Tape90", exists_ntdev, S_IFBLK, true},
- {"/dev/st91", BRACK(FHDEV(DEV_TAPE_MAJOR, 91)), "\\Device\\Tape91", exists_ntdev, S_IFBLK, true},
- {"/dev/st92", BRACK(FHDEV(DEV_TAPE_MAJOR, 92)), "\\Device\\Tape92", exists_ntdev, S_IFBLK, true},
- {"/dev/st93", BRACK(FHDEV(DEV_TAPE_MAJOR, 93)), "\\Device\\Tape93", exists_ntdev, S_IFBLK, true},
- {"/dev/st94", BRACK(FHDEV(DEV_TAPE_MAJOR, 94)), "\\Device\\Tape94", exists_ntdev, S_IFBLK, true},
- {"/dev/st95", BRACK(FHDEV(DEV_TAPE_MAJOR, 95)), "\\Device\\Tape95", exists_ntdev, S_IFBLK, true},
- {"/dev/st96", BRACK(FHDEV(DEV_TAPE_MAJOR, 96)), "\\Device\\Tape96", exists_ntdev, S_IFBLK, true},
- {"/dev/st97", BRACK(FHDEV(DEV_TAPE_MAJOR, 97)), "\\Device\\Tape97", exists_ntdev, S_IFBLK, true},
- {"/dev/st98", BRACK(FHDEV(DEV_TAPE_MAJOR, 98)), "\\Device\\Tape98", exists_ntdev, S_IFBLK, true},
- {"/dev/st99", BRACK(FHDEV(DEV_TAPE_MAJOR, 99)), "\\Device\\Tape99", exists_ntdev, S_IFBLK, true},
- {"/dev/st100", BRACK(FHDEV(DEV_TAPE_MAJOR, 100)), "\\Device\\Tape100", exists_ntdev, S_IFBLK, true},
- {"/dev/st101", BRACK(FHDEV(DEV_TAPE_MAJOR, 101)), "\\Device\\Tape101", exists_ntdev, S_IFBLK, true},
- {"/dev/st102", BRACK(FHDEV(DEV_TAPE_MAJOR, 102)), "\\Device\\Tape102", exists_ntdev, S_IFBLK, true},
- {"/dev/st103", BRACK(FHDEV(DEV_TAPE_MAJOR, 103)), "\\Device\\Tape103", exists_ntdev, S_IFBLK, true},
- {"/dev/st104", BRACK(FHDEV(DEV_TAPE_MAJOR, 104)), "\\Device\\Tape104", exists_ntdev, S_IFBLK, true},
- {"/dev/st105", BRACK(FHDEV(DEV_TAPE_MAJOR, 105)), "\\Device\\Tape105", exists_ntdev, S_IFBLK, true},
- {"/dev/st106", BRACK(FHDEV(DEV_TAPE_MAJOR, 106)), "\\Device\\Tape106", exists_ntdev, S_IFBLK, true},
- {"/dev/st107", BRACK(FHDEV(DEV_TAPE_MAJOR, 107)), "\\Device\\Tape107", exists_ntdev, S_IFBLK, true},
- {"/dev/st108", BRACK(FHDEV(DEV_TAPE_MAJOR, 108)), "\\Device\\Tape108", exists_ntdev, S_IFBLK, true},
- {"/dev/st109", BRACK(FHDEV(DEV_TAPE_MAJOR, 109)), "\\Device\\Tape109", exists_ntdev, S_IFBLK, true},
- {"/dev/st110", BRACK(FHDEV(DEV_TAPE_MAJOR, 110)), "\\Device\\Tape110", exists_ntdev, S_IFBLK, true},
- {"/dev/st111", BRACK(FHDEV(DEV_TAPE_MAJOR, 111)), "\\Device\\Tape111", exists_ntdev, S_IFBLK, true},
- {"/dev/st112", BRACK(FHDEV(DEV_TAPE_MAJOR, 112)), "\\Device\\Tape112", exists_ntdev, S_IFBLK, true},
- {"/dev/st113", BRACK(FHDEV(DEV_TAPE_MAJOR, 113)), "\\Device\\Tape113", exists_ntdev, S_IFBLK, true},
- {"/dev/st114", BRACK(FHDEV(DEV_TAPE_MAJOR, 114)), "\\Device\\Tape114", exists_ntdev, S_IFBLK, true},
- {"/dev/st115", BRACK(FHDEV(DEV_TAPE_MAJOR, 115)), "\\Device\\Tape115", exists_ntdev, S_IFBLK, true},
- {"/dev/st116", BRACK(FHDEV(DEV_TAPE_MAJOR, 116)), "\\Device\\Tape116", exists_ntdev, S_IFBLK, true},
- {"/dev/st117", BRACK(FHDEV(DEV_TAPE_MAJOR, 117)), "\\Device\\Tape117", exists_ntdev, S_IFBLK, true},
- {"/dev/st118", BRACK(FHDEV(DEV_TAPE_MAJOR, 118)), "\\Device\\Tape118", exists_ntdev, S_IFBLK, true},
- {"/dev/st119", BRACK(FHDEV(DEV_TAPE_MAJOR, 119)), "\\Device\\Tape119", exists_ntdev, S_IFBLK, true},
- {"/dev/st120", BRACK(FHDEV(DEV_TAPE_MAJOR, 120)), "\\Device\\Tape120", exists_ntdev, S_IFBLK, true},
- {"/dev/st121", BRACK(FHDEV(DEV_TAPE_MAJOR, 121)), "\\Device\\Tape121", exists_ntdev, S_IFBLK, true},
- {"/dev/st122", BRACK(FHDEV(DEV_TAPE_MAJOR, 122)), "\\Device\\Tape122", exists_ntdev, S_IFBLK, true},
- {"/dev/st123", BRACK(FHDEV(DEV_TAPE_MAJOR, 123)), "\\Device\\Tape123", exists_ntdev, S_IFBLK, true},
- {"/dev/st124", BRACK(FHDEV(DEV_TAPE_MAJOR, 124)), "\\Device\\Tape124", exists_ntdev, S_IFBLK, true},
- {"/dev/st125", BRACK(FHDEV(DEV_TAPE_MAJOR, 125)), "\\Device\\Tape125", exists_ntdev, S_IFBLK, true},
- {"/dev/st126", BRACK(FHDEV(DEV_TAPE_MAJOR, 126)), "\\Device\\Tape126", exists_ntdev, S_IFBLK, true},
- {"/dev/st127", BRACK(FHDEV(DEV_TAPE_MAJOR, 127)), "\\Device\\Tape127", exists_ntdev, S_IFBLK, true},
- {"/dev/tty", BRACK(FH_TTY), "/dev/tty", exists, S_IFCHR, true},
- {"/dev/ttyS0", BRACK(FHDEV(DEV_SERIAL_MAJOR, 0)), "\\??\\COM1", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS1", BRACK(FHDEV(DEV_SERIAL_MAJOR, 1)), "\\??\\COM2", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS2", BRACK(FHDEV(DEV_SERIAL_MAJOR, 2)), "\\??\\COM3", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS3", BRACK(FHDEV(DEV_SERIAL_MAJOR, 3)), "\\??\\COM4", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS4", BRACK(FHDEV(DEV_SERIAL_MAJOR, 4)), "\\??\\COM5", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS5", BRACK(FHDEV(DEV_SERIAL_MAJOR, 5)), "\\??\\COM6", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS6", BRACK(FHDEV(DEV_SERIAL_MAJOR, 6)), "\\??\\COM7", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS7", BRACK(FHDEV(DEV_SERIAL_MAJOR, 7)), "\\??\\COM8", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS8", BRACK(FHDEV(DEV_SERIAL_MAJOR, 8)), "\\??\\COM9", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS9", BRACK(FHDEV(DEV_SERIAL_MAJOR, 9)), "\\??\\COM10", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS10", BRACK(FHDEV(DEV_SERIAL_MAJOR, 10)), "\\??\\COM11", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS11", BRACK(FHDEV(DEV_SERIAL_MAJOR, 11)), "\\??\\COM12", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS12", BRACK(FHDEV(DEV_SERIAL_MAJOR, 12)), "\\??\\COM13", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS13", BRACK(FHDEV(DEV_SERIAL_MAJOR, 13)), "\\??\\COM14", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS14", BRACK(FHDEV(DEV_SERIAL_MAJOR, 14)), "\\??\\COM15", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS15", BRACK(FHDEV(DEV_SERIAL_MAJOR, 15)), "\\??\\COM16", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS16", BRACK(FHDEV(DEV_SERIAL_MAJOR, 16)), "\\??\\COM17", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS17", BRACK(FHDEV(DEV_SERIAL_MAJOR, 17)), "\\??\\COM18", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS18", BRACK(FHDEV(DEV_SERIAL_MAJOR, 18)), "\\??\\COM19", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS19", BRACK(FHDEV(DEV_SERIAL_MAJOR, 19)), "\\??\\COM20", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS20", BRACK(FHDEV(DEV_SERIAL_MAJOR, 20)), "\\??\\COM21", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS21", BRACK(FHDEV(DEV_SERIAL_MAJOR, 21)), "\\??\\COM22", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS22", BRACK(FHDEV(DEV_SERIAL_MAJOR, 22)), "\\??\\COM23", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS23", BRACK(FHDEV(DEV_SERIAL_MAJOR, 23)), "\\??\\COM24", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS24", BRACK(FHDEV(DEV_SERIAL_MAJOR, 24)), "\\??\\COM25", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS25", BRACK(FHDEV(DEV_SERIAL_MAJOR, 25)), "\\??\\COM26", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS26", BRACK(FHDEV(DEV_SERIAL_MAJOR, 26)), "\\??\\COM27", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS27", BRACK(FHDEV(DEV_SERIAL_MAJOR, 27)), "\\??\\COM28", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS28", BRACK(FHDEV(DEV_SERIAL_MAJOR, 28)), "\\??\\COM29", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS29", BRACK(FHDEV(DEV_SERIAL_MAJOR, 29)), "\\??\\COM30", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS30", BRACK(FHDEV(DEV_SERIAL_MAJOR, 30)), "\\??\\COM31", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS31", BRACK(FHDEV(DEV_SERIAL_MAJOR, 31)), "\\??\\COM32", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS32", BRACK(FHDEV(DEV_SERIAL_MAJOR, 32)), "\\??\\COM33", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS33", BRACK(FHDEV(DEV_SERIAL_MAJOR, 33)), "\\??\\COM34", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS34", BRACK(FHDEV(DEV_SERIAL_MAJOR, 34)), "\\??\\COM35", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS35", BRACK(FHDEV(DEV_SERIAL_MAJOR, 35)), "\\??\\COM36", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS36", BRACK(FHDEV(DEV_SERIAL_MAJOR, 36)), "\\??\\COM37", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS37", BRACK(FHDEV(DEV_SERIAL_MAJOR, 37)), "\\??\\COM38", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS38", BRACK(FHDEV(DEV_SERIAL_MAJOR, 38)), "\\??\\COM39", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS39", BRACK(FHDEV(DEV_SERIAL_MAJOR, 39)), "\\??\\COM40", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS40", BRACK(FHDEV(DEV_SERIAL_MAJOR, 40)), "\\??\\COM41", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS41", BRACK(FHDEV(DEV_SERIAL_MAJOR, 41)), "\\??\\COM42", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS42", BRACK(FHDEV(DEV_SERIAL_MAJOR, 42)), "\\??\\COM43", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS43", BRACK(FHDEV(DEV_SERIAL_MAJOR, 43)), "\\??\\COM44", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS44", BRACK(FHDEV(DEV_SERIAL_MAJOR, 44)), "\\??\\COM45", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS45", BRACK(FHDEV(DEV_SERIAL_MAJOR, 45)), "\\??\\COM46", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS46", BRACK(FHDEV(DEV_SERIAL_MAJOR, 46)), "\\??\\COM47", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS47", BRACK(FHDEV(DEV_SERIAL_MAJOR, 47)), "\\??\\COM48", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS48", BRACK(FHDEV(DEV_SERIAL_MAJOR, 48)), "\\??\\COM49", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS49", BRACK(FHDEV(DEV_SERIAL_MAJOR, 49)), "\\??\\COM50", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS50", BRACK(FHDEV(DEV_SERIAL_MAJOR, 50)), "\\??\\COM51", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS51", BRACK(FHDEV(DEV_SERIAL_MAJOR, 51)), "\\??\\COM52", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS52", BRACK(FHDEV(DEV_SERIAL_MAJOR, 52)), "\\??\\COM53", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS53", BRACK(FHDEV(DEV_SERIAL_MAJOR, 53)), "\\??\\COM54", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS54", BRACK(FHDEV(DEV_SERIAL_MAJOR, 54)), "\\??\\COM55", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS55", BRACK(FHDEV(DEV_SERIAL_MAJOR, 55)), "\\??\\COM56", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS56", BRACK(FHDEV(DEV_SERIAL_MAJOR, 56)), "\\??\\COM57", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS57", BRACK(FHDEV(DEV_SERIAL_MAJOR, 57)), "\\??\\COM58", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS58", BRACK(FHDEV(DEV_SERIAL_MAJOR, 58)), "\\??\\COM59", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS59", BRACK(FHDEV(DEV_SERIAL_MAJOR, 59)), "\\??\\COM60", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS60", BRACK(FHDEV(DEV_SERIAL_MAJOR, 60)), "\\??\\COM61", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS61", BRACK(FHDEV(DEV_SERIAL_MAJOR, 61)), "\\??\\COM62", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS62", BRACK(FHDEV(DEV_SERIAL_MAJOR, 62)), "\\??\\COM63", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS63", BRACK(FHDEV(DEV_SERIAL_MAJOR, 63)), "\\??\\COM64", exists_ntdev, S_IFCHR, true},
- {"/dev/urandom", BRACK(FH_URANDOM), "/dev/urandom", exists, S_IFCHR, true},
- {"/dev/windows", BRACK(FH_WINDOWS), "/dev/windows", exists, S_IFCHR, true},
- {"/dev/zero", BRACK(FH_ZERO), "/dev/zero", exists, S_IFCHR, true},
- {":fifo", BRACK(FH_FIFO), "/dev/fifo", exists_internal, S_IFCHR, false},
- {":pipe", BRACK(FH_PIPE), "/dev/pipe", exists_internal, S_IFCHR, false},
- {":ptym0", BRACK(FHDEV(DEV_PTYM_MAJOR, 0)), "/dev/ptym0", exists_internal, S_IFCHR, false},
- {":ptym1", BRACK(FHDEV(DEV_PTYM_MAJOR, 1)), "/dev/ptym1", exists_internal, S_IFCHR, false},
- {":ptym2", BRACK(FHDEV(DEV_PTYM_MAJOR, 2)), "/dev/ptym2", exists_internal, S_IFCHR, false},
- {":ptym3", BRACK(FHDEV(DEV_PTYM_MAJOR, 3)), "/dev/ptym3", exists_internal, S_IFCHR, false},
- {":ptym4", BRACK(FHDEV(DEV_PTYM_MAJOR, 4)), "/dev/ptym4", exists_internal, S_IFCHR, false},
- {":ptym5", BRACK(FHDEV(DEV_PTYM_MAJOR, 5)), "/dev/ptym5", exists_internal, S_IFCHR, false},
- {":ptym6", BRACK(FHDEV(DEV_PTYM_MAJOR, 6)), "/dev/ptym6", exists_internal, S_IFCHR, false},
- {":ptym7", BRACK(FHDEV(DEV_PTYM_MAJOR, 7)), "/dev/ptym7", exists_internal, S_IFCHR, false},
- {":ptym8", BRACK(FHDEV(DEV_PTYM_MAJOR, 8)), "/dev/ptym8", exists_internal, S_IFCHR, false},
- {":ptym9", BRACK(FHDEV(DEV_PTYM_MAJOR, 9)), "/dev/ptym9", exists_internal, S_IFCHR, false},
- {":ptym10", BRACK(FHDEV(DEV_PTYM_MAJOR, 10)), "/dev/ptym10", exists_internal, S_IFCHR, false},
- {":ptym11", BRACK(FHDEV(DEV_PTYM_MAJOR, 11)), "/dev/ptym11", exists_internal, S_IFCHR, false},
- {":ptym12", BRACK(FHDEV(DEV_PTYM_MAJOR, 12)), "/dev/ptym12", exists_internal, S_IFCHR, false},
- {":ptym13", BRACK(FHDEV(DEV_PTYM_MAJOR, 13)), "/dev/ptym13", exists_internal, S_IFCHR, false},
- {":ptym14", BRACK(FHDEV(DEV_PTYM_MAJOR, 14)), "/dev/ptym14", exists_internal, S_IFCHR, false},
- {":ptym15", BRACK(FHDEV(DEV_PTYM_MAJOR, 15)), "/dev/ptym15", exists_internal, S_IFCHR, false},
- {":ptym16", BRACK(FHDEV(DEV_PTYM_MAJOR, 16)), "/dev/ptym16", exists_internal, S_IFCHR, false},
- {":ptym17", BRACK(FHDEV(DEV_PTYM_MAJOR, 17)), "/dev/ptym17", exists_internal, S_IFCHR, false},
- {":ptym18", BRACK(FHDEV(DEV_PTYM_MAJOR, 18)), "/dev/ptym18", exists_internal, S_IFCHR, false},
- {":ptym19", BRACK(FHDEV(DEV_PTYM_MAJOR, 19)), "/dev/ptym19", exists_internal, S_IFCHR, false},
- {":ptym20", BRACK(FHDEV(DEV_PTYM_MAJOR, 20)), "/dev/ptym20", exists_internal, S_IFCHR, false},
- {":ptym21", BRACK(FHDEV(DEV_PTYM_MAJOR, 21)), "/dev/ptym21", exists_internal, S_IFCHR, false},
- {":ptym22", BRACK(FHDEV(DEV_PTYM_MAJOR, 22)), "/dev/ptym22", exists_internal, S_IFCHR, false},
- {":ptym23", BRACK(FHDEV(DEV_PTYM_MAJOR, 23)), "/dev/ptym23", exists_internal, S_IFCHR, false},
- {":ptym24", BRACK(FHDEV(DEV_PTYM_MAJOR, 24)), "/dev/ptym24", exists_internal, S_IFCHR, false},
- {":ptym25", BRACK(FHDEV(DEV_PTYM_MAJOR, 25)), "/dev/ptym25", exists_internal, S_IFCHR, false},
- {":ptym26", BRACK(FHDEV(DEV_PTYM_MAJOR, 26)), "/dev/ptym26", exists_internal, S_IFCHR, false},
- {":ptym27", BRACK(FHDEV(DEV_PTYM_MAJOR, 27)), "/dev/ptym27", exists_internal, S_IFCHR, false},
- {":ptym28", BRACK(FHDEV(DEV_PTYM_MAJOR, 28)), "/dev/ptym28", exists_internal, S_IFCHR, false},
- {":ptym29", BRACK(FHDEV(DEV_PTYM_MAJOR, 29)), "/dev/ptym29", exists_internal, S_IFCHR, false},
- {":ptym30", BRACK(FHDEV(DEV_PTYM_MAJOR, 30)), "/dev/ptym30", exists_internal, S_IFCHR, false},
- {":ptym31", BRACK(FHDEV(DEV_PTYM_MAJOR, 31)), "/dev/ptym31", exists_internal, S_IFCHR, false},
- {":ptym32", BRACK(FHDEV(DEV_PTYM_MAJOR, 32)), "/dev/ptym32", exists_internal, S_IFCHR, false},
- {":ptym33", BRACK(FHDEV(DEV_PTYM_MAJOR, 33)), "/dev/ptym33", exists_internal, S_IFCHR, false},
- {":ptym34", BRACK(FHDEV(DEV_PTYM_MAJOR, 34)), "/dev/ptym34", exists_internal, S_IFCHR, false},
- {":ptym35", BRACK(FHDEV(DEV_PTYM_MAJOR, 35)), "/dev/ptym35", exists_internal, S_IFCHR, false},
- {":ptym36", BRACK(FHDEV(DEV_PTYM_MAJOR, 36)), "/dev/ptym36", exists_internal, S_IFCHR, false},
- {":ptym37", BRACK(FHDEV(DEV_PTYM_MAJOR, 37)), "/dev/ptym37", exists_internal, S_IFCHR, false},
- {":ptym38", BRACK(FHDEV(DEV_PTYM_MAJOR, 38)), "/dev/ptym38", exists_internal, S_IFCHR, false},
- {":ptym39", BRACK(FHDEV(DEV_PTYM_MAJOR, 39)), "/dev/ptym39", exists_internal, S_IFCHR, false},
- {":ptym40", BRACK(FHDEV(DEV_PTYM_MAJOR, 40)), "/dev/ptym40", exists_internal, S_IFCHR, false},
- {":ptym41", BRACK(FHDEV(DEV_PTYM_MAJOR, 41)), "/dev/ptym41", exists_internal, S_IFCHR, false},
- {":ptym42", BRACK(FHDEV(DEV_PTYM_MAJOR, 42)), "/dev/ptym42", exists_internal, S_IFCHR, false},
- {":ptym43", BRACK(FHDEV(DEV_PTYM_MAJOR, 43)), "/dev/ptym43", exists_internal, S_IFCHR, false},
- {":ptym44", BRACK(FHDEV(DEV_PTYM_MAJOR, 44)), "/dev/ptym44", exists_internal, S_IFCHR, false},
- {":ptym45", BRACK(FHDEV(DEV_PTYM_MAJOR, 45)), "/dev/ptym45", exists_internal, S_IFCHR, false},
- {":ptym46", BRACK(FHDEV(DEV_PTYM_MAJOR, 46)), "/dev/ptym46", exists_internal, S_IFCHR, false},
- {":ptym47", BRACK(FHDEV(DEV_PTYM_MAJOR, 47)), "/dev/ptym47", exists_internal, S_IFCHR, false},
- {":ptym48", BRACK(FHDEV(DEV_PTYM_MAJOR, 48)), "/dev/ptym48", exists_internal, S_IFCHR, false},
- {":ptym49", BRACK(FHDEV(DEV_PTYM_MAJOR, 49)), "/dev/ptym49", exists_internal, S_IFCHR, false},
- {":ptym50", BRACK(FHDEV(DEV_PTYM_MAJOR, 50)), "/dev/ptym50", exists_internal, S_IFCHR, false},
- {":ptym51", BRACK(FHDEV(DEV_PTYM_MAJOR, 51)), "/dev/ptym51", exists_internal, S_IFCHR, false},
- {":ptym52", BRACK(FHDEV(DEV_PTYM_MAJOR, 52)), "/dev/ptym52", exists_internal, S_IFCHR, false},
- {":ptym53", BRACK(FHDEV(DEV_PTYM_MAJOR, 53)), "/dev/ptym53", exists_internal, S_IFCHR, false},
- {":ptym54", BRACK(FHDEV(DEV_PTYM_MAJOR, 54)), "/dev/ptym54", exists_internal, S_IFCHR, false},
- {":ptym55", BRACK(FHDEV(DEV_PTYM_MAJOR, 55)), "/dev/ptym55", exists_internal, S_IFCHR, false},
- {":ptym56", BRACK(FHDEV(DEV_PTYM_MAJOR, 56)), "/dev/ptym56", exists_internal, S_IFCHR, false},
- {":ptym57", BRACK(FHDEV(DEV_PTYM_MAJOR, 57)), "/dev/ptym57", exists_internal, S_IFCHR, false},
- {":ptym58", BRACK(FHDEV(DEV_PTYM_MAJOR, 58)), "/dev/ptym58", exists_internal, S_IFCHR, false},
- {":ptym59", BRACK(FHDEV(DEV_PTYM_MAJOR, 59)), "/dev/ptym59", exists_internal, S_IFCHR, false},
- {":ptym60", BRACK(FHDEV(DEV_PTYM_MAJOR, 60)), "/dev/ptym60", exists_internal, S_IFCHR, false},
- {":ptym61", BRACK(FHDEV(DEV_PTYM_MAJOR, 61)), "/dev/ptym61", exists_internal, S_IFCHR, false},
- {":ptym62", BRACK(FHDEV(DEV_PTYM_MAJOR, 62)), "/dev/ptym62", exists_internal, S_IFCHR, false},
- {":ptym63", BRACK(FHDEV(DEV_PTYM_MAJOR, 63)), "/dev/ptym63", exists_internal, S_IFCHR, false}
+
+static const device dev_storage[] =
+{
+ {"/dev", BRACK(FH_DEV), "/dev"},
+ {"/dev/clipboard", BRACK(FH_CLIPBOARD), "/dev/clipboard"},
+ {"/dev/com1", BRACK(FHDEV(DEV_SERIAL_MAJOR, 0)), "\\??\\COM1"},
+ {"/dev/com2", BRACK(FHDEV(DEV_SERIAL_MAJOR, 1)), "\\??\\COM2"},
+ {"/dev/com3", BRACK(FHDEV(DEV_SERIAL_MAJOR, 2)), "\\??\\COM3"},
+ {"/dev/com4", BRACK(FHDEV(DEV_SERIAL_MAJOR, 3)), "\\??\\COM4"},
+ {"/dev/com5", BRACK(FHDEV(DEV_SERIAL_MAJOR, 4)), "\\??\\COM5"},
+ {"/dev/com6", BRACK(FHDEV(DEV_SERIAL_MAJOR, 5)), "\\??\\COM6"},
+ {"/dev/com7", BRACK(FHDEV(DEV_SERIAL_MAJOR, 6)), "\\??\\COM7"},
+ {"/dev/com8", BRACK(FHDEV(DEV_SERIAL_MAJOR, 7)), "\\??\\COM8"},
+ {"/dev/com9", BRACK(FHDEV(DEV_SERIAL_MAJOR, 8)), "\\??\\COM9"},
+ {"/dev/com10", BRACK(FHDEV(DEV_SERIAL_MAJOR, 9)), "\\??\\COM10"},
+ {"/dev/com11", BRACK(FHDEV(DEV_SERIAL_MAJOR, 10)), "\\??\\COM11"},
+ {"/dev/com12", BRACK(FHDEV(DEV_SERIAL_MAJOR, 11)), "\\??\\COM12"},
+ {"/dev/com13", BRACK(FHDEV(DEV_SERIAL_MAJOR, 12)), "\\??\\COM13"},
+ {"/dev/com14", BRACK(FHDEV(DEV_SERIAL_MAJOR, 13)), "\\??\\COM14"},
+ {"/dev/com15", BRACK(FHDEV(DEV_SERIAL_MAJOR, 14)), "\\??\\COM15"},
+ {"/dev/com16", BRACK(FHDEV(DEV_SERIAL_MAJOR, 15)), "\\??\\COM16"},
+ {"/dev/conin", BRACK(FH_CONIN), "/dev/conin"},
+ {"/dev/conout", BRACK(FH_CONOUT), "/dev/conout"},
+ {"/dev/cons0", BRACK(FHDEV(DEV_CONS_MAJOR, 0)), "/dev/cons0"},
+ {"/dev/cons1", BRACK(FHDEV(DEV_CONS_MAJOR, 1)), "/dev/cons1"},
+ {"/dev/cons2", BRACK(FHDEV(DEV_CONS_MAJOR, 2)), "/dev/cons2"},
+ {"/dev/cons3", BRACK(FHDEV(DEV_CONS_MAJOR, 3)), "/dev/cons3"},
+ {"/dev/cons4", BRACK(FHDEV(DEV_CONS_MAJOR, 4)), "/dev/cons4"},
+ {"/dev/cons5", BRACK(FHDEV(DEV_CONS_MAJOR, 5)), "/dev/cons5"},
+ {"/dev/cons6", BRACK(FHDEV(DEV_CONS_MAJOR, 6)), "/dev/cons6"},
+ {"/dev/cons7", BRACK(FHDEV(DEV_CONS_MAJOR, 7)), "/dev/cons7"},
+ {"/dev/cons8", BRACK(FHDEV(DEV_CONS_MAJOR, 8)), "/dev/cons8"},
+ {"/dev/cons9", BRACK(FHDEV(DEV_CONS_MAJOR, 9)), "/dev/cons9"},
+ {"/dev/cons10", BRACK(FHDEV(DEV_CONS_MAJOR, 10)), "/dev/cons10"},
+ {"/dev/cons11", BRACK(FHDEV(DEV_CONS_MAJOR, 11)), "/dev/cons11"},
+ {"/dev/cons12", BRACK(FHDEV(DEV_CONS_MAJOR, 12)), "/dev/cons12"},
+ {"/dev/cons13", BRACK(FHDEV(DEV_CONS_MAJOR, 13)), "/dev/cons13"},
+ {"/dev/cons14", BRACK(FHDEV(DEV_CONS_MAJOR, 14)), "/dev/cons14"},
+ {"/dev/cons15", BRACK(FHDEV(DEV_CONS_MAJOR, 15)), "/dev/cons15"},
+ {"/dev/cons16", BRACK(FHDEV(DEV_CONS_MAJOR, 16)), "/dev/cons16"},
+ {"/dev/cons17", BRACK(FHDEV(DEV_CONS_MAJOR, 17)), "/dev/cons17"},
+ {"/dev/cons18", BRACK(FHDEV(DEV_CONS_MAJOR, 18)), "/dev/cons18"},
+ {"/dev/cons19", BRACK(FHDEV(DEV_CONS_MAJOR, 19)), "/dev/cons19"},
+ {"/dev/cons20", BRACK(FHDEV(DEV_CONS_MAJOR, 20)), "/dev/cons20"},
+ {"/dev/cons21", BRACK(FHDEV(DEV_CONS_MAJOR, 21)), "/dev/cons21"},
+ {"/dev/cons22", BRACK(FHDEV(DEV_CONS_MAJOR, 22)), "/dev/cons22"},
+ {"/dev/cons23", BRACK(FHDEV(DEV_CONS_MAJOR, 23)), "/dev/cons23"},
+ {"/dev/cons24", BRACK(FHDEV(DEV_CONS_MAJOR, 24)), "/dev/cons24"},
+ {"/dev/cons25", BRACK(FHDEV(DEV_CONS_MAJOR, 25)), "/dev/cons25"},
+ {"/dev/cons26", BRACK(FHDEV(DEV_CONS_MAJOR, 26)), "/dev/cons26"},
+ {"/dev/cons27", BRACK(FHDEV(DEV_CONS_MAJOR, 27)), "/dev/cons27"},
+ {"/dev/cons28", BRACK(FHDEV(DEV_CONS_MAJOR, 28)), "/dev/cons28"},
+ {"/dev/cons29", BRACK(FHDEV(DEV_CONS_MAJOR, 29)), "/dev/cons29"},
+ {"/dev/cons30", BRACK(FHDEV(DEV_CONS_MAJOR, 30)), "/dev/cons30"},
+ {"/dev/cons31", BRACK(FHDEV(DEV_CONS_MAJOR, 31)), "/dev/cons31"},
+ {"/dev/cons32", BRACK(FHDEV(DEV_CONS_MAJOR, 32)), "/dev/cons32"},
+ {"/dev/cons33", BRACK(FHDEV(DEV_CONS_MAJOR, 33)), "/dev/cons33"},
+ {"/dev/cons34", BRACK(FHDEV(DEV_CONS_MAJOR, 34)), "/dev/cons34"},
+ {"/dev/cons35", BRACK(FHDEV(DEV_CONS_MAJOR, 35)), "/dev/cons35"},
+ {"/dev/cons36", BRACK(FHDEV(DEV_CONS_MAJOR, 36)), "/dev/cons36"},
+ {"/dev/cons37", BRACK(FHDEV(DEV_CONS_MAJOR, 37)), "/dev/cons37"},
+ {"/dev/cons38", BRACK(FHDEV(DEV_CONS_MAJOR, 38)), "/dev/cons38"},
+ {"/dev/cons39", BRACK(FHDEV(DEV_CONS_MAJOR, 39)), "/dev/cons39"},
+ {"/dev/cons40", BRACK(FHDEV(DEV_CONS_MAJOR, 40)), "/dev/cons40"},
+ {"/dev/cons41", BRACK(FHDEV(DEV_CONS_MAJOR, 41)), "/dev/cons41"},
+ {"/dev/cons42", BRACK(FHDEV(DEV_CONS_MAJOR, 42)), "/dev/cons42"},
+ {"/dev/cons43", BRACK(FHDEV(DEV_CONS_MAJOR, 43)), "/dev/cons43"},
+ {"/dev/cons44", BRACK(FHDEV(DEV_CONS_MAJOR, 44)), "/dev/cons44"},
+ {"/dev/cons45", BRACK(FHDEV(DEV_CONS_MAJOR, 45)), "/dev/cons45"},
+ {"/dev/cons46", BRACK(FHDEV(DEV_CONS_MAJOR, 46)), "/dev/cons46"},
+ {"/dev/cons47", BRACK(FHDEV(DEV_CONS_MAJOR, 47)), "/dev/cons47"},
+ {"/dev/cons48", BRACK(FHDEV(DEV_CONS_MAJOR, 48)), "/dev/cons48"},
+ {"/dev/cons49", BRACK(FHDEV(DEV_CONS_MAJOR, 49)), "/dev/cons49"},
+ {"/dev/cons50", BRACK(FHDEV(DEV_CONS_MAJOR, 50)), "/dev/cons50"},
+ {"/dev/cons51", BRACK(FHDEV(DEV_CONS_MAJOR, 51)), "/dev/cons51"},
+ {"/dev/cons52", BRACK(FHDEV(DEV_CONS_MAJOR, 52)), "/dev/cons52"},
+ {"/dev/cons53", BRACK(FHDEV(DEV_CONS_MAJOR, 53)), "/dev/cons53"},
+ {"/dev/cons54", BRACK(FHDEV(DEV_CONS_MAJOR, 54)), "/dev/cons54"},
+ {"/dev/cons55", BRACK(FHDEV(DEV_CONS_MAJOR, 55)), "/dev/cons55"},
+ {"/dev/cons56", BRACK(FHDEV(DEV_CONS_MAJOR, 56)), "/dev/cons56"},
+ {"/dev/cons57", BRACK(FHDEV(DEV_CONS_MAJOR, 57)), "/dev/cons57"},
+ {"/dev/cons58", BRACK(FHDEV(DEV_CONS_MAJOR, 58)), "/dev/cons58"},
+ {"/dev/cons59", BRACK(FHDEV(DEV_CONS_MAJOR, 59)), "/dev/cons59"},
+ {"/dev/cons60", BRACK(FHDEV(DEV_CONS_MAJOR, 60)), "/dev/cons60"},
+ {"/dev/cons61", BRACK(FHDEV(DEV_CONS_MAJOR, 61)), "/dev/cons61"},
+ {"/dev/cons62", BRACK(FHDEV(DEV_CONS_MAJOR, 62)), "/dev/cons62"},
+ {"/dev/cons63", BRACK(FHDEV(DEV_CONS_MAJOR, 63)), "/dev/cons63"},
+ {"/dev/console", BRACK(FH_CONSOLE), "/dev/console"},
+ {"/dev/dsp", BRACK(FH_OSS_DSP), "/dev/dsp"},
+ {"/dev/fd0", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 0)), "\\Device\\Floppy0"},
+ {"/dev/fd1", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 1)), "\\Device\\Floppy1"},
+ {"/dev/fd2", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 2)), "\\Device\\Floppy2"},
+ {"/dev/fd3", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 3)), "\\Device\\Floppy3"},
+ {"/dev/fd4", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 4)), "\\Device\\Floppy4"},
+ {"/dev/fd5", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 5)), "\\Device\\Floppy5"},
+ {"/dev/fd6", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 6)), "\\Device\\Floppy6"},
+ {"/dev/fd7", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 7)), "\\Device\\Floppy7"},
+ {"/dev/fd8", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 8)), "\\Device\\Floppy8"},
+ {"/dev/fd9", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 9)), "\\Device\\Floppy9"},
+ {"/dev/fd10", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 10)), "\\Device\\Floppy10"},
+ {"/dev/fd11", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 11)), "\\Device\\Floppy11"},
+ {"/dev/fd12", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 12)), "\\Device\\Floppy12"},
+ {"/dev/fd13", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 13)), "\\Device\\Floppy13"},
+ {"/dev/fd14", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 14)), "\\Device\\Floppy14"},
+ {"/dev/fd15", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 15)), "\\Device\\Floppy15"},
+ {"/dev/fifo", BRACK(FH_FIFO), "/dev/fifo"},
+ {"/dev/full", BRACK(FH_FULL), "/dev/full"},
+ {"/dev/kmem", BRACK(FH_KMEM), "/dev/mem"},
+ {"/dev/kmsg", BRACK(FH_KMSG), "\\Device\\MailSlot\\cygwin\\dev\\kmsg"},
+ {"/dev/mem", BRACK(FH_MEM), "/dev/mem"},
+ {"/dev/nst0", BRACK(FHDEV(DEV_TAPE_MAJOR, 128)), "\\Device\\Tape0"},
+ {"/dev/nst1", BRACK(FHDEV(DEV_TAPE_MAJOR, 129)), "\\Device\\Tape1"},
+ {"/dev/nst2", BRACK(FHDEV(DEV_TAPE_MAJOR, 130)), "\\Device\\Tape2"},
+ {"/dev/nst3", BRACK(FHDEV(DEV_TAPE_MAJOR, 131)), "\\Device\\Tape3"},
+ {"/dev/nst4", BRACK(FHDEV(DEV_TAPE_MAJOR, 132)), "\\Device\\Tape4"},
+ {"/dev/nst5", BRACK(FHDEV(DEV_TAPE_MAJOR, 133)), "\\Device\\Tape5"},
+ {"/dev/nst6", BRACK(FHDEV(DEV_TAPE_MAJOR, 134)), "\\Device\\Tape6"},
+ {"/dev/nst7", BRACK(FHDEV(DEV_TAPE_MAJOR, 135)), "\\Device\\Tape7"},
+ {"/dev/nst8", BRACK(FHDEV(DEV_TAPE_MAJOR, 136)), "\\Device\\Tape8"},
+ {"/dev/nst9", BRACK(FHDEV(DEV_TAPE_MAJOR, 137)), "\\Device\\Tape9"},
+ {"/dev/nst10", BRACK(FHDEV(DEV_TAPE_MAJOR, 138)), "\\Device\\Tape10"},
+ {"/dev/nst11", BRACK(FHDEV(DEV_TAPE_MAJOR, 139)), "\\Device\\Tape11"},
+ {"/dev/nst12", BRACK(FHDEV(DEV_TAPE_MAJOR, 140)), "\\Device\\Tape12"},
+ {"/dev/nst13", BRACK(FHDEV(DEV_TAPE_MAJOR, 141)), "\\Device\\Tape13"},
+ {"/dev/nst14", BRACK(FHDEV(DEV_TAPE_MAJOR, 142)), "\\Device\\Tape14"},
+ {"/dev/nst15", BRACK(FHDEV(DEV_TAPE_MAJOR, 143)), "\\Device\\Tape15"},
+ {"/dev/nst16", BRACK(FHDEV(DEV_TAPE_MAJOR, 144)), "\\Device\\Tape16"},
+ {"/dev/nst17", BRACK(FHDEV(DEV_TAPE_MAJOR, 145)), "\\Device\\Tape17"},
+ {"/dev/nst18", BRACK(FHDEV(DEV_TAPE_MAJOR, 146)), "\\Device\\Tape18"},
+ {"/dev/nst19", BRACK(FHDEV(DEV_TAPE_MAJOR, 147)), "\\Device\\Tape19"},
+ {"/dev/nst20", BRACK(FHDEV(DEV_TAPE_MAJOR, 148)), "\\Device\\Tape20"},
+ {"/dev/nst21", BRACK(FHDEV(DEV_TAPE_MAJOR, 149)), "\\Device\\Tape21"},
+ {"/dev/nst22", BRACK(FHDEV(DEV_TAPE_MAJOR, 150)), "\\Device\\Tape22"},
+ {"/dev/nst23", BRACK(FHDEV(DEV_TAPE_MAJOR, 151)), "\\Device\\Tape23"},
+ {"/dev/nst24", BRACK(FHDEV(DEV_TAPE_MAJOR, 152)), "\\Device\\Tape24"},
+ {"/dev/nst25", BRACK(FHDEV(DEV_TAPE_MAJOR, 153)), "\\Device\\Tape25"},
+ {"/dev/nst26", BRACK(FHDEV(DEV_TAPE_MAJOR, 154)), "\\Device\\Tape26"},
+ {"/dev/nst27", BRACK(FHDEV(DEV_TAPE_MAJOR, 155)), "\\Device\\Tape27"},
+ {"/dev/nst28", BRACK(FHDEV(DEV_TAPE_MAJOR, 156)), "\\Device\\Tape28"},
+ {"/dev/nst29", BRACK(FHDEV(DEV_TAPE_MAJOR, 157)), "\\Device\\Tape29"},
+ {"/dev/nst30", BRACK(FHDEV(DEV_TAPE_MAJOR, 158)), "\\Device\\Tape30"},
+ {"/dev/nst31", BRACK(FHDEV(DEV_TAPE_MAJOR, 159)), "\\Device\\Tape31"},
+ {"/dev/nst32", BRACK(FHDEV(DEV_TAPE_MAJOR, 160)), "\\Device\\Tape32"},
+ {"/dev/nst33", BRACK(FHDEV(DEV_TAPE_MAJOR, 161)), "\\Device\\Tape33"},
+ {"/dev/nst34", BRACK(FHDEV(DEV_TAPE_MAJOR, 162)), "\\Device\\Tape34"},
+ {"/dev/nst35", BRACK(FHDEV(DEV_TAPE_MAJOR, 163)), "\\Device\\Tape35"},
+ {"/dev/nst36", BRACK(FHDEV(DEV_TAPE_MAJOR, 164)), "\\Device\\Tape36"},
+ {"/dev/nst37", BRACK(FHDEV(DEV_TAPE_MAJOR, 165)), "\\Device\\Tape37"},
+ {"/dev/nst38", BRACK(FHDEV(DEV_TAPE_MAJOR, 166)), "\\Device\\Tape38"},
+ {"/dev/nst39", BRACK(FHDEV(DEV_TAPE_MAJOR, 167)), "\\Device\\Tape39"},
+ {"/dev/nst40", BRACK(FHDEV(DEV_TAPE_MAJOR, 168)), "\\Device\\Tape40"},
+ {"/dev/nst41", BRACK(FHDEV(DEV_TAPE_MAJOR, 169)), "\\Device\\Tape41"},
+ {"/dev/nst42", BRACK(FHDEV(DEV_TAPE_MAJOR, 170)), "\\Device\\Tape42"},
+ {"/dev/nst43", BRACK(FHDEV(DEV_TAPE_MAJOR, 171)), "\\Device\\Tape43"},
+ {"/dev/nst44", BRACK(FHDEV(DEV_TAPE_MAJOR, 172)), "\\Device\\Tape44"},
+ {"/dev/nst45", BRACK(FHDEV(DEV_TAPE_MAJOR, 173)), "\\Device\\Tape45"},
+ {"/dev/nst46", BRACK(FHDEV(DEV_TAPE_MAJOR, 174)), "\\Device\\Tape46"},
+ {"/dev/nst47", BRACK(FHDEV(DEV_TAPE_MAJOR, 175)), "\\Device\\Tape47"},
+ {"/dev/nst48", BRACK(FHDEV(DEV_TAPE_MAJOR, 176)), "\\Device\\Tape48"},
+ {"/dev/nst49", BRACK(FHDEV(DEV_TAPE_MAJOR, 177)), "\\Device\\Tape49"},
+ {"/dev/nst50", BRACK(FHDEV(DEV_TAPE_MAJOR, 178)), "\\Device\\Tape50"},
+ {"/dev/nst51", BRACK(FHDEV(DEV_TAPE_MAJOR, 179)), "\\Device\\Tape51"},
+ {"/dev/nst52", BRACK(FHDEV(DEV_TAPE_MAJOR, 180)), "\\Device\\Tape52"},
+ {"/dev/nst53", BRACK(FHDEV(DEV_TAPE_MAJOR, 181)), "\\Device\\Tape53"},
+ {"/dev/nst54", BRACK(FHDEV(DEV_TAPE_MAJOR, 182)), "\\Device\\Tape54"},
+ {"/dev/nst55", BRACK(FHDEV(DEV_TAPE_MAJOR, 183)), "\\Device\\Tape55"},
+ {"/dev/nst56", BRACK(FHDEV(DEV_TAPE_MAJOR, 184)), "\\Device\\Tape56"},
+ {"/dev/nst57", BRACK(FHDEV(DEV_TAPE_MAJOR, 185)), "\\Device\\Tape57"},
+ {"/dev/nst58", BRACK(FHDEV(DEV_TAPE_MAJOR, 186)), "\\Device\\Tape58"},
+ {"/dev/nst59", BRACK(FHDEV(DEV_TAPE_MAJOR, 187)), "\\Device\\Tape59"},
+ {"/dev/nst60", BRACK(FHDEV(DEV_TAPE_MAJOR, 188)), "\\Device\\Tape60"},
+ {"/dev/nst61", BRACK(FHDEV(DEV_TAPE_MAJOR, 189)), "\\Device\\Tape61"},
+ {"/dev/nst62", BRACK(FHDEV(DEV_TAPE_MAJOR, 190)), "\\Device\\Tape62"},
+ {"/dev/nst63", BRACK(FHDEV(DEV_TAPE_MAJOR, 191)), "\\Device\\Tape63"},
+ {"/dev/nst64", BRACK(FHDEV(DEV_TAPE_MAJOR, 192)), "\\Device\\Tape64"},
+ {"/dev/nst65", BRACK(FHDEV(DEV_TAPE_MAJOR, 193)), "\\Device\\Tape65"},
+ {"/dev/nst66", BRACK(FHDEV(DEV_TAPE_MAJOR, 194)), "\\Device\\Tape66"},
+ {"/dev/nst67", BRACK(FHDEV(DEV_TAPE_MAJOR, 195)), "\\Device\\Tape67"},
+ {"/dev/nst68", BRACK(FHDEV(DEV_TAPE_MAJOR, 196)), "\\Device\\Tape68"},
+ {"/dev/nst69", BRACK(FHDEV(DEV_TAPE_MAJOR, 197)), "\\Device\\Tape69"},
+ {"/dev/nst70", BRACK(FHDEV(DEV_TAPE_MAJOR, 198)), "\\Device\\Tape70"},
+ {"/dev/nst71", BRACK(FHDEV(DEV_TAPE_MAJOR, 199)), "\\Device\\Tape71"},
+ {"/dev/nst72", BRACK(FHDEV(DEV_TAPE_MAJOR, 200)), "\\Device\\Tape72"},
+ {"/dev/nst73", BRACK(FHDEV(DEV_TAPE_MAJOR, 201)), "\\Device\\Tape73"},
+ {"/dev/nst74", BRACK(FHDEV(DEV_TAPE_MAJOR, 202)), "\\Device\\Tape74"},
+ {"/dev/nst75", BRACK(FHDEV(DEV_TAPE_MAJOR, 203)), "\\Device\\Tape75"},
+ {"/dev/nst76", BRACK(FHDEV(DEV_TAPE_MAJOR, 204)), "\\Device\\Tape76"},
+ {"/dev/nst77", BRACK(FHDEV(DEV_TAPE_MAJOR, 205)), "\\Device\\Tape77"},
+ {"/dev/nst78", BRACK(FHDEV(DEV_TAPE_MAJOR, 206)), "\\Device\\Tape78"},
+ {"/dev/nst79", BRACK(FHDEV(DEV_TAPE_MAJOR, 207)), "\\Device\\Tape79"},
+ {"/dev/nst80", BRACK(FHDEV(DEV_TAPE_MAJOR, 208)), "\\Device\\Tape80"},
+ {"/dev/nst81", BRACK(FHDEV(DEV_TAPE_MAJOR, 209)), "\\Device\\Tape81"},
+ {"/dev/nst82", BRACK(FHDEV(DEV_TAPE_MAJOR, 210)), "\\Device\\Tape82"},
+ {"/dev/nst83", BRACK(FHDEV(DEV_TAPE_MAJOR, 211)), "\\Device\\Tape83"},
+ {"/dev/nst84", BRACK(FHDEV(DEV_TAPE_MAJOR, 212)), "\\Device\\Tape84"},
+ {"/dev/nst85", BRACK(FHDEV(DEV_TAPE_MAJOR, 213)), "\\Device\\Tape85"},
+ {"/dev/nst86", BRACK(FHDEV(DEV_TAPE_MAJOR, 214)), "\\Device\\Tape86"},
+ {"/dev/nst87", BRACK(FHDEV(DEV_TAPE_MAJOR, 215)), "\\Device\\Tape87"},
+ {"/dev/nst88", BRACK(FHDEV(DEV_TAPE_MAJOR, 216)), "\\Device\\Tape88"},
+ {"/dev/nst89", BRACK(FHDEV(DEV_TAPE_MAJOR, 217)), "\\Device\\Tape89"},
+ {"/dev/nst90", BRACK(FHDEV(DEV_TAPE_MAJOR, 218)), "\\Device\\Tape90"},
+ {"/dev/nst91", BRACK(FHDEV(DEV_TAPE_MAJOR, 219)), "\\Device\\Tape91"},
+ {"/dev/nst92", BRACK(FHDEV(DEV_TAPE_MAJOR, 220)), "\\Device\\Tape92"},
+ {"/dev/nst93", BRACK(FHDEV(DEV_TAPE_MAJOR, 221)), "\\Device\\Tape93"},
+ {"/dev/nst94", BRACK(FHDEV(DEV_TAPE_MAJOR, 222)), "\\Device\\Tape94"},
+ {"/dev/nst95", BRACK(FHDEV(DEV_TAPE_MAJOR, 223)), "\\Device\\Tape95"},
+ {"/dev/nst96", BRACK(FHDEV(DEV_TAPE_MAJOR, 224)), "\\Device\\Tape96"},
+ {"/dev/nst97", BRACK(FHDEV(DEV_TAPE_MAJOR, 225)), "\\Device\\Tape97"},
+ {"/dev/nst98", BRACK(FHDEV(DEV_TAPE_MAJOR, 226)), "\\Device\\Tape98"},
+ {"/dev/nst99", BRACK(FHDEV(DEV_TAPE_MAJOR, 227)), "\\Device\\Tape99"},
+ {"/dev/nst100", BRACK(FHDEV(DEV_TAPE_MAJOR, 228)), "\\Device\\Tape100"},
+ {"/dev/nst101", BRACK(FHDEV(DEV_TAPE_MAJOR, 229)), "\\Device\\Tape101"},
+ {"/dev/nst102", BRACK(FHDEV(DEV_TAPE_MAJOR, 230)), "\\Device\\Tape102"},
+ {"/dev/nst103", BRACK(FHDEV(DEV_TAPE_MAJOR, 231)), "\\Device\\Tape103"},
+ {"/dev/nst104", BRACK(FHDEV(DEV_TAPE_MAJOR, 232)), "\\Device\\Tape104"},
+ {"/dev/nst105", BRACK(FHDEV(DEV_TAPE_MAJOR, 233)), "\\Device\\Tape105"},
+ {"/dev/nst106", BRACK(FHDEV(DEV_TAPE_MAJOR, 234)), "\\Device\\Tape106"},
+ {"/dev/nst107", BRACK(FHDEV(DEV_TAPE_MAJOR, 235)), "\\Device\\Tape107"},
+ {"/dev/nst108", BRACK(FHDEV(DEV_TAPE_MAJOR, 236)), "\\Device\\Tape108"},
+ {"/dev/nst109", BRACK(FHDEV(DEV_TAPE_MAJOR, 237)), "\\Device\\Tape109"},
+ {"/dev/nst110", BRACK(FHDEV(DEV_TAPE_MAJOR, 238)), "\\Device\\Tape110"},
+ {"/dev/nst111", BRACK(FHDEV(DEV_TAPE_MAJOR, 239)), "\\Device\\Tape111"},
+ {"/dev/nst112", BRACK(FHDEV(DEV_TAPE_MAJOR, 240)), "\\Device\\Tape112"},
+ {"/dev/nst113", BRACK(FHDEV(DEV_TAPE_MAJOR, 241)), "\\Device\\Tape113"},
+ {"/dev/nst114", BRACK(FHDEV(DEV_TAPE_MAJOR, 242)), "\\Device\\Tape114"},
+ {"/dev/nst115", BRACK(FHDEV(DEV_TAPE_MAJOR, 243)), "\\Device\\Tape115"},
+ {"/dev/nst116", BRACK(FHDEV(DEV_TAPE_MAJOR, 244)), "\\Device\\Tape116"},
+ {"/dev/nst117", BRACK(FHDEV(DEV_TAPE_MAJOR, 245)), "\\Device\\Tape117"},
+ {"/dev/nst118", BRACK(FHDEV(DEV_TAPE_MAJOR, 246)), "\\Device\\Tape118"},
+ {"/dev/nst119", BRACK(FHDEV(DEV_TAPE_MAJOR, 247)), "\\Device\\Tape119"},
+ {"/dev/nst120", BRACK(FHDEV(DEV_TAPE_MAJOR, 248)), "\\Device\\Tape120"},
+ {"/dev/nst121", BRACK(FHDEV(DEV_TAPE_MAJOR, 249)), "\\Device\\Tape121"},
+ {"/dev/nst122", BRACK(FHDEV(DEV_TAPE_MAJOR, 250)), "\\Device\\Tape122"},
+ {"/dev/nst123", BRACK(FHDEV(DEV_TAPE_MAJOR, 251)), "\\Device\\Tape123"},
+ {"/dev/nst124", BRACK(FHDEV(DEV_TAPE_MAJOR, 252)), "\\Device\\Tape124"},
+ {"/dev/nst125", BRACK(FHDEV(DEV_TAPE_MAJOR, 253)), "\\Device\\Tape125"},
+ {"/dev/nst126", BRACK(FHDEV(DEV_TAPE_MAJOR, 254)), "\\Device\\Tape126"},
+ {"/dev/nst127", BRACK(FHDEV(DEV_TAPE_MAJOR, 255)), "\\Device\\Tape127"},
+ {"/dev/null", BRACK(FH_NULL), "\\Device\\Null"},
+ {"/dev/pipe", BRACK(FH_PIPE), "/dev/pipe"},
+ {"/dev/port", BRACK(FH_PORT), "/dev/port"},
+ {"/dev/ptmx", BRACK(FH_PTMX), "/dev/ptmx"},
+ {"/dev/pty0", BRACK(FHDEV(DEV_PTYS_MAJOR, 0)), "/dev/pty0"},
+ {"/dev/pty1", BRACK(FHDEV(DEV_PTYS_MAJOR, 1)), "/dev/pty1"},
+ {"/dev/pty2", BRACK(FHDEV(DEV_PTYS_MAJOR, 2)), "/dev/pty2"},
+ {"/dev/pty3", BRACK(FHDEV(DEV_PTYS_MAJOR, 3)), "/dev/pty3"},
+ {"/dev/pty4", BRACK(FHDEV(DEV_PTYS_MAJOR, 4)), "/dev/pty4"},
+ {"/dev/pty5", BRACK(FHDEV(DEV_PTYS_MAJOR, 5)), "/dev/pty5"},
+ {"/dev/pty6", BRACK(FHDEV(DEV_PTYS_MAJOR, 6)), "/dev/pty6"},
+ {"/dev/pty7", BRACK(FHDEV(DEV_PTYS_MAJOR, 7)), "/dev/pty7"},
+ {"/dev/pty8", BRACK(FHDEV(DEV_PTYS_MAJOR, 8)), "/dev/pty8"},
+ {"/dev/pty9", BRACK(FHDEV(DEV_PTYS_MAJOR, 9)), "/dev/pty9"},
+ {"/dev/pty10", BRACK(FHDEV(DEV_PTYS_MAJOR, 10)), "/dev/pty10"},
+ {"/dev/pty11", BRACK(FHDEV(DEV_PTYS_MAJOR, 11)), "/dev/pty11"},
+ {"/dev/pty12", BRACK(FHDEV(DEV_PTYS_MAJOR, 12)), "/dev/pty12"},
+ {"/dev/pty13", BRACK(FHDEV(DEV_PTYS_MAJOR, 13)), "/dev/pty13"},
+ {"/dev/pty14", BRACK(FHDEV(DEV_PTYS_MAJOR, 14)), "/dev/pty14"},
+ {"/dev/pty15", BRACK(FHDEV(DEV_PTYS_MAJOR, 15)), "/dev/pty15"},
+ {"/dev/pty16", BRACK(FHDEV(DEV_PTYS_MAJOR, 16)), "/dev/pty16"},
+ {"/dev/pty17", BRACK(FHDEV(DEV_PTYS_MAJOR, 17)), "/dev/pty17"},
+ {"/dev/pty18", BRACK(FHDEV(DEV_PTYS_MAJOR, 18)), "/dev/pty18"},
+ {"/dev/pty19", BRACK(FHDEV(DEV_PTYS_MAJOR, 19)), "/dev/pty19"},
+ {"/dev/pty20", BRACK(FHDEV(DEV_PTYS_MAJOR, 20)), "/dev/pty20"},
+ {"/dev/pty21", BRACK(FHDEV(DEV_PTYS_MAJOR, 21)), "/dev/pty21"},
+ {"/dev/pty22", BRACK(FHDEV(DEV_PTYS_MAJOR, 22)), "/dev/pty22"},
+ {"/dev/pty23", BRACK(FHDEV(DEV_PTYS_MAJOR, 23)), "/dev/pty23"},
+ {"/dev/pty24", BRACK(FHDEV(DEV_PTYS_MAJOR, 24)), "/dev/pty24"},
+ {"/dev/pty25", BRACK(FHDEV(DEV_PTYS_MAJOR, 25)), "/dev/pty25"},
+ {"/dev/pty26", BRACK(FHDEV(DEV_PTYS_MAJOR, 26)), "/dev/pty26"},
+ {"/dev/pty27", BRACK(FHDEV(DEV_PTYS_MAJOR, 27)), "/dev/pty27"},
+ {"/dev/pty28", BRACK(FHDEV(DEV_PTYS_MAJOR, 28)), "/dev/pty28"},
+ {"/dev/pty29", BRACK(FHDEV(DEV_PTYS_MAJOR, 29)), "/dev/pty29"},
+ {"/dev/pty30", BRACK(FHDEV(DEV_PTYS_MAJOR, 30)), "/dev/pty30"},
+ {"/dev/pty31", BRACK(FHDEV(DEV_PTYS_MAJOR, 31)), "/dev/pty31"},
+ {"/dev/pty32", BRACK(FHDEV(DEV_PTYS_MAJOR, 32)), "/dev/pty32"},
+ {"/dev/pty33", BRACK(FHDEV(DEV_PTYS_MAJOR, 33)), "/dev/pty33"},
+ {"/dev/pty34", BRACK(FHDEV(DEV_PTYS_MAJOR, 34)), "/dev/pty34"},
+ {"/dev/pty35", BRACK(FHDEV(DEV_PTYS_MAJOR, 35)), "/dev/pty35"},
+ {"/dev/pty36", BRACK(FHDEV(DEV_PTYS_MAJOR, 36)), "/dev/pty36"},
+ {"/dev/pty37", BRACK(FHDEV(DEV_PTYS_MAJOR, 37)), "/dev/pty37"},
+ {"/dev/pty38", BRACK(FHDEV(DEV_PTYS_MAJOR, 38)), "/dev/pty38"},
+ {"/dev/pty39", BRACK(FHDEV(DEV_PTYS_MAJOR, 39)), "/dev/pty39"},
+ {"/dev/pty40", BRACK(FHDEV(DEV_PTYS_MAJOR, 40)), "/dev/pty40"},
+ {"/dev/pty41", BRACK(FHDEV(DEV_PTYS_MAJOR, 41)), "/dev/pty41"},
+ {"/dev/pty42", BRACK(FHDEV(DEV_PTYS_MAJOR, 42)), "/dev/pty42"},
+ {"/dev/pty43", BRACK(FHDEV(DEV_PTYS_MAJOR, 43)), "/dev/pty43"},
+ {"/dev/pty44", BRACK(FHDEV(DEV_PTYS_MAJOR, 44)), "/dev/pty44"},
+ {"/dev/pty45", BRACK(FHDEV(DEV_PTYS_MAJOR, 45)), "/dev/pty45"},
+ {"/dev/pty46", BRACK(FHDEV(DEV_PTYS_MAJOR, 46)), "/dev/pty46"},
+ {"/dev/pty47", BRACK(FHDEV(DEV_PTYS_MAJOR, 47)), "/dev/pty47"},
+ {"/dev/pty48", BRACK(FHDEV(DEV_PTYS_MAJOR, 48)), "/dev/pty48"},
+ {"/dev/pty49", BRACK(FHDEV(DEV_PTYS_MAJOR, 49)), "/dev/pty49"},
+ {"/dev/pty50", BRACK(FHDEV(DEV_PTYS_MAJOR, 50)), "/dev/pty50"},
+ {"/dev/pty51", BRACK(FHDEV(DEV_PTYS_MAJOR, 51)), "/dev/pty51"},
+ {"/dev/pty52", BRACK(FHDEV(DEV_PTYS_MAJOR, 52)), "/dev/pty52"},
+ {"/dev/pty53", BRACK(FHDEV(DEV_PTYS_MAJOR, 53)), "/dev/pty53"},
+ {"/dev/pty54", BRACK(FHDEV(DEV_PTYS_MAJOR, 54)), "/dev/pty54"},
+ {"/dev/pty55", BRACK(FHDEV(DEV_PTYS_MAJOR, 55)), "/dev/pty55"},
+ {"/dev/pty56", BRACK(FHDEV(DEV_PTYS_MAJOR, 56)), "/dev/pty56"},
+ {"/dev/pty57", BRACK(FHDEV(DEV_PTYS_MAJOR, 57)), "/dev/pty57"},
+ {"/dev/pty58", BRACK(FHDEV(DEV_PTYS_MAJOR, 58)), "/dev/pty58"},
+ {"/dev/pty59", BRACK(FHDEV(DEV_PTYS_MAJOR, 59)), "/dev/pty59"},
+ {"/dev/pty60", BRACK(FHDEV(DEV_PTYS_MAJOR, 60)), "/dev/pty60"},
+ {"/dev/pty61", BRACK(FHDEV(DEV_PTYS_MAJOR, 61)), "/dev/pty61"},
+ {"/dev/pty62", BRACK(FHDEV(DEV_PTYS_MAJOR, 62)), "/dev/pty62"},
+ {"/dev/pty63", BRACK(FHDEV(DEV_PTYS_MAJOR, 63)), "/dev/pty63"},
+ {"/dev/ptym0", BRACK(FHDEV(DEV_PTYM_MAJOR, 0)), "/dev/ptym0"},
+ {"/dev/ptym1", BRACK(FHDEV(DEV_PTYM_MAJOR, 1)), "/dev/ptym1"},
+ {"/dev/ptym2", BRACK(FHDEV(DEV_PTYM_MAJOR, 2)), "/dev/ptym2"},
+ {"/dev/ptym3", BRACK(FHDEV(DEV_PTYM_MAJOR, 3)), "/dev/ptym3"},
+ {"/dev/ptym4", BRACK(FHDEV(DEV_PTYM_MAJOR, 4)), "/dev/ptym4"},
+ {"/dev/ptym5", BRACK(FHDEV(DEV_PTYM_MAJOR, 5)), "/dev/ptym5"},
+ {"/dev/ptym6", BRACK(FHDEV(DEV_PTYM_MAJOR, 6)), "/dev/ptym6"},
+ {"/dev/ptym7", BRACK(FHDEV(DEV_PTYM_MAJOR, 7)), "/dev/ptym7"},
+ {"/dev/ptym8", BRACK(FHDEV(DEV_PTYM_MAJOR, 8)), "/dev/ptym8"},
+ {"/dev/ptym9", BRACK(FHDEV(DEV_PTYM_MAJOR, 9)), "/dev/ptym9"},
+ {"/dev/ptym10", BRACK(FHDEV(DEV_PTYM_MAJOR, 10)), "/dev/ptym10"},
+ {"/dev/ptym11", BRACK(FHDEV(DEV_PTYM_MAJOR, 11)), "/dev/ptym11"},
+ {"/dev/ptym12", BRACK(FHDEV(DEV_PTYM_MAJOR, 12)), "/dev/ptym12"},
+ {"/dev/ptym13", BRACK(FHDEV(DEV_PTYM_MAJOR, 13)), "/dev/ptym13"},
+ {"/dev/ptym14", BRACK(FHDEV(DEV_PTYM_MAJOR, 14)), "/dev/ptym14"},
+ {"/dev/ptym15", BRACK(FHDEV(DEV_PTYM_MAJOR, 15)), "/dev/ptym15"},
+ {"/dev/ptym16", BRACK(FHDEV(DEV_PTYM_MAJOR, 16)), "/dev/ptym16"},
+ {"/dev/ptym17", BRACK(FHDEV(DEV_PTYM_MAJOR, 17)), "/dev/ptym17"},
+ {"/dev/ptym18", BRACK(FHDEV(DEV_PTYM_MAJOR, 18)), "/dev/ptym18"},
+ {"/dev/ptym19", BRACK(FHDEV(DEV_PTYM_MAJOR, 19)), "/dev/ptym19"},
+ {"/dev/ptym20", BRACK(FHDEV(DEV_PTYM_MAJOR, 20)), "/dev/ptym20"},
+ {"/dev/ptym21", BRACK(FHDEV(DEV_PTYM_MAJOR, 21)), "/dev/ptym21"},
+ {"/dev/ptym22", BRACK(FHDEV(DEV_PTYM_MAJOR, 22)), "/dev/ptym22"},
+ {"/dev/ptym23", BRACK(FHDEV(DEV_PTYM_MAJOR, 23)), "/dev/ptym23"},
+ {"/dev/ptym24", BRACK(FHDEV(DEV_PTYM_MAJOR, 24)), "/dev/ptym24"},
+ {"/dev/ptym25", BRACK(FHDEV(DEV_PTYM_MAJOR, 25)), "/dev/ptym25"},
+ {"/dev/ptym26", BRACK(FHDEV(DEV_PTYM_MAJOR, 26)), "/dev/ptym26"},
+ {"/dev/ptym27", BRACK(FHDEV(DEV_PTYM_MAJOR, 27)), "/dev/ptym27"},
+ {"/dev/ptym28", BRACK(FHDEV(DEV_PTYM_MAJOR, 28)), "/dev/ptym28"},
+ {"/dev/ptym29", BRACK(FHDEV(DEV_PTYM_MAJOR, 29)), "/dev/ptym29"},
+ {"/dev/ptym30", BRACK(FHDEV(DEV_PTYM_MAJOR, 30)), "/dev/ptym30"},
+ {"/dev/ptym31", BRACK(FHDEV(DEV_PTYM_MAJOR, 31)), "/dev/ptym31"},
+ {"/dev/ptym32", BRACK(FHDEV(DEV_PTYM_MAJOR, 32)), "/dev/ptym32"},
+ {"/dev/ptym33", BRACK(FHDEV(DEV_PTYM_MAJOR, 33)), "/dev/ptym33"},
+ {"/dev/ptym34", BRACK(FHDEV(DEV_PTYM_MAJOR, 34)), "/dev/ptym34"},
+ {"/dev/ptym35", BRACK(FHDEV(DEV_PTYM_MAJOR, 35)), "/dev/ptym35"},
+ {"/dev/ptym36", BRACK(FHDEV(DEV_PTYM_MAJOR, 36)), "/dev/ptym36"},
+ {"/dev/ptym37", BRACK(FHDEV(DEV_PTYM_MAJOR, 37)), "/dev/ptym37"},
+ {"/dev/ptym38", BRACK(FHDEV(DEV_PTYM_MAJOR, 38)), "/dev/ptym38"},
+ {"/dev/ptym39", BRACK(FHDEV(DEV_PTYM_MAJOR, 39)), "/dev/ptym39"},
+ {"/dev/ptym40", BRACK(FHDEV(DEV_PTYM_MAJOR, 40)), "/dev/ptym40"},
+ {"/dev/ptym41", BRACK(FHDEV(DEV_PTYM_MAJOR, 41)), "/dev/ptym41"},
+ {"/dev/ptym42", BRACK(FHDEV(DEV_PTYM_MAJOR, 42)), "/dev/ptym42"},
+ {"/dev/ptym43", BRACK(FHDEV(DEV_PTYM_MAJOR, 43)), "/dev/ptym43"},
+ {"/dev/ptym44", BRACK(FHDEV(DEV_PTYM_MAJOR, 44)), "/dev/ptym44"},
+ {"/dev/ptym45", BRACK(FHDEV(DEV_PTYM_MAJOR, 45)), "/dev/ptym45"},
+ {"/dev/ptym46", BRACK(FHDEV(DEV_PTYM_MAJOR, 46)), "/dev/ptym46"},
+ {"/dev/ptym47", BRACK(FHDEV(DEV_PTYM_MAJOR, 47)), "/dev/ptym47"},
+ {"/dev/ptym48", BRACK(FHDEV(DEV_PTYM_MAJOR, 48)), "/dev/ptym48"},
+ {"/dev/ptym49", BRACK(FHDEV(DEV_PTYM_MAJOR, 49)), "/dev/ptym49"},
+ {"/dev/ptym50", BRACK(FHDEV(DEV_PTYM_MAJOR, 50)), "/dev/ptym50"},
+ {"/dev/ptym51", BRACK(FHDEV(DEV_PTYM_MAJOR, 51)), "/dev/ptym51"},
+ {"/dev/ptym52", BRACK(FHDEV(DEV_PTYM_MAJOR, 52)), "/dev/ptym52"},
+ {"/dev/ptym53", BRACK(FHDEV(DEV_PTYM_MAJOR, 53)), "/dev/ptym53"},
+ {"/dev/ptym54", BRACK(FHDEV(DEV_PTYM_MAJOR, 54)), "/dev/ptym54"},
+ {"/dev/ptym55", BRACK(FHDEV(DEV_PTYM_MAJOR, 55)), "/dev/ptym55"},
+ {"/dev/ptym56", BRACK(FHDEV(DEV_PTYM_MAJOR, 56)), "/dev/ptym56"},
+ {"/dev/ptym57", BRACK(FHDEV(DEV_PTYM_MAJOR, 57)), "/dev/ptym57"},
+ {"/dev/ptym58", BRACK(FHDEV(DEV_PTYM_MAJOR, 58)), "/dev/ptym58"},
+ {"/dev/ptym59", BRACK(FHDEV(DEV_PTYM_MAJOR, 59)), "/dev/ptym59"},
+ {"/dev/ptym60", BRACK(FHDEV(DEV_PTYM_MAJOR, 60)), "/dev/ptym60"},
+ {"/dev/ptym61", BRACK(FHDEV(DEV_PTYM_MAJOR, 61)), "/dev/ptym61"},
+ {"/dev/ptym62", BRACK(FHDEV(DEV_PTYM_MAJOR, 62)), "/dev/ptym62"},
+ {"/dev/ptym63", BRACK(FHDEV(DEV_PTYM_MAJOR, 63)), "/dev/ptym63"},
+ {"/dev/random", BRACK(FH_RANDOM), "/dev/random"},
+ {"/dev/scd0", BRACK(FHDEV(DEV_CDROM_MAJOR, 0)), "\\Device\\CdRom0"},
+ {"/dev/scd1", BRACK(FHDEV(DEV_CDROM_MAJOR, 1)), "\\Device\\CdRom1"},
+ {"/dev/scd2", BRACK(FHDEV(DEV_CDROM_MAJOR, 2)), "\\Device\\CdRom2"},
+ {"/dev/scd3", BRACK(FHDEV(DEV_CDROM_MAJOR, 3)), "\\Device\\CdRom3"},
+ {"/dev/scd4", BRACK(FHDEV(DEV_CDROM_MAJOR, 4)), "\\Device\\CdRom4"},
+ {"/dev/scd5", BRACK(FHDEV(DEV_CDROM_MAJOR, 5)), "\\Device\\CdRom5"},
+ {"/dev/scd6", BRACK(FHDEV(DEV_CDROM_MAJOR, 6)), "\\Device\\CdRom6"},
+ {"/dev/scd7", BRACK(FHDEV(DEV_CDROM_MAJOR, 7)), "\\Device\\CdRom7"},
+ {"/dev/scd8", BRACK(FHDEV(DEV_CDROM_MAJOR, 8)), "\\Device\\CdRom8"},
+ {"/dev/scd9", BRACK(FHDEV(DEV_CDROM_MAJOR, 9)), "\\Device\\CdRom9"},
+ {"/dev/scd10", BRACK(FHDEV(DEV_CDROM_MAJOR, 10)), "\\Device\\CdRom10"},
+ {"/dev/scd11", BRACK(FHDEV(DEV_CDROM_MAJOR, 11)), "\\Device\\CdRom11"},
+ {"/dev/scd12", BRACK(FHDEV(DEV_CDROM_MAJOR, 12)), "\\Device\\CdRom12"},
+ {"/dev/scd13", BRACK(FHDEV(DEV_CDROM_MAJOR, 13)), "\\Device\\CdRom13"},
+ {"/dev/scd14", BRACK(FHDEV(DEV_CDROM_MAJOR, 14)), "\\Device\\CdRom14"},
+ {"/dev/scd15", BRACK(FHDEV(DEV_CDROM_MAJOR, 15)), "\\Device\\CdRom15"},
+ {"/dev/sda", BRACK(FH_SDA), "\\Device\\Harddisk0\\Partition0"},
+ {"/dev/sdb", BRACK(FH_SDB), "\\Device\\Harddisk1\\Partition0"},
+ {"/dev/sdc", BRACK(FH_SDC), "\\Device\\Harddisk2\\Partition0"},
+ {"/dev/sdd", BRACK(FH_SDD), "\\Device\\Harddisk3\\Partition0"},
+ {"/dev/sde", BRACK(FH_SDE), "\\Device\\Harddisk4\\Partition0"},
+ {"/dev/sdf", BRACK(FH_SDF), "\\Device\\Harddisk5\\Partition0"},
+ {"/dev/sdg", BRACK(FH_SDG), "\\Device\\Harddisk6\\Partition0"},
+ {"/dev/sdh", BRACK(FH_SDH), "\\Device\\Harddisk7\\Partition0"},
+ {"/dev/sdi", BRACK(FH_SDI), "\\Device\\Harddisk8\\Partition0"},
+ {"/dev/sdj", BRACK(FH_SDJ), "\\Device\\Harddisk9\\Partition0"},
+ {"/dev/sdk", BRACK(FH_SDK), "\\Device\\Harddisk10\\Partition0"},
+ {"/dev/sdl", BRACK(FH_SDL), "\\Device\\Harddisk11\\Partition0"},
+ {"/dev/sdm", BRACK(FH_SDM), "\\Device\\Harddisk12\\Partition0"},
+ {"/dev/sdn", BRACK(FH_SDN), "\\Device\\Harddisk13\\Partition0"},
+ {"/dev/sdo", BRACK(FH_SDO), "\\Device\\Harddisk14\\Partition0"},
+ {"/dev/sdp", BRACK(FH_SDP), "\\Device\\Harddisk15\\Partition0"},
+ {"/dev/sdq", BRACK(FH_SDQ), "\\Device\\Harddisk16\\Partition0"},
+ {"/dev/sdr", BRACK(FH_SDR), "\\Device\\Harddisk17\\Partition0"},
+ {"/dev/sds", BRACK(FH_SDS), "\\Device\\Harddisk18\\Partition0"},
+ {"/dev/sdt", BRACK(FH_SDT), "\\Device\\Harddisk19\\Partition0"},
+ {"/dev/sdu", BRACK(FH_SDU), "\\Device\\Harddisk20\\Partition0"},
+ {"/dev/sdv", BRACK(FH_SDV), "\\Device\\Harddisk21\\Partition0"},
+ {"/dev/sdw", BRACK(FH_SDW), "\\Device\\Harddisk22\\Partition0"},
+ {"/dev/sdx", BRACK(FH_SDX), "\\Device\\Harddisk23\\Partition0"},
+ {"/dev/sdy", BRACK(FH_SDY), "\\Device\\Harddisk24\\Partition0"},
+ {"/dev/sdz", BRACK(FH_SDZ), "\\Device\\Harddisk25\\Partition0"},
+ {"/dev/sda1", BRACK(FH_SDA | 1), "\\Device\\Harddisk0\\Partition1"},
+ {"/dev/sda2", BRACK(FH_SDA | 2), "\\Device\\Harddisk0\\Partition2"},
+ {"/dev/sda3", BRACK(FH_SDA | 3), "\\Device\\Harddisk0\\Partition3"},
+ {"/dev/sda4", BRACK(FH_SDA | 4), "\\Device\\Harddisk0\\Partition4"},
+ {"/dev/sda5", BRACK(FH_SDA | 5), "\\Device\\Harddisk0\\Partition5"},
+ {"/dev/sda6", BRACK(FH_SDA | 6), "\\Device\\Harddisk0\\Partition6"},
+ {"/dev/sda7", BRACK(FH_SDA | 7), "\\Device\\Harddisk0\\Partition7"},
+ {"/dev/sda8", BRACK(FH_SDA | 8), "\\Device\\Harddisk0\\Partition8"},
+ {"/dev/sda9", BRACK(FH_SDA | 9), "\\Device\\Harddisk0\\Partition9"},
+ {"/dev/sda10", BRACK(FH_SDA | 10), "\\Device\\Harddisk0\\Partition10"},
+ {"/dev/sda11", BRACK(FH_SDA | 11), "\\Device\\Harddisk0\\Partition11"},
+ {"/dev/sda12", BRACK(FH_SDA | 12), "\\Device\\Harddisk0\\Partition12"},
+ {"/dev/sda13", BRACK(FH_SDA | 13), "\\Device\\Harddisk0\\Partition13"},
+ {"/dev/sda14", BRACK(FH_SDA | 14), "\\Device\\Harddisk0\\Partition14"},
+ {"/dev/sda15", BRACK(FH_SDA | 15), "\\Device\\Harddisk0\\Partition15"},
+ {"/dev/sdb1", BRACK(FH_SDB | 1), "\\Device\\Harddisk1\\Partition1"},
+ {"/dev/sdb2", BRACK(FH_SDB | 2), "\\Device\\Harddisk1\\Partition2"},
+ {"/dev/sdb3", BRACK(FH_SDB | 3), "\\Device\\Harddisk1\\Partition3"},
+ {"/dev/sdb4", BRACK(FH_SDB | 4), "\\Device\\Harddisk1\\Partition4"},
+ {"/dev/sdb5", BRACK(FH_SDB | 5), "\\Device\\Harddisk1\\Partition5"},
+ {"/dev/sdb6", BRACK(FH_SDB | 6), "\\Device\\Harddisk1\\Partition6"},
+ {"/dev/sdb7", BRACK(FH_SDB | 7), "\\Device\\Harddisk1\\Partition7"},
+ {"/dev/sdb8", BRACK(FH_SDB | 8), "\\Device\\Harddisk1\\Partition8"},
+ {"/dev/sdb9", BRACK(FH_SDB | 9), "\\Device\\Harddisk1\\Partition9"},
+ {"/dev/sdb10", BRACK(FH_SDB | 10), "\\Device\\Harddisk1\\Partition10"},
+ {"/dev/sdb11", BRACK(FH_SDB | 11), "\\Device\\Harddisk1\\Partition11"},
+ {"/dev/sdb12", BRACK(FH_SDB | 12), "\\Device\\Harddisk1\\Partition12"},
+ {"/dev/sdb13", BRACK(FH_SDB | 13), "\\Device\\Harddisk1\\Partition13"},
+ {"/dev/sdb14", BRACK(FH_SDB | 14), "\\Device\\Harddisk1\\Partition14"},
+ {"/dev/sdb15", BRACK(FH_SDB | 15), "\\Device\\Harddisk1\\Partition15"},
+ {"/dev/sdc1", BRACK(FH_SDC | 1), "\\Device\\Harddisk2\\Partition1"},
+ {"/dev/sdc2", BRACK(FH_SDC | 2), "\\Device\\Harddisk2\\Partition2"},
+ {"/dev/sdc3", BRACK(FH_SDC | 3), "\\Device\\Harddisk2\\Partition3"},
+ {"/dev/sdc4", BRACK(FH_SDC | 4), "\\Device\\Harddisk2\\Partition4"},
+ {"/dev/sdc5", BRACK(FH_SDC | 5), "\\Device\\Harddisk2\\Partition5"},
+ {"/dev/sdc6", BRACK(FH_SDC | 6), "\\Device\\Harddisk2\\Partition6"},
+ {"/dev/sdc7", BRACK(FH_SDC | 7), "\\Device\\Harddisk2\\Partition7"},
+ {"/dev/sdc8", BRACK(FH_SDC | 8), "\\Device\\Harddisk2\\Partition8"},
+ {"/dev/sdc9", BRACK(FH_SDC | 9), "\\Device\\Harddisk2\\Partition9"},
+ {"/dev/sdc10", BRACK(FH_SDC | 10), "\\Device\\Harddisk2\\Partition10"},
+ {"/dev/sdc11", BRACK(FH_SDC | 11), "\\Device\\Harddisk2\\Partition11"},
+ {"/dev/sdc12", BRACK(FH_SDC | 12), "\\Device\\Harddisk2\\Partition12"},
+ {"/dev/sdc13", BRACK(FH_SDC | 13), "\\Device\\Harddisk2\\Partition13"},
+ {"/dev/sdc14", BRACK(FH_SDC | 14), "\\Device\\Harddisk2\\Partition14"},
+ {"/dev/sdc15", BRACK(FH_SDC | 15), "\\Device\\Harddisk2\\Partition15"},
+ {"/dev/sdd1", BRACK(FH_SDD | 1), "\\Device\\Harddisk3\\Partition1"},
+ {"/dev/sdd2", BRACK(FH_SDD | 2), "\\Device\\Harddisk3\\Partition2"},
+ {"/dev/sdd3", BRACK(FH_SDD | 3), "\\Device\\Harddisk3\\Partition3"},
+ {"/dev/sdd4", BRACK(FH_SDD | 4), "\\Device\\Harddisk3\\Partition4"},
+ {"/dev/sdd5", BRACK(FH_SDD | 5), "\\Device\\Harddisk3\\Partition5"},
+ {"/dev/sdd6", BRACK(FH_SDD | 6), "\\Device\\Harddisk3\\Partition6"},
+ {"/dev/sdd7", BRACK(FH_SDD | 7), "\\Device\\Harddisk3\\Partition7"},
+ {"/dev/sdd8", BRACK(FH_SDD | 8), "\\Device\\Harddisk3\\Partition8"},
+ {"/dev/sdd9", BRACK(FH_SDD | 9), "\\Device\\Harddisk3\\Partition9"},
+ {"/dev/sdd10", BRACK(FH_SDD | 10), "\\Device\\Harddisk3\\Partition10"},
+ {"/dev/sdd11", BRACK(FH_SDD | 11), "\\Device\\Harddisk3\\Partition11"},
+ {"/dev/sdd12", BRACK(FH_SDD | 12), "\\Device\\Harddisk3\\Partition12"},
+ {"/dev/sdd13", BRACK(FH_SDD | 13), "\\Device\\Harddisk3\\Partition13"},
+ {"/dev/sdd14", BRACK(FH_SDD | 14), "\\Device\\Harddisk3\\Partition14"},
+ {"/dev/sdd15", BRACK(FH_SDD | 15), "\\Device\\Harddisk3\\Partition15"},
+ {"/dev/sde1", BRACK(FH_SDE | 1), "\\Device\\Harddisk4\\Partition1"},
+ {"/dev/sde2", BRACK(FH_SDE | 2), "\\Device\\Harddisk4\\Partition2"},
+ {"/dev/sde3", BRACK(FH_SDE | 3), "\\Device\\Harddisk4\\Partition3"},
+ {"/dev/sde4", BRACK(FH_SDE | 4), "\\Device\\Harddisk4\\Partition4"},
+ {"/dev/sde5", BRACK(FH_SDE | 5), "\\Device\\Harddisk4\\Partition5"},
+ {"/dev/sde6", BRACK(FH_SDE | 6), "\\Device\\Harddisk4\\Partition6"},
+ {"/dev/sde7", BRACK(FH_SDE | 7), "\\Device\\Harddisk4\\Partition7"},
+ {"/dev/sde8", BRACK(FH_SDE | 8), "\\Device\\Harddisk4\\Partition8"},
+ {"/dev/sde9", BRACK(FH_SDE | 9), "\\Device\\Harddisk4\\Partition9"},
+ {"/dev/sde10", BRACK(FH_SDE | 10), "\\Device\\Harddisk4\\Partition10"},
+ {"/dev/sde11", BRACK(FH_SDE | 11), "\\Device\\Harddisk4\\Partition11"},
+ {"/dev/sde12", BRACK(FH_SDE | 12), "\\Device\\Harddisk4\\Partition12"},
+ {"/dev/sde13", BRACK(FH_SDE | 13), "\\Device\\Harddisk4\\Partition13"},
+ {"/dev/sde14", BRACK(FH_SDE | 14), "\\Device\\Harddisk4\\Partition14"},
+ {"/dev/sde15", BRACK(FH_SDE | 15), "\\Device\\Harddisk4\\Partition15"},
+ {"/dev/sdf1", BRACK(FH_SDF | 1), "\\Device\\Harddisk5\\Partition1"},
+ {"/dev/sdf2", BRACK(FH_SDF | 2), "\\Device\\Harddisk5\\Partition2"},
+ {"/dev/sdf3", BRACK(FH_SDF | 3), "\\Device\\Harddisk5\\Partition3"},
+ {"/dev/sdf4", BRACK(FH_SDF | 4), "\\Device\\Harddisk5\\Partition4"},
+ {"/dev/sdf5", BRACK(FH_SDF | 5), "\\Device\\Harddisk5\\Partition5"},
+ {"/dev/sdf6", BRACK(FH_SDF | 6), "\\Device\\Harddisk5\\Partition6"},
+ {"/dev/sdf7", BRACK(FH_SDF | 7), "\\Device\\Harddisk5\\Partition7"},
+ {"/dev/sdf8", BRACK(FH_SDF | 8), "\\Device\\Harddisk5\\Partition8"},
+ {"/dev/sdf9", BRACK(FH_SDF | 9), "\\Device\\Harddisk5\\Partition9"},
+ {"/dev/sdf10", BRACK(FH_SDF | 10), "\\Device\\Harddisk5\\Partition10"},
+ {"/dev/sdf11", BRACK(FH_SDF | 11), "\\Device\\Harddisk5\\Partition11"},
+ {"/dev/sdf12", BRACK(FH_SDF | 12), "\\Device\\Harddisk5\\Partition12"},
+ {"/dev/sdf13", BRACK(FH_SDF | 13), "\\Device\\Harddisk5\\Partition13"},
+ {"/dev/sdf14", BRACK(FH_SDF | 14), "\\Device\\Harddisk5\\Partition14"},
+ {"/dev/sdf15", BRACK(FH_SDF | 15), "\\Device\\Harddisk5\\Partition15"},
+ {"/dev/sdg1", BRACK(FH_SDG | 1), "\\Device\\Harddisk6\\Partition1"},
+ {"/dev/sdg2", BRACK(FH_SDG | 2), "\\Device\\Harddisk6\\Partition2"},
+ {"/dev/sdg3", BRACK(FH_SDG | 3), "\\Device\\Harddisk6\\Partition3"},
+ {"/dev/sdg4", BRACK(FH_SDG | 4), "\\Device\\Harddisk6\\Partition4"},
+ {"/dev/sdg5", BRACK(FH_SDG | 5), "\\Device\\Harddisk6\\Partition5"},
+ {"/dev/sdg6", BRACK(FH_SDG | 6), "\\Device\\Harddisk6\\Partition6"},
+ {"/dev/sdg7", BRACK(FH_SDG | 7), "\\Device\\Harddisk6\\Partition7"},
+ {"/dev/sdg8", BRACK(FH_SDG | 8), "\\Device\\Harddisk6\\Partition8"},
+ {"/dev/sdg9", BRACK(FH_SDG | 9), "\\Device\\Harddisk6\\Partition9"},
+ {"/dev/sdg10", BRACK(FH_SDG | 10), "\\Device\\Harddisk6\\Partition10"},
+ {"/dev/sdg11", BRACK(FH_SDG | 11), "\\Device\\Harddisk6\\Partition11"},
+ {"/dev/sdg12", BRACK(FH_SDG | 12), "\\Device\\Harddisk6\\Partition12"},
+ {"/dev/sdg13", BRACK(FH_SDG | 13), "\\Device\\Harddisk6\\Partition13"},
+ {"/dev/sdg14", BRACK(FH_SDG | 14), "\\Device\\Harddisk6\\Partition14"},
+ {"/dev/sdg15", BRACK(FH_SDG | 15), "\\Device\\Harddisk6\\Partition15"},
+ {"/dev/sdh1", BRACK(FH_SDH | 1), "\\Device\\Harddisk7\\Partition1"},
+ {"/dev/sdh2", BRACK(FH_SDH | 2), "\\Device\\Harddisk7\\Partition2"},
+ {"/dev/sdh3", BRACK(FH_SDH | 3), "\\Device\\Harddisk7\\Partition3"},
+ {"/dev/sdh4", BRACK(FH_SDH | 4), "\\Device\\Harddisk7\\Partition4"},
+ {"/dev/sdh5", BRACK(FH_SDH | 5), "\\Device\\Harddisk7\\Partition5"},
+ {"/dev/sdh6", BRACK(FH_SDH | 6), "\\Device\\Harddisk7\\Partition6"},
+ {"/dev/sdh7", BRACK(FH_SDH | 7), "\\Device\\Harddisk7\\Partition7"},
+ {"/dev/sdh8", BRACK(FH_SDH | 8), "\\Device\\Harddisk7\\Partition8"},
+ {"/dev/sdh9", BRACK(FH_SDH | 9), "\\Device\\Harddisk7\\Partition9"},
+ {"/dev/sdh10", BRACK(FH_SDH | 10), "\\Device\\Harddisk7\\Partition10"},
+ {"/dev/sdh11", BRACK(FH_SDH | 11), "\\Device\\Harddisk7\\Partition11"},
+ {"/dev/sdh12", BRACK(FH_SDH | 12), "\\Device\\Harddisk7\\Partition12"},
+ {"/dev/sdh13", BRACK(FH_SDH | 13), "\\Device\\Harddisk7\\Partition13"},
+ {"/dev/sdh14", BRACK(FH_SDH | 14), "\\Device\\Harddisk7\\Partition14"},
+ {"/dev/sdh15", BRACK(FH_SDH | 15), "\\Device\\Harddisk7\\Partition15"},
+ {"/dev/sdi1", BRACK(FH_SDI | 1), "\\Device\\Harddisk8\\Partition1"},
+ {"/dev/sdi2", BRACK(FH_SDI | 2), "\\Device\\Harddisk8\\Partition2"},
+ {"/dev/sdi3", BRACK(FH_SDI | 3), "\\Device\\Harddisk8\\Partition3"},
+ {"/dev/sdi4", BRACK(FH_SDI | 4), "\\Device\\Harddisk8\\Partition4"},
+ {"/dev/sdi5", BRACK(FH_SDI | 5), "\\Device\\Harddisk8\\Partition5"},
+ {"/dev/sdi6", BRACK(FH_SDI | 6), "\\Device\\Harddisk8\\Partition6"},
+ {"/dev/sdi7", BRACK(FH_SDI | 7), "\\Device\\Harddisk8\\Partition7"},
+ {"/dev/sdi8", BRACK(FH_SDI | 8), "\\Device\\Harddisk8\\Partition8"},
+ {"/dev/sdi9", BRACK(FH_SDI | 9), "\\Device\\Harddisk8\\Partition9"},
+ {"/dev/sdi10", BRACK(FH_SDI | 10), "\\Device\\Harddisk8\\Partition10"},
+ {"/dev/sdi11", BRACK(FH_SDI | 11), "\\Device\\Harddisk8\\Partition11"},
+ {"/dev/sdi12", BRACK(FH_SDI | 12), "\\Device\\Harddisk8\\Partition12"},
+ {"/dev/sdi13", BRACK(FH_SDI | 13), "\\Device\\Harddisk8\\Partition13"},
+ {"/dev/sdi14", BRACK(FH_SDI | 14), "\\Device\\Harddisk8\\Partition14"},
+ {"/dev/sdi15", BRACK(FH_SDI | 15), "\\Device\\Harddisk8\\Partition15"},
+ {"/dev/sdj1", BRACK(FH_SDJ | 1), "\\Device\\Harddisk9\\Partition1"},
+ {"/dev/sdj2", BRACK(FH_SDJ | 2), "\\Device\\Harddisk9\\Partition2"},
+ {"/dev/sdj3", BRACK(FH_SDJ | 3), "\\Device\\Harddisk9\\Partition3"},
+ {"/dev/sdj4", BRACK(FH_SDJ | 4), "\\Device\\Harddisk9\\Partition4"},
+ {"/dev/sdj5", BRACK(FH_SDJ | 5), "\\Device\\Harddisk9\\Partition5"},
+ {"/dev/sdj6", BRACK(FH_SDJ | 6), "\\Device\\Harddisk9\\Partition6"},
+ {"/dev/sdj7", BRACK(FH_SDJ | 7), "\\Device\\Harddisk9\\Partition7"},
+ {"/dev/sdj8", BRACK(FH_SDJ | 8), "\\Device\\Harddisk9\\Partition8"},
+ {"/dev/sdj9", BRACK(FH_SDJ | 9), "\\Device\\Harddisk9\\Partition9"},
+ {"/dev/sdj10", BRACK(FH_SDJ | 10), "\\Device\\Harddisk9\\Partition10"},
+ {"/dev/sdj11", BRACK(FH_SDJ | 11), "\\Device\\Harddisk9\\Partition11"},
+ {"/dev/sdj12", BRACK(FH_SDJ | 12), "\\Device\\Harddisk9\\Partition12"},
+ {"/dev/sdj13", BRACK(FH_SDJ | 13), "\\Device\\Harddisk9\\Partition13"},
+ {"/dev/sdj14", BRACK(FH_SDJ | 14), "\\Device\\Harddisk9\\Partition14"},
+ {"/dev/sdj15", BRACK(FH_SDJ | 15), "\\Device\\Harddisk9\\Partition15"},
+ {"/dev/sdk1", BRACK(FH_SDK | 1), "\\Device\\Harddisk10\\Partition1"},
+ {"/dev/sdk2", BRACK(FH_SDK | 2), "\\Device\\Harddisk10\\Partition2"},
+ {"/dev/sdk3", BRACK(FH_SDK | 3), "\\Device\\Harddisk10\\Partition3"},
+ {"/dev/sdk4", BRACK(FH_SDK | 4), "\\Device\\Harddisk10\\Partition4"},
+ {"/dev/sdk5", BRACK(FH_SDK | 5), "\\Device\\Harddisk10\\Partition5"},
+ {"/dev/sdk6", BRACK(FH_SDK | 6), "\\Device\\Harddisk10\\Partition6"},
+ {"/dev/sdk7", BRACK(FH_SDK | 7), "\\Device\\Harddisk10\\Partition7"},
+ {"/dev/sdk8", BRACK(FH_SDK | 8), "\\Device\\Harddisk10\\Partition8"},
+ {"/dev/sdk9", BRACK(FH_SDK | 9), "\\Device\\Harddisk10\\Partition9"},
+ {"/dev/sdk10", BRACK(FH_SDK | 10), "\\Device\\Harddisk10\\Partition10"},
+ {"/dev/sdk11", BRACK(FH_SDK | 11), "\\Device\\Harddisk10\\Partition11"},
+ {"/dev/sdk12", BRACK(FH_SDK | 12), "\\Device\\Harddisk10\\Partition12"},
+ {"/dev/sdk13", BRACK(FH_SDK | 13), "\\Device\\Harddisk10\\Partition13"},
+ {"/dev/sdk14", BRACK(FH_SDK | 14), "\\Device\\Harddisk10\\Partition14"},
+ {"/dev/sdk15", BRACK(FH_SDK | 15), "\\Device\\Harddisk10\\Partition15"},
+ {"/dev/sdl1", BRACK(FH_SDL | 1), "\\Device\\Harddisk11\\Partition1"},
+ {"/dev/sdl2", BRACK(FH_SDL | 2), "\\Device\\Harddisk11\\Partition2"},
+ {"/dev/sdl3", BRACK(FH_SDL | 3), "\\Device\\Harddisk11\\Partition3"},
+ {"/dev/sdl4", BRACK(FH_SDL | 4), "\\Device\\Harddisk11\\Partition4"},
+ {"/dev/sdl5", BRACK(FH_SDL | 5), "\\Device\\Harddisk11\\Partition5"},
+ {"/dev/sdl6", BRACK(FH_SDL | 6), "\\Device\\Harddisk11\\Partition6"},
+ {"/dev/sdl7", BRACK(FH_SDL | 7), "\\Device\\Harddisk11\\Partition7"},
+ {"/dev/sdl8", BRACK(FH_SDL | 8), "\\Device\\Harddisk11\\Partition8"},
+ {"/dev/sdl9", BRACK(FH_SDL | 9), "\\Device\\Harddisk11\\Partition9"},
+ {"/dev/sdl10", BRACK(FH_SDL | 10), "\\Device\\Harddisk11\\Partition10"},
+ {"/dev/sdl11", BRACK(FH_SDL | 11), "\\Device\\Harddisk11\\Partition11"},
+ {"/dev/sdl12", BRACK(FH_SDL | 12), "\\Device\\Harddisk11\\Partition12"},
+ {"/dev/sdl13", BRACK(FH_SDL | 13), "\\Device\\Harddisk11\\Partition13"},
+ {"/dev/sdl14", BRACK(FH_SDL | 14), "\\Device\\Harddisk11\\Partition14"},
+ {"/dev/sdl15", BRACK(FH_SDL | 15), "\\Device\\Harddisk11\\Partition15"},
+ {"/dev/sdm1", BRACK(FH_SDM | 1), "\\Device\\Harddisk12\\Partition1"},
+ {"/dev/sdm2", BRACK(FH_SDM | 2), "\\Device\\Harddisk12\\Partition2"},
+ {"/dev/sdm3", BRACK(FH_SDM | 3), "\\Device\\Harddisk12\\Partition3"},
+ {"/dev/sdm4", BRACK(FH_SDM | 4), "\\Device\\Harddisk12\\Partition4"},
+ {"/dev/sdm5", BRACK(FH_SDM | 5), "\\Device\\Harddisk12\\Partition5"},
+ {"/dev/sdm6", BRACK(FH_SDM | 6), "\\Device\\Harddisk12\\Partition6"},
+ {"/dev/sdm7", BRACK(FH_SDM | 7), "\\Device\\Harddisk12\\Partition7"},
+ {"/dev/sdm8", BRACK(FH_SDM | 8), "\\Device\\Harddisk12\\Partition8"},
+ {"/dev/sdm9", BRACK(FH_SDM | 9), "\\Device\\Harddisk12\\Partition9"},
+ {"/dev/sdm10", BRACK(FH_SDM | 10), "\\Device\\Harddisk12\\Partition10"},
+ {"/dev/sdm11", BRACK(FH_SDM | 11), "\\Device\\Harddisk12\\Partition11"},
+ {"/dev/sdm12", BRACK(FH_SDM | 12), "\\Device\\Harddisk12\\Partition12"},
+ {"/dev/sdm13", BRACK(FH_SDM | 13), "\\Device\\Harddisk12\\Partition13"},
+ {"/dev/sdm14", BRACK(FH_SDM | 14), "\\Device\\Harddisk12\\Partition14"},
+ {"/dev/sdm15", BRACK(FH_SDM | 15), "\\Device\\Harddisk12\\Partition15"},
+ {"/dev/sdn1", BRACK(FH_SDN | 1), "\\Device\\Harddisk13\\Partition1"},
+ {"/dev/sdn2", BRACK(FH_SDN | 2), "\\Device\\Harddisk13\\Partition2"},
+ {"/dev/sdn3", BRACK(FH_SDN | 3), "\\Device\\Harddisk13\\Partition3"},
+ {"/dev/sdn4", BRACK(FH_SDN | 4), "\\Device\\Harddisk13\\Partition4"},
+ {"/dev/sdn5", BRACK(FH_SDN | 5), "\\Device\\Harddisk13\\Partition5"},
+ {"/dev/sdn6", BRACK(FH_SDN | 6), "\\Device\\Harddisk13\\Partition6"},
+ {"/dev/sdn7", BRACK(FH_SDN | 7), "\\Device\\Harddisk13\\Partition7"},
+ {"/dev/sdn8", BRACK(FH_SDN | 8), "\\Device\\Harddisk13\\Partition8"},
+ {"/dev/sdn9", BRACK(FH_SDN | 9), "\\Device\\Harddisk13\\Partition9"},
+ {"/dev/sdn10", BRACK(FH_SDN | 10), "\\Device\\Harddisk13\\Partition10"},
+ {"/dev/sdn11", BRACK(FH_SDN | 11), "\\Device\\Harddisk13\\Partition11"},
+ {"/dev/sdn12", BRACK(FH_SDN | 12), "\\Device\\Harddisk13\\Partition12"},
+ {"/dev/sdn13", BRACK(FH_SDN | 13), "\\Device\\Harddisk13\\Partition13"},
+ {"/dev/sdn14", BRACK(FH_SDN | 14), "\\Device\\Harddisk13\\Partition14"},
+ {"/dev/sdn15", BRACK(FH_SDN | 15), "\\Device\\Harddisk13\\Partition15"},
+ {"/dev/sdo1", BRACK(FH_SDO | 1), "\\Device\\Harddisk14\\Partition1"},
+ {"/dev/sdo2", BRACK(FH_SDO | 2), "\\Device\\Harddisk14\\Partition2"},
+ {"/dev/sdo3", BRACK(FH_SDO | 3), "\\Device\\Harddisk14\\Partition3"},
+ {"/dev/sdo4", BRACK(FH_SDO | 4), "\\Device\\Harddisk14\\Partition4"},
+ {"/dev/sdo5", BRACK(FH_SDO | 5), "\\Device\\Harddisk14\\Partition5"},
+ {"/dev/sdo6", BRACK(FH_SDO | 6), "\\Device\\Harddisk14\\Partition6"},
+ {"/dev/sdo7", BRACK(FH_SDO | 7), "\\Device\\Harddisk14\\Partition7"},
+ {"/dev/sdo8", BRACK(FH_SDO | 8), "\\Device\\Harddisk14\\Partition8"},
+ {"/dev/sdo9", BRACK(FH_SDO | 9), "\\Device\\Harddisk14\\Partition9"},
+ {"/dev/sdo10", BRACK(FH_SDO | 10), "\\Device\\Harddisk14\\Partition10"},
+ {"/dev/sdo11", BRACK(FH_SDO | 11), "\\Device\\Harddisk14\\Partition11"},
+ {"/dev/sdo12", BRACK(FH_SDO | 12), "\\Device\\Harddisk14\\Partition12"},
+ {"/dev/sdo13", BRACK(FH_SDO | 13), "\\Device\\Harddisk14\\Partition13"},
+ {"/dev/sdo14", BRACK(FH_SDO | 14), "\\Device\\Harddisk14\\Partition14"},
+ {"/dev/sdo15", BRACK(FH_SDO | 15), "\\Device\\Harddisk14\\Partition15"},
+ {"/dev/sdp1", BRACK(FH_SDP | 1), "\\Device\\Harddisk15\\Partition1"},
+ {"/dev/sdp2", BRACK(FH_SDP | 2), "\\Device\\Harddisk15\\Partition2"},
+ {"/dev/sdp3", BRACK(FH_SDP | 3), "\\Device\\Harddisk15\\Partition3"},
+ {"/dev/sdp4", BRACK(FH_SDP | 4), "\\Device\\Harddisk15\\Partition4"},
+ {"/dev/sdp5", BRACK(FH_SDP | 5), "\\Device\\Harddisk15\\Partition5"},
+ {"/dev/sdp6", BRACK(FH_SDP | 6), "\\Device\\Harddisk15\\Partition6"},
+ {"/dev/sdp7", BRACK(FH_SDP | 7), "\\Device\\Harddisk15\\Partition7"},
+ {"/dev/sdp8", BRACK(FH_SDP | 8), "\\Device\\Harddisk15\\Partition8"},
+ {"/dev/sdp9", BRACK(FH_SDP | 9), "\\Device\\Harddisk15\\Partition9"},
+ {"/dev/sdp10", BRACK(FH_SDP | 10), "\\Device\\Harddisk15\\Partition10"},
+ {"/dev/sdp11", BRACK(FH_SDP | 11), "\\Device\\Harddisk15\\Partition11"},
+ {"/dev/sdp12", BRACK(FH_SDP | 12), "\\Device\\Harddisk15\\Partition12"},
+ {"/dev/sdp13", BRACK(FH_SDP | 13), "\\Device\\Harddisk15\\Partition13"},
+ {"/dev/sdp14", BRACK(FH_SDP | 14), "\\Device\\Harddisk15\\Partition14"},
+ {"/dev/sdp15", BRACK(FH_SDP | 15), "\\Device\\Harddisk15\\Partition15"},
+ {"/dev/sdq1", BRACK(FH_SDQ | 1), "\\Device\\Harddisk16\\Partition1"},
+ {"/dev/sdq2", BRACK(FH_SDQ | 2), "\\Device\\Harddisk16\\Partition2"},
+ {"/dev/sdq3", BRACK(FH_SDQ | 3), "\\Device\\Harddisk16\\Partition3"},
+ {"/dev/sdq4", BRACK(FH_SDQ | 4), "\\Device\\Harddisk16\\Partition4"},
+ {"/dev/sdq5", BRACK(FH_SDQ | 5), "\\Device\\Harddisk16\\Partition5"},
+ {"/dev/sdq6", BRACK(FH_SDQ | 6), "\\Device\\Harddisk16\\Partition6"},
+ {"/dev/sdq7", BRACK(FH_SDQ | 7), "\\Device\\Harddisk16\\Partition7"},
+ {"/dev/sdq8", BRACK(FH_SDQ | 8), "\\Device\\Harddisk16\\Partition8"},
+ {"/dev/sdq9", BRACK(FH_SDQ | 9), "\\Device\\Harddisk16\\Partition9"},
+ {"/dev/sdq10", BRACK(FH_SDQ | 10), "\\Device\\Harddisk16\\Partition10"},
+ {"/dev/sdq11", BRACK(FH_SDQ | 11), "\\Device\\Harddisk16\\Partition11"},
+ {"/dev/sdq12", BRACK(FH_SDQ | 12), "\\Device\\Harddisk16\\Partition12"},
+ {"/dev/sdq13", BRACK(FH_SDQ | 13), "\\Device\\Harddisk16\\Partition13"},
+ {"/dev/sdq14", BRACK(FH_SDQ | 14), "\\Device\\Harddisk16\\Partition14"},
+ {"/dev/sdq15", BRACK(FH_SDQ | 15), "\\Device\\Harddisk16\\Partition15"},
+ {"/dev/sdr1", BRACK(FH_SDR | 1), "\\Device\\Harddisk17\\Partition1"},
+ {"/dev/sdr2", BRACK(FH_SDR | 2), "\\Device\\Harddisk17\\Partition2"},
+ {"/dev/sdr3", BRACK(FH_SDR | 3), "\\Device\\Harddisk17\\Partition3"},
+ {"/dev/sdr4", BRACK(FH_SDR | 4), "\\Device\\Harddisk17\\Partition4"},
+ {"/dev/sdr5", BRACK(FH_SDR | 5), "\\Device\\Harddisk17\\Partition5"},
+ {"/dev/sdr6", BRACK(FH_SDR | 6), "\\Device\\Harddisk17\\Partition6"},
+ {"/dev/sdr7", BRACK(FH_SDR | 7), "\\Device\\Harddisk17\\Partition7"},
+ {"/dev/sdr8", BRACK(FH_SDR | 8), "\\Device\\Harddisk17\\Partition8"},
+ {"/dev/sdr9", BRACK(FH_SDR | 9), "\\Device\\Harddisk17\\Partition9"},
+ {"/dev/sdr10", BRACK(FH_SDR | 10), "\\Device\\Harddisk17\\Partition10"},
+ {"/dev/sdr11", BRACK(FH_SDR | 11), "\\Device\\Harddisk17\\Partition11"},
+ {"/dev/sdr12", BRACK(FH_SDR | 12), "\\Device\\Harddisk17\\Partition12"},
+ {"/dev/sdr13", BRACK(FH_SDR | 13), "\\Device\\Harddisk17\\Partition13"},
+ {"/dev/sdr14", BRACK(FH_SDR | 14), "\\Device\\Harddisk17\\Partition14"},
+ {"/dev/sdr15", BRACK(FH_SDR | 15), "\\Device\\Harddisk17\\Partition15"},
+ {"/dev/sds1", BRACK(FH_SDS | 1), "\\Device\\Harddisk18\\Partition1"},
+ {"/dev/sds2", BRACK(FH_SDS | 2), "\\Device\\Harddisk18\\Partition2"},
+ {"/dev/sds3", BRACK(FH_SDS | 3), "\\Device\\Harddisk18\\Partition3"},
+ {"/dev/sds4", BRACK(FH_SDS | 4), "\\Device\\Harddisk18\\Partition4"},
+ {"/dev/sds5", BRACK(FH_SDS | 5), "\\Device\\Harddisk18\\Partition5"},
+ {"/dev/sds6", BRACK(FH_SDS | 6), "\\Device\\Harddisk18\\Partition6"},
+ {"/dev/sds7", BRACK(FH_SDS | 7), "\\Device\\Harddisk18\\Partition7"},
+ {"/dev/sds8", BRACK(FH_SDS | 8), "\\Device\\Harddisk18\\Partition8"},
+ {"/dev/sds9", BRACK(FH_SDS | 9), "\\Device\\Harddisk18\\Partition9"},
+ {"/dev/sds10", BRACK(FH_SDS | 10), "\\Device\\Harddisk18\\Partition10"},
+ {"/dev/sds11", BRACK(FH_SDS | 11), "\\Device\\Harddisk18\\Partition11"},
+ {"/dev/sds12", BRACK(FH_SDS | 12), "\\Device\\Harddisk18\\Partition12"},
+ {"/dev/sds13", BRACK(FH_SDS | 13), "\\Device\\Harddisk18\\Partition13"},
+ {"/dev/sds14", BRACK(FH_SDS | 14), "\\Device\\Harddisk18\\Partition14"},
+ {"/dev/sds15", BRACK(FH_SDS | 15), "\\Device\\Harddisk18\\Partition15"},
+ {"/dev/sdt1", BRACK(FH_SDT | 1), "\\Device\\Harddisk19\\Partition1"},
+ {"/dev/sdt2", BRACK(FH_SDT | 2), "\\Device\\Harddisk19\\Partition2"},
+ {"/dev/sdt3", BRACK(FH_SDT | 3), "\\Device\\Harddisk19\\Partition3"},
+ {"/dev/sdt4", BRACK(FH_SDT | 4), "\\Device\\Harddisk19\\Partition4"},
+ {"/dev/sdt5", BRACK(FH_SDT | 5), "\\Device\\Harddisk19\\Partition5"},
+ {"/dev/sdt6", BRACK(FH_SDT | 6), "\\Device\\Harddisk19\\Partition6"},
+ {"/dev/sdt7", BRACK(FH_SDT | 7), "\\Device\\Harddisk19\\Partition7"},
+ {"/dev/sdt8", BRACK(FH_SDT | 8), "\\Device\\Harddisk19\\Partition8"},
+ {"/dev/sdt9", BRACK(FH_SDT | 9), "\\Device\\Harddisk19\\Partition9"},
+ {"/dev/sdt10", BRACK(FH_SDT | 10), "\\Device\\Harddisk19\\Partition10"},
+ {"/dev/sdt11", BRACK(FH_SDT | 11), "\\Device\\Harddisk19\\Partition11"},
+ {"/dev/sdt12", BRACK(FH_SDT | 12), "\\Device\\Harddisk19\\Partition12"},
+ {"/dev/sdt13", BRACK(FH_SDT | 13), "\\Device\\Harddisk19\\Partition13"},
+ {"/dev/sdt14", BRACK(FH_SDT | 14), "\\Device\\Harddisk19\\Partition14"},
+ {"/dev/sdt15", BRACK(FH_SDT | 15), "\\Device\\Harddisk19\\Partition15"},
+ {"/dev/sdu1", BRACK(FH_SDU | 1), "\\Device\\Harddisk20\\Partition1"},
+ {"/dev/sdu2", BRACK(FH_SDU | 2), "\\Device\\Harddisk20\\Partition2"},
+ {"/dev/sdu3", BRACK(FH_SDU | 3), "\\Device\\Harddisk20\\Partition3"},
+ {"/dev/sdu4", BRACK(FH_SDU | 4), "\\Device\\Harddisk20\\Partition4"},
+ {"/dev/sdu5", BRACK(FH_SDU | 5), "\\Device\\Harddisk20\\Partition5"},
+ {"/dev/sdu6", BRACK(FH_SDU | 6), "\\Device\\Harddisk20\\Partition6"},
+ {"/dev/sdu7", BRACK(FH_SDU | 7), "\\Device\\Harddisk20\\Partition7"},
+ {"/dev/sdu8", BRACK(FH_SDU | 8), "\\Device\\Harddisk20\\Partition8"},
+ {"/dev/sdu9", BRACK(FH_SDU | 9), "\\Device\\Harddisk20\\Partition9"},
+ {"/dev/sdu10", BRACK(FH_SDU | 10), "\\Device\\Harddisk20\\Partition10"},
+ {"/dev/sdu11", BRACK(FH_SDU | 11), "\\Device\\Harddisk20\\Partition11"},
+ {"/dev/sdu12", BRACK(FH_SDU | 12), "\\Device\\Harddisk20\\Partition12"},
+ {"/dev/sdu13", BRACK(FH_SDU | 13), "\\Device\\Harddisk20\\Partition13"},
+ {"/dev/sdu14", BRACK(FH_SDU | 14), "\\Device\\Harddisk20\\Partition14"},
+ {"/dev/sdu15", BRACK(FH_SDU | 15), "\\Device\\Harddisk20\\Partition15"},
+ {"/dev/sdv1", BRACK(FH_SDV | 1), "\\Device\\Harddisk21\\Partition1"},
+ {"/dev/sdv2", BRACK(FH_SDV | 2), "\\Device\\Harddisk21\\Partition2"},
+ {"/dev/sdv3", BRACK(FH_SDV | 3), "\\Device\\Harddisk21\\Partition3"},
+ {"/dev/sdv4", BRACK(FH_SDV | 4), "\\Device\\Harddisk21\\Partition4"},
+ {"/dev/sdv5", BRACK(FH_SDV | 5), "\\Device\\Harddisk21\\Partition5"},
+ {"/dev/sdv6", BRACK(FH_SDV | 6), "\\Device\\Harddisk21\\Partition6"},
+ {"/dev/sdv7", BRACK(FH_SDV | 7), "\\Device\\Harddisk21\\Partition7"},
+ {"/dev/sdv8", BRACK(FH_SDV | 8), "\\Device\\Harddisk21\\Partition8"},
+ {"/dev/sdv9", BRACK(FH_SDV | 9), "\\Device\\Harddisk21\\Partition9"},
+ {"/dev/sdv10", BRACK(FH_SDV | 10), "\\Device\\Harddisk21\\Partition10"},
+ {"/dev/sdv11", BRACK(FH_SDV | 11), "\\Device\\Harddisk21\\Partition11"},
+ {"/dev/sdv12", BRACK(FH_SDV | 12), "\\Device\\Harddisk21\\Partition12"},
+ {"/dev/sdv13", BRACK(FH_SDV | 13), "\\Device\\Harddisk21\\Partition13"},
+ {"/dev/sdv14", BRACK(FH_SDV | 14), "\\Device\\Harddisk21\\Partition14"},
+ {"/dev/sdv15", BRACK(FH_SDV | 15), "\\Device\\Harddisk21\\Partition15"},
+ {"/dev/sdw1", BRACK(FH_SDW | 1), "\\Device\\Harddisk22\\Partition1"},
+ {"/dev/sdw2", BRACK(FH_SDW | 2), "\\Device\\Harddisk22\\Partition2"},
+ {"/dev/sdw3", BRACK(FH_SDW | 3), "\\Device\\Harddisk22\\Partition3"},
+ {"/dev/sdw4", BRACK(FH_SDW | 4), "\\Device\\Harddisk22\\Partition4"},
+ {"/dev/sdw5", BRACK(FH_SDW | 5), "\\Device\\Harddisk22\\Partition5"},
+ {"/dev/sdw6", BRACK(FH_SDW | 6), "\\Device\\Harddisk22\\Partition6"},
+ {"/dev/sdw7", BRACK(FH_SDW | 7), "\\Device\\Harddisk22\\Partition7"},
+ {"/dev/sdw8", BRACK(FH_SDW | 8), "\\Device\\Harddisk22\\Partition8"},
+ {"/dev/sdw9", BRACK(FH_SDW | 9), "\\Device\\Harddisk22\\Partition9"},
+ {"/dev/sdw10", BRACK(FH_SDW | 10), "\\Device\\Harddisk22\\Partition10"},
+ {"/dev/sdw11", BRACK(FH_SDW | 11), "\\Device\\Harddisk22\\Partition11"},
+ {"/dev/sdw12", BRACK(FH_SDW | 12), "\\Device\\Harddisk22\\Partition12"},
+ {"/dev/sdw13", BRACK(FH_SDW | 13), "\\Device\\Harddisk22\\Partition13"},
+ {"/dev/sdw14", BRACK(FH_SDW | 14), "\\Device\\Harddisk22\\Partition14"},
+ {"/dev/sdw15", BRACK(FH_SDW | 15), "\\Device\\Harddisk22\\Partition15"},
+ {"/dev/sdx1", BRACK(FH_SDX | 1), "\\Device\\Harddisk23\\Partition1"},
+ {"/dev/sdx2", BRACK(FH_SDX | 2), "\\Device\\Harddisk23\\Partition2"},
+ {"/dev/sdx3", BRACK(FH_SDX | 3), "\\Device\\Harddisk23\\Partition3"},
+ {"/dev/sdx4", BRACK(FH_SDX | 4), "\\Device\\Harddisk23\\Partition4"},
+ {"/dev/sdx5", BRACK(FH_SDX | 5), "\\Device\\Harddisk23\\Partition5"},
+ {"/dev/sdx6", BRACK(FH_SDX | 6), "\\Device\\Harddisk23\\Partition6"},
+ {"/dev/sdx7", BRACK(FH_SDX | 7), "\\Device\\Harddisk23\\Partition7"},
+ {"/dev/sdx8", BRACK(FH_SDX | 8), "\\Device\\Harddisk23\\Partition8"},
+ {"/dev/sdx9", BRACK(FH_SDX | 9), "\\Device\\Harddisk23\\Partition9"},
+ {"/dev/sdx10", BRACK(FH_SDX | 10), "\\Device\\Harddisk23\\Partition10"},
+ {"/dev/sdx11", BRACK(FH_SDX | 11), "\\Device\\Harddisk23\\Partition11"},
+ {"/dev/sdx12", BRACK(FH_SDX | 12), "\\Device\\Harddisk23\\Partition12"},
+ {"/dev/sdx13", BRACK(FH_SDX | 13), "\\Device\\Harddisk23\\Partition13"},
+ {"/dev/sdx14", BRACK(FH_SDX | 14), "\\Device\\Harddisk23\\Partition14"},
+ {"/dev/sdx15", BRACK(FH_SDX | 15), "\\Device\\Harddisk23\\Partition15"},
+ {"/dev/sdy1", BRACK(FH_SDY | 1), "\\Device\\Harddisk24\\Partition1"},
+ {"/dev/sdy2", BRACK(FH_SDY | 2), "\\Device\\Harddisk24\\Partition2"},
+ {"/dev/sdy3", BRACK(FH_SDY | 3), "\\Device\\Harddisk24\\Partition3"},
+ {"/dev/sdy4", BRACK(FH_SDY | 4), "\\Device\\Harddisk24\\Partition4"},
+ {"/dev/sdy5", BRACK(FH_SDY | 5), "\\Device\\Harddisk24\\Partition5"},
+ {"/dev/sdy6", BRACK(FH_SDY | 6), "\\Device\\Harddisk24\\Partition6"},
+ {"/dev/sdy7", BRACK(FH_SDY | 7), "\\Device\\Harddisk24\\Partition7"},
+ {"/dev/sdy8", BRACK(FH_SDY | 8), "\\Device\\Harddisk24\\Partition8"},
+ {"/dev/sdy9", BRACK(FH_SDY | 9), "\\Device\\Harddisk24\\Partition9"},
+ {"/dev/sdy10", BRACK(FH_SDY | 10), "\\Device\\Harddisk24\\Partition10"},
+ {"/dev/sdy11", BRACK(FH_SDY | 11), "\\Device\\Harddisk24\\Partition11"},
+ {"/dev/sdy12", BRACK(FH_SDY | 12), "\\Device\\Harddisk24\\Partition12"},
+ {"/dev/sdy13", BRACK(FH_SDY | 13), "\\Device\\Harddisk24\\Partition13"},
+ {"/dev/sdy14", BRACK(FH_SDY | 14), "\\Device\\Harddisk24\\Partition14"},
+ {"/dev/sdy15", BRACK(FH_SDY | 15), "\\Device\\Harddisk24\\Partition15"},
+ {"/dev/sdz1", BRACK(FH_SDZ | 1), "\\Device\\Harddisk25\\Partition1"},
+ {"/dev/sdz2", BRACK(FH_SDZ | 2), "\\Device\\Harddisk25\\Partition2"},
+ {"/dev/sdz3", BRACK(FH_SDZ | 3), "\\Device\\Harddisk25\\Partition3"},
+ {"/dev/sdz4", BRACK(FH_SDZ | 4), "\\Device\\Harddisk25\\Partition4"},
+ {"/dev/sdz5", BRACK(FH_SDZ | 5), "\\Device\\Harddisk25\\Partition5"},
+ {"/dev/sdz6", BRACK(FH_SDZ | 6), "\\Device\\Harddisk25\\Partition6"},
+ {"/dev/sdz7", BRACK(FH_SDZ | 7), "\\Device\\Harddisk25\\Partition7"},
+ {"/dev/sdz8", BRACK(FH_SDZ | 8), "\\Device\\Harddisk25\\Partition8"},
+ {"/dev/sdz9", BRACK(FH_SDZ | 9), "\\Device\\Harddisk25\\Partition9"},
+ {"/dev/sdz10", BRACK(FH_SDZ | 10), "\\Device\\Harddisk25\\Partition10"},
+ {"/dev/sdz11", BRACK(FH_SDZ | 11), "\\Device\\Harddisk25\\Partition11"},
+ {"/dev/sdz12", BRACK(FH_SDZ | 12), "\\Device\\Harddisk25\\Partition12"},
+ {"/dev/sdz13", BRACK(FH_SDZ | 13), "\\Device\\Harddisk25\\Partition13"},
+ {"/dev/sdz14", BRACK(FH_SDZ | 14), "\\Device\\Harddisk25\\Partition14"},
+ {"/dev/sdz15", BRACK(FH_SDZ | 15), "\\Device\\Harddisk25\\Partition15"},
+ {"/dev/sdaa", BRACK(FH_SDAA), "\\Device\\Harddisk26\\Partition0"},
+ {"/dev/sdab", BRACK(FH_SDAB), "\\Device\\Harddisk27\\Partition0"},
+ {"/dev/sdac", BRACK(FH_SDAC), "\\Device\\Harddisk28\\Partition0"},
+ {"/dev/sdad", BRACK(FH_SDAD), "\\Device\\Harddisk29\\Partition0"},
+ {"/dev/sdae", BRACK(FH_SDAE), "\\Device\\Harddisk30\\Partition0"},
+ {"/dev/sdaf", BRACK(FH_SDAF), "\\Device\\Harddisk31\\Partition0"},
+ {"/dev/sdag", BRACK(FH_SDAG), "\\Device\\Harddisk32\\Partition0"},
+ {"/dev/sdah", BRACK(FH_SDAH), "\\Device\\Harddisk33\\Partition0"},
+ {"/dev/sdai", BRACK(FH_SDAI), "\\Device\\Harddisk34\\Partition0"},
+ {"/dev/sdaj", BRACK(FH_SDAJ), "\\Device\\Harddisk35\\Partition0"},
+ {"/dev/sdak", BRACK(FH_SDAK), "\\Device\\Harddisk36\\Partition0"},
+ {"/dev/sdal", BRACK(FH_SDAL), "\\Device\\Harddisk37\\Partition0"},
+ {"/dev/sdam", BRACK(FH_SDAM), "\\Device\\Harddisk38\\Partition0"},
+ {"/dev/sdan", BRACK(FH_SDAN), "\\Device\\Harddisk39\\Partition0"},
+ {"/dev/sdao", BRACK(FH_SDAO), "\\Device\\Harddisk40\\Partition0"},
+ {"/dev/sdap", BRACK(FH_SDAP), "\\Device\\Harddisk41\\Partition0"},
+ {"/dev/sdaq", BRACK(FH_SDAQ), "\\Device\\Harddisk42\\Partition0"},
+ {"/dev/sdar", BRACK(FH_SDAR), "\\Device\\Harddisk43\\Partition0"},
+ {"/dev/sdas", BRACK(FH_SDAS), "\\Device\\Harddisk44\\Partition0"},
+ {"/dev/sdat", BRACK(FH_SDAT), "\\Device\\Harddisk45\\Partition0"},
+ {"/dev/sdau", BRACK(FH_SDAU), "\\Device\\Harddisk46\\Partition0"},
+ {"/dev/sdav", BRACK(FH_SDAV), "\\Device\\Harddisk47\\Partition0"},
+ {"/dev/sdaw", BRACK(FH_SDAW), "\\Device\\Harddisk48\\Partition0"},
+ {"/dev/sdax", BRACK(FH_SDAX), "\\Device\\Harddisk49\\Partition0"},
+ {"/dev/sday", BRACK(FH_SDAY), "\\Device\\Harddisk50\\Partition0"},
+ {"/dev/sdaz", BRACK(FH_SDAZ), "\\Device\\Harddisk51\\Partition0"},
+ {"/dev/sdaa1", BRACK(FH_SDAA | 1), "\\Device\\Harddisk26\\Partition1"},
+ {"/dev/sdaa2", BRACK(FH_SDAA | 2), "\\Device\\Harddisk26\\Partition2"},
+ {"/dev/sdaa3", BRACK(FH_SDAA | 3), "\\Device\\Harddisk26\\Partition3"},
+ {"/dev/sdaa4", BRACK(FH_SDAA | 4), "\\Device\\Harddisk26\\Partition4"},
+ {"/dev/sdaa5", BRACK(FH_SDAA | 5), "\\Device\\Harddisk26\\Partition5"},
+ {"/dev/sdaa6", BRACK(FH_SDAA | 6), "\\Device\\Harddisk26\\Partition6"},
+ {"/dev/sdaa7", BRACK(FH_SDAA | 7), "\\Device\\Harddisk26\\Partition7"},
+ {"/dev/sdaa8", BRACK(FH_SDAA | 8), "\\Device\\Harddisk26\\Partition8"},
+ {"/dev/sdaa9", BRACK(FH_SDAA | 9), "\\Device\\Harddisk26\\Partition9"},
+ {"/dev/sdaa10", BRACK(FH_SDAA | 10), "\\Device\\Harddisk26\\Partition10"},
+ {"/dev/sdaa11", BRACK(FH_SDAA | 11), "\\Device\\Harddisk26\\Partition11"},
+ {"/dev/sdaa12", BRACK(FH_SDAA | 12), "\\Device\\Harddisk26\\Partition12"},
+ {"/dev/sdaa13", BRACK(FH_SDAA | 13), "\\Device\\Harddisk26\\Partition13"},
+ {"/dev/sdaa14", BRACK(FH_SDAA | 14), "\\Device\\Harddisk26\\Partition14"},
+ {"/dev/sdaa15", BRACK(FH_SDAA | 15), "\\Device\\Harddisk26\\Partition15"},
+ {"/dev/sdab1", BRACK(FH_SDAB | 1), "\\Device\\Harddisk27\\Partition1"},
+ {"/dev/sdab2", BRACK(FH_SDAB | 2), "\\Device\\Harddisk27\\Partition2"},
+ {"/dev/sdab3", BRACK(FH_SDAB | 3), "\\Device\\Harddisk27\\Partition3"},
+ {"/dev/sdab4", BRACK(FH_SDAB | 4), "\\Device\\Harddisk27\\Partition4"},
+ {"/dev/sdab5", BRACK(FH_SDAB | 5), "\\Device\\Harddisk27\\Partition5"},
+ {"/dev/sdab6", BRACK(FH_SDAB | 6), "\\Device\\Harddisk27\\Partition6"},
+ {"/dev/sdab7", BRACK(FH_SDAB | 7), "\\Device\\Harddisk27\\Partition7"},
+ {"/dev/sdab8", BRACK(FH_SDAB | 8), "\\Device\\Harddisk27\\Partition8"},
+ {"/dev/sdab9", BRACK(FH_SDAB | 9), "\\Device\\Harddisk27\\Partition9"},
+ {"/dev/sdab10", BRACK(FH_SDAB | 10), "\\Device\\Harddisk27\\Partition10"},
+ {"/dev/sdab11", BRACK(FH_SDAB | 11), "\\Device\\Harddisk27\\Partition11"},
+ {"/dev/sdab12", BRACK(FH_SDAB | 12), "\\Device\\Harddisk27\\Partition12"},
+ {"/dev/sdab13", BRACK(FH_SDAB | 13), "\\Device\\Harddisk27\\Partition13"},
+ {"/dev/sdab14", BRACK(FH_SDAB | 14), "\\Device\\Harddisk27\\Partition14"},
+ {"/dev/sdab15", BRACK(FH_SDAB | 15), "\\Device\\Harddisk27\\Partition15"},
+ {"/dev/sdac1", BRACK(FH_SDAC | 1), "\\Device\\Harddisk28\\Partition1"},
+ {"/dev/sdac2", BRACK(FH_SDAC | 2), "\\Device\\Harddisk28\\Partition2"},
+ {"/dev/sdac3", BRACK(FH_SDAC | 3), "\\Device\\Harddisk28\\Partition3"},
+ {"/dev/sdac4", BRACK(FH_SDAC | 4), "\\Device\\Harddisk28\\Partition4"},
+ {"/dev/sdac5", BRACK(FH_SDAC | 5), "\\Device\\Harddisk28\\Partition5"},
+ {"/dev/sdac6", BRACK(FH_SDAC | 6), "\\Device\\Harddisk28\\Partition6"},
+ {"/dev/sdac7", BRACK(FH_SDAC | 7), "\\Device\\Harddisk28\\Partition7"},
+ {"/dev/sdac8", BRACK(FH_SDAC | 8), "\\Device\\Harddisk28\\Partition8"},
+ {"/dev/sdac9", BRACK(FH_SDAC | 9), "\\Device\\Harddisk28\\Partition9"},
+ {"/dev/sdac10", BRACK(FH_SDAC | 10), "\\Device\\Harddisk28\\Partition10"},
+ {"/dev/sdac11", BRACK(FH_SDAC | 11), "\\Device\\Harddisk28\\Partition11"},
+ {"/dev/sdac12", BRACK(FH_SDAC | 12), "\\Device\\Harddisk28\\Partition12"},
+ {"/dev/sdac13", BRACK(FH_SDAC | 13), "\\Device\\Harddisk28\\Partition13"},
+ {"/dev/sdac14", BRACK(FH_SDAC | 14), "\\Device\\Harddisk28\\Partition14"},
+ {"/dev/sdac15", BRACK(FH_SDAC | 15), "\\Device\\Harddisk28\\Partition15"},
+ {"/dev/sdad1", BRACK(FH_SDAD | 1), "\\Device\\Harddisk29\\Partition1"},
+ {"/dev/sdad2", BRACK(FH_SDAD | 2), "\\Device\\Harddisk29\\Partition2"},
+ {"/dev/sdad3", BRACK(FH_SDAD | 3), "\\Device\\Harddisk29\\Partition3"},
+ {"/dev/sdad4", BRACK(FH_SDAD | 4), "\\Device\\Harddisk29\\Partition4"},
+ {"/dev/sdad5", BRACK(FH_SDAD | 5), "\\Device\\Harddisk29\\Partition5"},
+ {"/dev/sdad6", BRACK(FH_SDAD | 6), "\\Device\\Harddisk29\\Partition6"},
+ {"/dev/sdad7", BRACK(FH_SDAD | 7), "\\Device\\Harddisk29\\Partition7"},
+ {"/dev/sdad8", BRACK(FH_SDAD | 8), "\\Device\\Harddisk29\\Partition8"},
+ {"/dev/sdad9", BRACK(FH_SDAD | 9), "\\Device\\Harddisk29\\Partition9"},
+ {"/dev/sdad10", BRACK(FH_SDAD | 10), "\\Device\\Harddisk29\\Partition10"},
+ {"/dev/sdad11", BRACK(FH_SDAD | 11), "\\Device\\Harddisk29\\Partition11"},
+ {"/dev/sdad12", BRACK(FH_SDAD | 12), "\\Device\\Harddisk29\\Partition12"},
+ {"/dev/sdad13", BRACK(FH_SDAD | 13), "\\Device\\Harddisk29\\Partition13"},
+ {"/dev/sdad14", BRACK(FH_SDAD | 14), "\\Device\\Harddisk29\\Partition14"},
+ {"/dev/sdad15", BRACK(FH_SDAD | 15), "\\Device\\Harddisk29\\Partition15"},
+ {"/dev/sdae1", BRACK(FH_SDAE | 1), "\\Device\\Harddisk30\\Partition1"},
+ {"/dev/sdae2", BRACK(FH_SDAE | 2), "\\Device\\Harddisk30\\Partition2"},
+ {"/dev/sdae3", BRACK(FH_SDAE | 3), "\\Device\\Harddisk30\\Partition3"},
+ {"/dev/sdae4", BRACK(FH_SDAE | 4), "\\Device\\Harddisk30\\Partition4"},
+ {"/dev/sdae5", BRACK(FH_SDAE | 5), "\\Device\\Harddisk30\\Partition5"},
+ {"/dev/sdae6", BRACK(FH_SDAE | 6), "\\Device\\Harddisk30\\Partition6"},
+ {"/dev/sdae7", BRACK(FH_SDAE | 7), "\\Device\\Harddisk30\\Partition7"},
+ {"/dev/sdae8", BRACK(FH_SDAE | 8), "\\Device\\Harddisk30\\Partition8"},
+ {"/dev/sdae9", BRACK(FH_SDAE | 9), "\\Device\\Harddisk30\\Partition9"},
+ {"/dev/sdae10", BRACK(FH_SDAE | 10), "\\Device\\Harddisk30\\Partition10"},
+ {"/dev/sdae11", BRACK(FH_SDAE | 11), "\\Device\\Harddisk30\\Partition11"},
+ {"/dev/sdae12", BRACK(FH_SDAE | 12), "\\Device\\Harddisk30\\Partition12"},
+ {"/dev/sdae13", BRACK(FH_SDAE | 13), "\\Device\\Harddisk30\\Partition13"},
+ {"/dev/sdae14", BRACK(FH_SDAE | 14), "\\Device\\Harddisk30\\Partition14"},
+ {"/dev/sdae15", BRACK(FH_SDAE | 15), "\\Device\\Harddisk30\\Partition15"},
+ {"/dev/sdaf1", BRACK(FH_SDAF | 1), "\\Device\\Harddisk31\\Partition1"},
+ {"/dev/sdaf2", BRACK(FH_SDAF | 2), "\\Device\\Harddisk31\\Partition2"},
+ {"/dev/sdaf3", BRACK(FH_SDAF | 3), "\\Device\\Harddisk31\\Partition3"},
+ {"/dev/sdaf4", BRACK(FH_SDAF | 4), "\\Device\\Harddisk31\\Partition4"},
+ {"/dev/sdaf5", BRACK(FH_SDAF | 5), "\\Device\\Harddisk31\\Partition5"},
+ {"/dev/sdaf6", BRACK(FH_SDAF | 6), "\\Device\\Harddisk31\\Partition6"},
+ {"/dev/sdaf7", BRACK(FH_SDAF | 7), "\\Device\\Harddisk31\\Partition7"},
+ {"/dev/sdaf8", BRACK(FH_SDAF | 8), "\\Device\\Harddisk31\\Partition8"},
+ {"/dev/sdaf9", BRACK(FH_SDAF | 9), "\\Device\\Harddisk31\\Partition9"},
+ {"/dev/sdaf10", BRACK(FH_SDAF | 10), "\\Device\\Harddisk31\\Partition10"},
+ {"/dev/sdaf11", BRACK(FH_SDAF | 11), "\\Device\\Harddisk31\\Partition11"},
+ {"/dev/sdaf12", BRACK(FH_SDAF | 12), "\\Device\\Harddisk31\\Partition12"},
+ {"/dev/sdaf13", BRACK(FH_SDAF | 13), "\\Device\\Harddisk31\\Partition13"},
+ {"/dev/sdaf14", BRACK(FH_SDAF | 14), "\\Device\\Harddisk31\\Partition14"},
+ {"/dev/sdaf15", BRACK(FH_SDAF | 15), "\\Device\\Harddisk31\\Partition15"},
+ {"/dev/sdag1", BRACK(FH_SDAG | 1), "\\Device\\Harddisk32\\Partition1"},
+ {"/dev/sdag2", BRACK(FH_SDAG | 2), "\\Device\\Harddisk32\\Partition2"},
+ {"/dev/sdag3", BRACK(FH_SDAG | 3), "\\Device\\Harddisk32\\Partition3"},
+ {"/dev/sdag4", BRACK(FH_SDAG | 4), "\\Device\\Harddisk32\\Partition4"},
+ {"/dev/sdag5", BRACK(FH_SDAG | 5), "\\Device\\Harddisk32\\Partition5"},
+ {"/dev/sdag6", BRACK(FH_SDAG | 6), "\\Device\\Harddisk32\\Partition6"},
+ {"/dev/sdag7", BRACK(FH_SDAG | 7), "\\Device\\Harddisk32\\Partition7"},
+ {"/dev/sdag8", BRACK(FH_SDAG | 8), "\\Device\\Harddisk32\\Partition8"},
+ {"/dev/sdag9", BRACK(FH_SDAG | 9), "\\Device\\Harddisk32\\Partition9"},
+ {"/dev/sdag10", BRACK(FH_SDAG | 10), "\\Device\\Harddisk32\\Partition10"},
+ {"/dev/sdag11", BRACK(FH_SDAG | 11), "\\Device\\Harddisk32\\Partition11"},
+ {"/dev/sdag12", BRACK(FH_SDAG | 12), "\\Device\\Harddisk32\\Partition12"},
+ {"/dev/sdag13", BRACK(FH_SDAG | 13), "\\Device\\Harddisk32\\Partition13"},
+ {"/dev/sdag14", BRACK(FH_SDAG | 14), "\\Device\\Harddisk32\\Partition14"},
+ {"/dev/sdag15", BRACK(FH_SDAG | 15), "\\Device\\Harddisk32\\Partition15"},
+ {"/dev/sdah1", BRACK(FH_SDAH | 1), "\\Device\\Harddisk33\\Partition1"},
+ {"/dev/sdah2", BRACK(FH_SDAH | 2), "\\Device\\Harddisk33\\Partition2"},
+ {"/dev/sdah3", BRACK(FH_SDAH | 3), "\\Device\\Harddisk33\\Partition3"},
+ {"/dev/sdah4", BRACK(FH_SDAH | 4), "\\Device\\Harddisk33\\Partition4"},
+ {"/dev/sdah5", BRACK(FH_SDAH | 5), "\\Device\\Harddisk33\\Partition5"},
+ {"/dev/sdah6", BRACK(FH_SDAH | 6), "\\Device\\Harddisk33\\Partition6"},
+ {"/dev/sdah7", BRACK(FH_SDAH | 7), "\\Device\\Harddisk33\\Partition7"},
+ {"/dev/sdah8", BRACK(FH_SDAH | 8), "\\Device\\Harddisk33\\Partition8"},
+ {"/dev/sdah9", BRACK(FH_SDAH | 9), "\\Device\\Harddisk33\\Partition9"},
+ {"/dev/sdah10", BRACK(FH_SDAH | 10), "\\Device\\Harddisk33\\Partition10"},
+ {"/dev/sdah11", BRACK(FH_SDAH | 11), "\\Device\\Harddisk33\\Partition11"},
+ {"/dev/sdah12", BRACK(FH_SDAH | 12), "\\Device\\Harddisk33\\Partition12"},
+ {"/dev/sdah13", BRACK(FH_SDAH | 13), "\\Device\\Harddisk33\\Partition13"},
+ {"/dev/sdah14", BRACK(FH_SDAH | 14), "\\Device\\Harddisk33\\Partition14"},
+ {"/dev/sdah15", BRACK(FH_SDAH | 15), "\\Device\\Harddisk33\\Partition15"},
+ {"/dev/sdai1", BRACK(FH_SDAI | 1), "\\Device\\Harddisk34\\Partition1"},
+ {"/dev/sdai2", BRACK(FH_SDAI | 2), "\\Device\\Harddisk34\\Partition2"},
+ {"/dev/sdai3", BRACK(FH_SDAI | 3), "\\Device\\Harddisk34\\Partition3"},
+ {"/dev/sdai4", BRACK(FH_SDAI | 4), "\\Device\\Harddisk34\\Partition4"},
+ {"/dev/sdai5", BRACK(FH_SDAI | 5), "\\Device\\Harddisk34\\Partition5"},
+ {"/dev/sdai6", BRACK(FH_SDAI | 6), "\\Device\\Harddisk34\\Partition6"},
+ {"/dev/sdai7", BRACK(FH_SDAI | 7), "\\Device\\Harddisk34\\Partition7"},
+ {"/dev/sdai8", BRACK(FH_SDAI | 8), "\\Device\\Harddisk34\\Partition8"},
+ {"/dev/sdai9", BRACK(FH_SDAI | 9), "\\Device\\Harddisk34\\Partition9"},
+ {"/dev/sdai10", BRACK(FH_SDAI | 10), "\\Device\\Harddisk34\\Partition10"},
+ {"/dev/sdai11", BRACK(FH_SDAI | 11), "\\Device\\Harddisk34\\Partition11"},
+ {"/dev/sdai12", BRACK(FH_SDAI | 12), "\\Device\\Harddisk34\\Partition12"},
+ {"/dev/sdai13", BRACK(FH_SDAI | 13), "\\Device\\Harddisk34\\Partition13"},
+ {"/dev/sdai14", BRACK(FH_SDAI | 14), "\\Device\\Harddisk34\\Partition14"},
+ {"/dev/sdai15", BRACK(FH_SDAI | 15), "\\Device\\Harddisk34\\Partition15"},
+ {"/dev/sdaj1", BRACK(FH_SDAJ | 1), "\\Device\\Harddisk35\\Partition1"},
+ {"/dev/sdaj2", BRACK(FH_SDAJ | 2), "\\Device\\Harddisk35\\Partition2"},
+ {"/dev/sdaj3", BRACK(FH_SDAJ | 3), "\\Device\\Harddisk35\\Partition3"},
+ {"/dev/sdaj4", BRACK(FH_SDAJ | 4), "\\Device\\Harddisk35\\Partition4"},
+ {"/dev/sdaj5", BRACK(FH_SDAJ | 5), "\\Device\\Harddisk35\\Partition5"},
+ {"/dev/sdaj6", BRACK(FH_SDAJ | 6), "\\Device\\Harddisk35\\Partition6"},
+ {"/dev/sdaj7", BRACK(FH_SDAJ | 7), "\\Device\\Harddisk35\\Partition7"},
+ {"/dev/sdaj8", BRACK(FH_SDAJ | 8), "\\Device\\Harddisk35\\Partition8"},
+ {"/dev/sdaj9", BRACK(FH_SDAJ | 9), "\\Device\\Harddisk35\\Partition9"},
+ {"/dev/sdaj10", BRACK(FH_SDAJ | 10), "\\Device\\Harddisk35\\Partition10"},
+ {"/dev/sdaj11", BRACK(FH_SDAJ | 11), "\\Device\\Harddisk35\\Partition11"},
+ {"/dev/sdaj12", BRACK(FH_SDAJ | 12), "\\Device\\Harddisk35\\Partition12"},
+ {"/dev/sdaj13", BRACK(FH_SDAJ | 13), "\\Device\\Harddisk35\\Partition13"},
+ {"/dev/sdaj14", BRACK(FH_SDAJ | 14), "\\Device\\Harddisk35\\Partition14"},
+ {"/dev/sdaj15", BRACK(FH_SDAJ | 15), "\\Device\\Harddisk35\\Partition15"},
+ {"/dev/sdak1", BRACK(FH_SDAK | 1), "\\Device\\Harddisk36\\Partition1"},
+ {"/dev/sdak2", BRACK(FH_SDAK | 2), "\\Device\\Harddisk36\\Partition2"},
+ {"/dev/sdak3", BRACK(FH_SDAK | 3), "\\Device\\Harddisk36\\Partition3"},
+ {"/dev/sdak4", BRACK(FH_SDAK | 4), "\\Device\\Harddisk36\\Partition4"},
+ {"/dev/sdak5", BRACK(FH_SDAK | 5), "\\Device\\Harddisk36\\Partition5"},
+ {"/dev/sdak6", BRACK(FH_SDAK | 6), "\\Device\\Harddisk36\\Partition6"},
+ {"/dev/sdak7", BRACK(FH_SDAK | 7), "\\Device\\Harddisk36\\Partition7"},
+ {"/dev/sdak8", BRACK(FH_SDAK | 8), "\\Device\\Harddisk36\\Partition8"},
+ {"/dev/sdak9", BRACK(FH_SDAK | 9), "\\Device\\Harddisk36\\Partition9"},
+ {"/dev/sdak10", BRACK(FH_SDAK | 10), "\\Device\\Harddisk36\\Partition10"},
+ {"/dev/sdak11", BRACK(FH_SDAK | 11), "\\Device\\Harddisk36\\Partition11"},
+ {"/dev/sdak12", BRACK(FH_SDAK | 12), "\\Device\\Harddisk36\\Partition12"},
+ {"/dev/sdak13", BRACK(FH_SDAK | 13), "\\Device\\Harddisk36\\Partition13"},
+ {"/dev/sdak14", BRACK(FH_SDAK | 14), "\\Device\\Harddisk36\\Partition14"},
+ {"/dev/sdak15", BRACK(FH_SDAK | 15), "\\Device\\Harddisk36\\Partition15"},
+ {"/dev/sdal1", BRACK(FH_SDAL | 1), "\\Device\\Harddisk37\\Partition1"},
+ {"/dev/sdal2", BRACK(FH_SDAL | 2), "\\Device\\Harddisk37\\Partition2"},
+ {"/dev/sdal3", BRACK(FH_SDAL | 3), "\\Device\\Harddisk37\\Partition3"},
+ {"/dev/sdal4", BRACK(FH_SDAL | 4), "\\Device\\Harddisk37\\Partition4"},
+ {"/dev/sdal5", BRACK(FH_SDAL | 5), "\\Device\\Harddisk37\\Partition5"},
+ {"/dev/sdal6", BRACK(FH_SDAL | 6), "\\Device\\Harddisk37\\Partition6"},
+ {"/dev/sdal7", BRACK(FH_SDAL | 7), "\\Device\\Harddisk37\\Partition7"},
+ {"/dev/sdal8", BRACK(FH_SDAL | 8), "\\Device\\Harddisk37\\Partition8"},
+ {"/dev/sdal9", BRACK(FH_SDAL | 9), "\\Device\\Harddisk37\\Partition9"},
+ {"/dev/sdal10", BRACK(FH_SDAL | 10), "\\Device\\Harddisk37\\Partition10"},
+ {"/dev/sdal11", BRACK(FH_SDAL | 11), "\\Device\\Harddisk37\\Partition11"},
+ {"/dev/sdal12", BRACK(FH_SDAL | 12), "\\Device\\Harddisk37\\Partition12"},
+ {"/dev/sdal13", BRACK(FH_SDAL | 13), "\\Device\\Harddisk37\\Partition13"},
+ {"/dev/sdal14", BRACK(FH_SDAL | 14), "\\Device\\Harddisk37\\Partition14"},
+ {"/dev/sdal15", BRACK(FH_SDAL | 15), "\\Device\\Harddisk37\\Partition15"},
+ {"/dev/sdam1", BRACK(FH_SDAM | 1), "\\Device\\Harddisk38\\Partition1"},
+ {"/dev/sdam2", BRACK(FH_SDAM | 2), "\\Device\\Harddisk38\\Partition2"},
+ {"/dev/sdam3", BRACK(FH_SDAM | 3), "\\Device\\Harddisk38\\Partition3"},
+ {"/dev/sdam4", BRACK(FH_SDAM | 4), "\\Device\\Harddisk38\\Partition4"},
+ {"/dev/sdam5", BRACK(FH_SDAM | 5), "\\Device\\Harddisk38\\Partition5"},
+ {"/dev/sdam6", BRACK(FH_SDAM | 6), "\\Device\\Harddisk38\\Partition6"},
+ {"/dev/sdam7", BRACK(FH_SDAM | 7), "\\Device\\Harddisk38\\Partition7"},
+ {"/dev/sdam8", BRACK(FH_SDAM | 8), "\\Device\\Harddisk38\\Partition8"},
+ {"/dev/sdam9", BRACK(FH_SDAM | 9), "\\Device\\Harddisk38\\Partition9"},
+ {"/dev/sdam10", BRACK(FH_SDAM | 10), "\\Device\\Harddisk38\\Partition10"},
+ {"/dev/sdam11", BRACK(FH_SDAM | 11), "\\Device\\Harddisk38\\Partition11"},
+ {"/dev/sdam12", BRACK(FH_SDAM | 12), "\\Device\\Harddisk38\\Partition12"},
+ {"/dev/sdam13", BRACK(FH_SDAM | 13), "\\Device\\Harddisk38\\Partition13"},
+ {"/dev/sdam14", BRACK(FH_SDAM | 14), "\\Device\\Harddisk38\\Partition14"},
+ {"/dev/sdam15", BRACK(FH_SDAM | 15), "\\Device\\Harddisk38\\Partition15"},
+ {"/dev/sdan1", BRACK(FH_SDAN | 1), "\\Device\\Harddisk39\\Partition1"},
+ {"/dev/sdan2", BRACK(FH_SDAN | 2), "\\Device\\Harddisk39\\Partition2"},
+ {"/dev/sdan3", BRACK(FH_SDAN | 3), "\\Device\\Harddisk39\\Partition3"},
+ {"/dev/sdan4", BRACK(FH_SDAN | 4), "\\Device\\Harddisk39\\Partition4"},
+ {"/dev/sdan5", BRACK(FH_SDAN | 5), "\\Device\\Harddisk39\\Partition5"},
+ {"/dev/sdan6", BRACK(FH_SDAN | 6), "\\Device\\Harddisk39\\Partition6"},
+ {"/dev/sdan7", BRACK(FH_SDAN | 7), "\\Device\\Harddisk39\\Partition7"},
+ {"/dev/sdan8", BRACK(FH_SDAN | 8), "\\Device\\Harddisk39\\Partition8"},
+ {"/dev/sdan9", BRACK(FH_SDAN | 9), "\\Device\\Harddisk39\\Partition9"},
+ {"/dev/sdan10", BRACK(FH_SDAN | 10), "\\Device\\Harddisk39\\Partition10"},
+ {"/dev/sdan11", BRACK(FH_SDAN | 11), "\\Device\\Harddisk39\\Partition11"},
+ {"/dev/sdan12", BRACK(FH_SDAN | 12), "\\Device\\Harddisk39\\Partition12"},
+ {"/dev/sdan13", BRACK(FH_SDAN | 13), "\\Device\\Harddisk39\\Partition13"},
+ {"/dev/sdan14", BRACK(FH_SDAN | 14), "\\Device\\Harddisk39\\Partition14"},
+ {"/dev/sdan15", BRACK(FH_SDAN | 15), "\\Device\\Harddisk39\\Partition15"},
+ {"/dev/sdao1", BRACK(FH_SDAO | 1), "\\Device\\Harddisk40\\Partition1"},
+ {"/dev/sdao2", BRACK(FH_SDAO | 2), "\\Device\\Harddisk40\\Partition2"},
+ {"/dev/sdao3", BRACK(FH_SDAO | 3), "\\Device\\Harddisk40\\Partition3"},
+ {"/dev/sdao4", BRACK(FH_SDAO | 4), "\\Device\\Harddisk40\\Partition4"},
+ {"/dev/sdao5", BRACK(FH_SDAO | 5), "\\Device\\Harddisk40\\Partition5"},
+ {"/dev/sdao6", BRACK(FH_SDAO | 6), "\\Device\\Harddisk40\\Partition6"},
+ {"/dev/sdao7", BRACK(FH_SDAO | 7), "\\Device\\Harddisk40\\Partition7"},
+ {"/dev/sdao8", BRACK(FH_SDAO | 8), "\\Device\\Harddisk40\\Partition8"},
+ {"/dev/sdao9", BRACK(FH_SDAO | 9), "\\Device\\Harddisk40\\Partition9"},
+ {"/dev/sdao10", BRACK(FH_SDAO | 10), "\\Device\\Harddisk40\\Partition10"},
+ {"/dev/sdao11", BRACK(FH_SDAO | 11), "\\Device\\Harddisk40\\Partition11"},
+ {"/dev/sdao12", BRACK(FH_SDAO | 12), "\\Device\\Harddisk40\\Partition12"},
+ {"/dev/sdao13", BRACK(FH_SDAO | 13), "\\Device\\Harddisk40\\Partition13"},
+ {"/dev/sdao14", BRACK(FH_SDAO | 14), "\\Device\\Harddisk40\\Partition14"},
+ {"/dev/sdao15", BRACK(FH_SDAO | 15), "\\Device\\Harddisk40\\Partition15"},
+ {"/dev/sdap1", BRACK(FH_SDAP | 1), "\\Device\\Harddisk41\\Partition1"},
+ {"/dev/sdap2", BRACK(FH_SDAP | 2), "\\Device\\Harddisk41\\Partition2"},
+ {"/dev/sdap3", BRACK(FH_SDAP | 3), "\\Device\\Harddisk41\\Partition3"},
+ {"/dev/sdap4", BRACK(FH_SDAP | 4), "\\Device\\Harddisk41\\Partition4"},
+ {"/dev/sdap5", BRACK(FH_SDAP | 5), "\\Device\\Harddisk41\\Partition5"},
+ {"/dev/sdap6", BRACK(FH_SDAP | 6), "\\Device\\Harddisk41\\Partition6"},
+ {"/dev/sdap7", BRACK(FH_SDAP | 7), "\\Device\\Harddisk41\\Partition7"},
+ {"/dev/sdap8", BRACK(FH_SDAP | 8), "\\Device\\Harddisk41\\Partition8"},
+ {"/dev/sdap9", BRACK(FH_SDAP | 9), "\\Device\\Harddisk41\\Partition9"},
+ {"/dev/sdap10", BRACK(FH_SDAP | 10), "\\Device\\Harddisk41\\Partition10"},
+ {"/dev/sdap11", BRACK(FH_SDAP | 11), "\\Device\\Harddisk41\\Partition11"},
+ {"/dev/sdap12", BRACK(FH_SDAP | 12), "\\Device\\Harddisk41\\Partition12"},
+ {"/dev/sdap13", BRACK(FH_SDAP | 13), "\\Device\\Harddisk41\\Partition13"},
+ {"/dev/sdap14", BRACK(FH_SDAP | 14), "\\Device\\Harddisk41\\Partition14"},
+ {"/dev/sdap15", BRACK(FH_SDAP | 15), "\\Device\\Harddisk41\\Partition15"},
+ {"/dev/sdaq1", BRACK(FH_SDAQ | 1), "\\Device\\Harddisk42\\Partition1"},
+ {"/dev/sdaq2", BRACK(FH_SDAQ | 2), "\\Device\\Harddisk42\\Partition2"},
+ {"/dev/sdaq3", BRACK(FH_SDAQ | 3), "\\Device\\Harddisk42\\Partition3"},
+ {"/dev/sdaq4", BRACK(FH_SDAQ | 4), "\\Device\\Harddisk42\\Partition4"},
+ {"/dev/sdaq5", BRACK(FH_SDAQ | 5), "\\Device\\Harddisk42\\Partition5"},
+ {"/dev/sdaq6", BRACK(FH_SDAQ | 6), "\\Device\\Harddisk42\\Partition6"},
+ {"/dev/sdaq7", BRACK(FH_SDAQ | 7), "\\Device\\Harddisk42\\Partition7"},
+ {"/dev/sdaq8", BRACK(FH_SDAQ | 8), "\\Device\\Harddisk42\\Partition8"},
+ {"/dev/sdaq9", BRACK(FH_SDAQ | 9), "\\Device\\Harddisk42\\Partition9"},
+ {"/dev/sdaq10", BRACK(FH_SDAQ | 10), "\\Device\\Harddisk42\\Partition10"},
+ {"/dev/sdaq11", BRACK(FH_SDAQ | 11), "\\Device\\Harddisk42\\Partition11"},
+ {"/dev/sdaq12", BRACK(FH_SDAQ | 12), "\\Device\\Harddisk42\\Partition12"},
+ {"/dev/sdaq13", BRACK(FH_SDAQ | 13), "\\Device\\Harddisk42\\Partition13"},
+ {"/dev/sdaq14", BRACK(FH_SDAQ | 14), "\\Device\\Harddisk42\\Partition14"},
+ {"/dev/sdaq15", BRACK(FH_SDAQ | 15), "\\Device\\Harddisk42\\Partition15"},
+ {"/dev/sdar1", BRACK(FH_SDAR | 1), "\\Device\\Harddisk43\\Partition1"},
+ {"/dev/sdar2", BRACK(FH_SDAR | 2), "\\Device\\Harddisk43\\Partition2"},
+ {"/dev/sdar3", BRACK(FH_SDAR | 3), "\\Device\\Harddisk43\\Partition3"},
+ {"/dev/sdar4", BRACK(FH_SDAR | 4), "\\Device\\Harddisk43\\Partition4"},
+ {"/dev/sdar5", BRACK(FH_SDAR | 5), "\\Device\\Harddisk43\\Partition5"},
+ {"/dev/sdar6", BRACK(FH_SDAR | 6), "\\Device\\Harddisk43\\Partition6"},
+ {"/dev/sdar7", BRACK(FH_SDAR | 7), "\\Device\\Harddisk43\\Partition7"},
+ {"/dev/sdar8", BRACK(FH_SDAR | 8), "\\Device\\Harddisk43\\Partition8"},
+ {"/dev/sdar9", BRACK(FH_SDAR | 9), "\\Device\\Harddisk43\\Partition9"},
+ {"/dev/sdar10", BRACK(FH_SDAR | 10), "\\Device\\Harddisk43\\Partition10"},
+ {"/dev/sdar11", BRACK(FH_SDAR | 11), "\\Device\\Harddisk43\\Partition11"},
+ {"/dev/sdar12", BRACK(FH_SDAR | 12), "\\Device\\Harddisk43\\Partition12"},
+ {"/dev/sdar13", BRACK(FH_SDAR | 13), "\\Device\\Harddisk43\\Partition13"},
+ {"/dev/sdar14", BRACK(FH_SDAR | 14), "\\Device\\Harddisk43\\Partition14"},
+ {"/dev/sdar15", BRACK(FH_SDAR | 15), "\\Device\\Harddisk43\\Partition15"},
+ {"/dev/sdas1", BRACK(FH_SDAS | 1), "\\Device\\Harddisk44\\Partition1"},
+ {"/dev/sdas2", BRACK(FH_SDAS | 2), "\\Device\\Harddisk44\\Partition2"},
+ {"/dev/sdas3", BRACK(FH_SDAS | 3), "\\Device\\Harddisk44\\Partition3"},
+ {"/dev/sdas4", BRACK(FH_SDAS | 4), "\\Device\\Harddisk44\\Partition4"},
+ {"/dev/sdas5", BRACK(FH_SDAS | 5), "\\Device\\Harddisk44\\Partition5"},
+ {"/dev/sdas6", BRACK(FH_SDAS | 6), "\\Device\\Harddisk44\\Partition6"},
+ {"/dev/sdas7", BRACK(FH_SDAS | 7), "\\Device\\Harddisk44\\Partition7"},
+ {"/dev/sdas8", BRACK(FH_SDAS | 8), "\\Device\\Harddisk44\\Partition8"},
+ {"/dev/sdas9", BRACK(FH_SDAS | 9), "\\Device\\Harddisk44\\Partition9"},
+ {"/dev/sdas10", BRACK(FH_SDAS | 10), "\\Device\\Harddisk44\\Partition10"},
+ {"/dev/sdas11", BRACK(FH_SDAS | 11), "\\Device\\Harddisk44\\Partition11"},
+ {"/dev/sdas12", BRACK(FH_SDAS | 12), "\\Device\\Harddisk44\\Partition12"},
+ {"/dev/sdas13", BRACK(FH_SDAS | 13), "\\Device\\Harddisk44\\Partition13"},
+ {"/dev/sdas14", BRACK(FH_SDAS | 14), "\\Device\\Harddisk44\\Partition14"},
+ {"/dev/sdas15", BRACK(FH_SDAS | 15), "\\Device\\Harddisk44\\Partition15"},
+ {"/dev/sdat1", BRACK(FH_SDAT | 1), "\\Device\\Harddisk45\\Partition1"},
+ {"/dev/sdat2", BRACK(FH_SDAT | 2), "\\Device\\Harddisk45\\Partition2"},
+ {"/dev/sdat3", BRACK(FH_SDAT | 3), "\\Device\\Harddisk45\\Partition3"},
+ {"/dev/sdat4", BRACK(FH_SDAT | 4), "\\Device\\Harddisk45\\Partition4"},
+ {"/dev/sdat5", BRACK(FH_SDAT | 5), "\\Device\\Harddisk45\\Partition5"},
+ {"/dev/sdat6", BRACK(FH_SDAT | 6), "\\Device\\Harddisk45\\Partition6"},
+ {"/dev/sdat7", BRACK(FH_SDAT | 7), "\\Device\\Harddisk45\\Partition7"},
+ {"/dev/sdat8", BRACK(FH_SDAT | 8), "\\Device\\Harddisk45\\Partition8"},
+ {"/dev/sdat9", BRACK(FH_SDAT | 9), "\\Device\\Harddisk45\\Partition9"},
+ {"/dev/sdat10", BRACK(FH_SDAT | 10), "\\Device\\Harddisk45\\Partition10"},
+ {"/dev/sdat11", BRACK(FH_SDAT | 11), "\\Device\\Harddisk45\\Partition11"},
+ {"/dev/sdat12", BRACK(FH_SDAT | 12), "\\Device\\Harddisk45\\Partition12"},
+ {"/dev/sdat13", BRACK(FH_SDAT | 13), "\\Device\\Harddisk45\\Partition13"},
+ {"/dev/sdat14", BRACK(FH_SDAT | 14), "\\Device\\Harddisk45\\Partition14"},
+ {"/dev/sdat15", BRACK(FH_SDAT | 15), "\\Device\\Harddisk45\\Partition15"},
+ {"/dev/sdau1", BRACK(FH_SDAU | 1), "\\Device\\Harddisk46\\Partition1"},
+ {"/dev/sdau2", BRACK(FH_SDAU | 2), "\\Device\\Harddisk46\\Partition2"},
+ {"/dev/sdau3", BRACK(FH_SDAU | 3), "\\Device\\Harddisk46\\Partition3"},
+ {"/dev/sdau4", BRACK(FH_SDAU | 4), "\\Device\\Harddisk46\\Partition4"},
+ {"/dev/sdau5", BRACK(FH_SDAU | 5), "\\Device\\Harddisk46\\Partition5"},
+ {"/dev/sdau6", BRACK(FH_SDAU | 6), "\\Device\\Harddisk46\\Partition6"},
+ {"/dev/sdau7", BRACK(FH_SDAU | 7), "\\Device\\Harddisk46\\Partition7"},
+ {"/dev/sdau8", BRACK(FH_SDAU | 8), "\\Device\\Harddisk46\\Partition8"},
+ {"/dev/sdau9", BRACK(FH_SDAU | 9), "\\Device\\Harddisk46\\Partition9"},
+ {"/dev/sdau10", BRACK(FH_SDAU | 10), "\\Device\\Harddisk46\\Partition10"},
+ {"/dev/sdau11", BRACK(FH_SDAU | 11), "\\Device\\Harddisk46\\Partition11"},
+ {"/dev/sdau12", BRACK(FH_SDAU | 12), "\\Device\\Harddisk46\\Partition12"},
+ {"/dev/sdau13", BRACK(FH_SDAU | 13), "\\Device\\Harddisk46\\Partition13"},
+ {"/dev/sdau14", BRACK(FH_SDAU | 14), "\\Device\\Harddisk46\\Partition14"},
+ {"/dev/sdau15", BRACK(FH_SDAU | 15), "\\Device\\Harddisk46\\Partition15"},
+ {"/dev/sdav1", BRACK(FH_SDAV | 1), "\\Device\\Harddisk47\\Partition1"},
+ {"/dev/sdav2", BRACK(FH_SDAV | 2), "\\Device\\Harddisk47\\Partition2"},
+ {"/dev/sdav3", BRACK(FH_SDAV | 3), "\\Device\\Harddisk47\\Partition3"},
+ {"/dev/sdav4", BRACK(FH_SDAV | 4), "\\Device\\Harddisk47\\Partition4"},
+ {"/dev/sdav5", BRACK(FH_SDAV | 5), "\\Device\\Harddisk47\\Partition5"},
+ {"/dev/sdav6", BRACK(FH_SDAV | 6), "\\Device\\Harddisk47\\Partition6"},
+ {"/dev/sdav7", BRACK(FH_SDAV | 7), "\\Device\\Harddisk47\\Partition7"},
+ {"/dev/sdav8", BRACK(FH_SDAV | 8), "\\Device\\Harddisk47\\Partition8"},
+ {"/dev/sdav9", BRACK(FH_SDAV | 9), "\\Device\\Harddisk47\\Partition9"},
+ {"/dev/sdav10", BRACK(FH_SDAV | 10), "\\Device\\Harddisk47\\Partition10"},
+ {"/dev/sdav11", BRACK(FH_SDAV | 11), "\\Device\\Harddisk47\\Partition11"},
+ {"/dev/sdav12", BRACK(FH_SDAV | 12), "\\Device\\Harddisk47\\Partition12"},
+ {"/dev/sdav13", BRACK(FH_SDAV | 13), "\\Device\\Harddisk47\\Partition13"},
+ {"/dev/sdav14", BRACK(FH_SDAV | 14), "\\Device\\Harddisk47\\Partition14"},
+ {"/dev/sdav15", BRACK(FH_SDAV | 15), "\\Device\\Harddisk47\\Partition15"},
+ {"/dev/sdaw1", BRACK(FH_SDAW | 1), "\\Device\\Harddisk48\\Partition1"},
+ {"/dev/sdaw2", BRACK(FH_SDAW | 2), "\\Device\\Harddisk48\\Partition2"},
+ {"/dev/sdaw3", BRACK(FH_SDAW | 3), "\\Device\\Harddisk48\\Partition3"},
+ {"/dev/sdaw4", BRACK(FH_SDAW | 4), "\\Device\\Harddisk48\\Partition4"},
+ {"/dev/sdaw5", BRACK(FH_SDAW | 5), "\\Device\\Harddisk48\\Partition5"},
+ {"/dev/sdaw6", BRACK(FH_SDAW | 6), "\\Device\\Harddisk48\\Partition6"},
+ {"/dev/sdaw7", BRACK(FH_SDAW | 7), "\\Device\\Harddisk48\\Partition7"},
+ {"/dev/sdaw8", BRACK(FH_SDAW | 8), "\\Device\\Harddisk48\\Partition8"},
+ {"/dev/sdaw9", BRACK(FH_SDAW | 9), "\\Device\\Harddisk48\\Partition9"},
+ {"/dev/sdaw10", BRACK(FH_SDAW | 10), "\\Device\\Harddisk48\\Partition10"},
+ {"/dev/sdaw11", BRACK(FH_SDAW | 11), "\\Device\\Harddisk48\\Partition11"},
+ {"/dev/sdaw12", BRACK(FH_SDAW | 12), "\\Device\\Harddisk48\\Partition12"},
+ {"/dev/sdaw13", BRACK(FH_SDAW | 13), "\\Device\\Harddisk48\\Partition13"},
+ {"/dev/sdaw14", BRACK(FH_SDAW | 14), "\\Device\\Harddisk48\\Partition14"},
+ {"/dev/sdaw15", BRACK(FH_SDAW | 15), "\\Device\\Harddisk48\\Partition15"},
+ {"/dev/sdax1", BRACK(FH_SDAX | 1), "\\Device\\Harddisk49\\Partition1"},
+ {"/dev/sdax2", BRACK(FH_SDAX | 2), "\\Device\\Harddisk49\\Partition2"},
+ {"/dev/sdax3", BRACK(FH_SDAX | 3), "\\Device\\Harddisk49\\Partition3"},
+ {"/dev/sdax4", BRACK(FH_SDAX | 4), "\\Device\\Harddisk49\\Partition4"},
+ {"/dev/sdax5", BRACK(FH_SDAX | 5), "\\Device\\Harddisk49\\Partition5"},
+ {"/dev/sdax6", BRACK(FH_SDAX | 6), "\\Device\\Harddisk49\\Partition6"},
+ {"/dev/sdax7", BRACK(FH_SDAX | 7), "\\Device\\Harddisk49\\Partition7"},
+ {"/dev/sdax8", BRACK(FH_SDAX | 8), "\\Device\\Harddisk49\\Partition8"},
+ {"/dev/sdax9", BRACK(FH_SDAX | 9), "\\Device\\Harddisk49\\Partition9"},
+ {"/dev/sdax10", BRACK(FH_SDAX | 10), "\\Device\\Harddisk49\\Partition10"},
+ {"/dev/sdax11", BRACK(FH_SDAX | 11), "\\Device\\Harddisk49\\Partition11"},
+ {"/dev/sdax12", BRACK(FH_SDAX | 12), "\\Device\\Harddisk49\\Partition12"},
+ {"/dev/sdax13", BRACK(FH_SDAX | 13), "\\Device\\Harddisk49\\Partition13"},
+ {"/dev/sdax14", BRACK(FH_SDAX | 14), "\\Device\\Harddisk49\\Partition14"},
+ {"/dev/sdax15", BRACK(FH_SDAX | 15), "\\Device\\Harddisk49\\Partition15"},
+ {"/dev/sday1", BRACK(FH_SDAY | 1), "\\Device\\Harddisk50\\Partition1"},
+ {"/dev/sday2", BRACK(FH_SDAY | 2), "\\Device\\Harddisk50\\Partition2"},
+ {"/dev/sday3", BRACK(FH_SDAY | 3), "\\Device\\Harddisk50\\Partition3"},
+ {"/dev/sday4", BRACK(FH_SDAY | 4), "\\Device\\Harddisk50\\Partition4"},
+ {"/dev/sday5", BRACK(FH_SDAY | 5), "\\Device\\Harddisk50\\Partition5"},
+ {"/dev/sday6", BRACK(FH_SDAY | 6), "\\Device\\Harddisk50\\Partition6"},
+ {"/dev/sday7", BRACK(FH_SDAY | 7), "\\Device\\Harddisk50\\Partition7"},
+ {"/dev/sday8", BRACK(FH_SDAY | 8), "\\Device\\Harddisk50\\Partition8"},
+ {"/dev/sday9", BRACK(FH_SDAY | 9), "\\Device\\Harddisk50\\Partition9"},
+ {"/dev/sday10", BRACK(FH_SDAY | 10), "\\Device\\Harddisk50\\Partition10"},
+ {"/dev/sday11", BRACK(FH_SDAY | 11), "\\Device\\Harddisk50\\Partition11"},
+ {"/dev/sday12", BRACK(FH_SDAY | 12), "\\Device\\Harddisk50\\Partition12"},
+ {"/dev/sday13", BRACK(FH_SDAY | 13), "\\Device\\Harddisk50\\Partition13"},
+ {"/dev/sday14", BRACK(FH_SDAY | 14), "\\Device\\Harddisk50\\Partition14"},
+ {"/dev/sday15", BRACK(FH_SDAY | 15), "\\Device\\Harddisk50\\Partition15"},
+ {"/dev/sdaz1", BRACK(FH_SDAZ | 1), "\\Device\\Harddisk51\\Partition1"},
+ {"/dev/sdaz2", BRACK(FH_SDAZ | 2), "\\Device\\Harddisk51\\Partition2"},
+ {"/dev/sdaz3", BRACK(FH_SDAZ | 3), "\\Device\\Harddisk51\\Partition3"},
+ {"/dev/sdaz4", BRACK(FH_SDAZ | 4), "\\Device\\Harddisk51\\Partition4"},
+ {"/dev/sdaz5", BRACK(FH_SDAZ | 5), "\\Device\\Harddisk51\\Partition5"},
+ {"/dev/sdaz6", BRACK(FH_SDAZ | 6), "\\Device\\Harddisk51\\Partition6"},
+ {"/dev/sdaz7", BRACK(FH_SDAZ | 7), "\\Device\\Harddisk51\\Partition7"},
+ {"/dev/sdaz8", BRACK(FH_SDAZ | 8), "\\Device\\Harddisk51\\Partition8"},
+ {"/dev/sdaz9", BRACK(FH_SDAZ | 9), "\\Device\\Harddisk51\\Partition9"},
+ {"/dev/sdaz10", BRACK(FH_SDAZ | 10), "\\Device\\Harddisk51\\Partition10"},
+ {"/dev/sdaz11", BRACK(FH_SDAZ | 11), "\\Device\\Harddisk51\\Partition11"},
+ {"/dev/sdaz12", BRACK(FH_SDAZ | 12), "\\Device\\Harddisk51\\Partition12"},
+ {"/dev/sdaz13", BRACK(FH_SDAZ | 13), "\\Device\\Harddisk51\\Partition13"},
+ {"/dev/sdaz14", BRACK(FH_SDAZ | 14), "\\Device\\Harddisk51\\Partition14"},
+ {"/dev/sdaz15", BRACK(FH_SDAZ | 15), "\\Device\\Harddisk51\\Partition15"},
+ {"/dev/sdba", BRACK(FH_SDBA), "\\Device\\Harddisk52\\Partition0"},
+ {"/dev/sdbb", BRACK(FH_SDBB), "\\Device\\Harddisk53\\Partition0"},
+ {"/dev/sdbc", BRACK(FH_SDBC), "\\Device\\Harddisk54\\Partition0"},
+ {"/dev/sdbd", BRACK(FH_SDBD), "\\Device\\Harddisk55\\Partition0"},
+ {"/dev/sdbe", BRACK(FH_SDBE), "\\Device\\Harddisk56\\Partition0"},
+ {"/dev/sdbf", BRACK(FH_SDBF), "\\Device\\Harddisk57\\Partition0"},
+ {"/dev/sdbg", BRACK(FH_SDBG), "\\Device\\Harddisk58\\Partition0"},
+ {"/dev/sdbh", BRACK(FH_SDBH), "\\Device\\Harddisk59\\Partition0"},
+ {"/dev/sdbi", BRACK(FH_SDBI), "\\Device\\Harddisk60\\Partition0"},
+ {"/dev/sdbj", BRACK(FH_SDBJ), "\\Device\\Harddisk61\\Partition0"},
+ {"/dev/sdbk", BRACK(FH_SDBK), "\\Device\\Harddisk62\\Partition0"},
+ {"/dev/sdbl", BRACK(FH_SDBL), "\\Device\\Harddisk63\\Partition0"},
+ {"/dev/sdbm", BRACK(FH_SDBM), "\\Device\\Harddisk64\\Partition0"},
+ {"/dev/sdbn", BRACK(FH_SDBN), "\\Device\\Harddisk65\\Partition0"},
+ {"/dev/sdbo", BRACK(FH_SDBO), "\\Device\\Harddisk66\\Partition0"},
+ {"/dev/sdbp", BRACK(FH_SDBP), "\\Device\\Harddisk67\\Partition0"},
+ {"/dev/sdbq", BRACK(FH_SDBQ), "\\Device\\Harddisk68\\Partition0"},
+ {"/dev/sdbr", BRACK(FH_SDBR), "\\Device\\Harddisk69\\Partition0"},
+ {"/dev/sdbs", BRACK(FH_SDBS), "\\Device\\Harddisk70\\Partition0"},
+ {"/dev/sdbt", BRACK(FH_SDBT), "\\Device\\Harddisk71\\Partition0"},
+ {"/dev/sdbu", BRACK(FH_SDBU), "\\Device\\Harddisk72\\Partition0"},
+ {"/dev/sdbv", BRACK(FH_SDBV), "\\Device\\Harddisk73\\Partition0"},
+ {"/dev/sdbw", BRACK(FH_SDBW), "\\Device\\Harddisk74\\Partition0"},
+ {"/dev/sdbx", BRACK(FH_SDBX), "\\Device\\Harddisk75\\Partition0"},
+ {"/dev/sdby", BRACK(FH_SDBY), "\\Device\\Harddisk76\\Partition0"},
+ {"/dev/sdbz", BRACK(FH_SDBZ), "\\Device\\Harddisk77\\Partition0"},
+ {"/dev/sdba1", BRACK(FH_SDBA | 1), "\\Device\\Harddisk52\\Partition1"},
+ {"/dev/sdba2", BRACK(FH_SDBA | 2), "\\Device\\Harddisk52\\Partition2"},
+ {"/dev/sdba3", BRACK(FH_SDBA | 3), "\\Device\\Harddisk52\\Partition3"},
+ {"/dev/sdba4", BRACK(FH_SDBA | 4), "\\Device\\Harddisk52\\Partition4"},
+ {"/dev/sdba5", BRACK(FH_SDBA | 5), "\\Device\\Harddisk52\\Partition5"},
+ {"/dev/sdba6", BRACK(FH_SDBA | 6), "\\Device\\Harddisk52\\Partition6"},
+ {"/dev/sdba7", BRACK(FH_SDBA | 7), "\\Device\\Harddisk52\\Partition7"},
+ {"/dev/sdba8", BRACK(FH_SDBA | 8), "\\Device\\Harddisk52\\Partition8"},
+ {"/dev/sdba9", BRACK(FH_SDBA | 9), "\\Device\\Harddisk52\\Partition9"},
+ {"/dev/sdba10", BRACK(FH_SDBA | 10), "\\Device\\Harddisk52\\Partition10"},
+ {"/dev/sdba11", BRACK(FH_SDBA | 11), "\\Device\\Harddisk52\\Partition11"},
+ {"/dev/sdba12", BRACK(FH_SDBA | 12), "\\Device\\Harddisk52\\Partition12"},
+ {"/dev/sdba13", BRACK(FH_SDBA | 13), "\\Device\\Harddisk52\\Partition13"},
+ {"/dev/sdba14", BRACK(FH_SDBA | 14), "\\Device\\Harddisk52\\Partition14"},
+ {"/dev/sdba15", BRACK(FH_SDBA | 15), "\\Device\\Harddisk52\\Partition15"},
+ {"/dev/sdbb1", BRACK(FH_SDBB | 1), "\\Device\\Harddisk53\\Partition1"},
+ {"/dev/sdbb2", BRACK(FH_SDBB | 2), "\\Device\\Harddisk53\\Partition2"},
+ {"/dev/sdbb3", BRACK(FH_SDBB | 3), "\\Device\\Harddisk53\\Partition3"},
+ {"/dev/sdbb4", BRACK(FH_SDBB | 4), "\\Device\\Harddisk53\\Partition4"},
+ {"/dev/sdbb5", BRACK(FH_SDBB | 5), "\\Device\\Harddisk53\\Partition5"},
+ {"/dev/sdbb6", BRACK(FH_SDBB | 6), "\\Device\\Harddisk53\\Partition6"},
+ {"/dev/sdbb7", BRACK(FH_SDBB | 7), "\\Device\\Harddisk53\\Partition7"},
+ {"/dev/sdbb8", BRACK(FH_SDBB | 8), "\\Device\\Harddisk53\\Partition8"},
+ {"/dev/sdbb9", BRACK(FH_SDBB | 9), "\\Device\\Harddisk53\\Partition9"},
+ {"/dev/sdbb10", BRACK(FH_SDBB | 10), "\\Device\\Harddisk53\\Partition10"},
+ {"/dev/sdbb11", BRACK(FH_SDBB | 11), "\\Device\\Harddisk53\\Partition11"},
+ {"/dev/sdbb12", BRACK(FH_SDBB | 12), "\\Device\\Harddisk53\\Partition12"},
+ {"/dev/sdbb13", BRACK(FH_SDBB | 13), "\\Device\\Harddisk53\\Partition13"},
+ {"/dev/sdbb14", BRACK(FH_SDBB | 14), "\\Device\\Harddisk53\\Partition14"},
+ {"/dev/sdbb15", BRACK(FH_SDBB | 15), "\\Device\\Harddisk53\\Partition15"},
+ {"/dev/sdbc1", BRACK(FH_SDBC | 1), "\\Device\\Harddisk54\\Partition1"},
+ {"/dev/sdbc2", BRACK(FH_SDBC | 2), "\\Device\\Harddisk54\\Partition2"},
+ {"/dev/sdbc3", BRACK(FH_SDBC | 3), "\\Device\\Harddisk54\\Partition3"},
+ {"/dev/sdbc4", BRACK(FH_SDBC | 4), "\\Device\\Harddisk54\\Partition4"},
+ {"/dev/sdbc5", BRACK(FH_SDBC | 5), "\\Device\\Harddisk54\\Partition5"},
+ {"/dev/sdbc6", BRACK(FH_SDBC | 6), "\\Device\\Harddisk54\\Partition6"},
+ {"/dev/sdbc7", BRACK(FH_SDBC | 7), "\\Device\\Harddisk54\\Partition7"},
+ {"/dev/sdbc8", BRACK(FH_SDBC | 8), "\\Device\\Harddisk54\\Partition8"},
+ {"/dev/sdbc9", BRACK(FH_SDBC | 9), "\\Device\\Harddisk54\\Partition9"},
+ {"/dev/sdbc10", BRACK(FH_SDBC | 10), "\\Device\\Harddisk54\\Partition10"},
+ {"/dev/sdbc11", BRACK(FH_SDBC | 11), "\\Device\\Harddisk54\\Partition11"},
+ {"/dev/sdbc12", BRACK(FH_SDBC | 12), "\\Device\\Harddisk54\\Partition12"},
+ {"/dev/sdbc13", BRACK(FH_SDBC | 13), "\\Device\\Harddisk54\\Partition13"},
+ {"/dev/sdbc14", BRACK(FH_SDBC | 14), "\\Device\\Harddisk54\\Partition14"},
+ {"/dev/sdbc15", BRACK(FH_SDBC | 15), "\\Device\\Harddisk54\\Partition15"},
+ {"/dev/sdbd1", BRACK(FH_SDBD | 1), "\\Device\\Harddisk55\\Partition1"},
+ {"/dev/sdbd2", BRACK(FH_SDBD | 2), "\\Device\\Harddisk55\\Partition2"},
+ {"/dev/sdbd3", BRACK(FH_SDBD | 3), "\\Device\\Harddisk55\\Partition3"},
+ {"/dev/sdbd4", BRACK(FH_SDBD | 4), "\\Device\\Harddisk55\\Partition4"},
+ {"/dev/sdbd5", BRACK(FH_SDBD | 5), "\\Device\\Harddisk55\\Partition5"},
+ {"/dev/sdbd6", BRACK(FH_SDBD | 6), "\\Device\\Harddisk55\\Partition6"},
+ {"/dev/sdbd7", BRACK(FH_SDBD | 7), "\\Device\\Harddisk55\\Partition7"},
+ {"/dev/sdbd8", BRACK(FH_SDBD | 8), "\\Device\\Harddisk55\\Partition8"},
+ {"/dev/sdbd9", BRACK(FH_SDBD | 9), "\\Device\\Harddisk55\\Partition9"},
+ {"/dev/sdbd10", BRACK(FH_SDBD | 10), "\\Device\\Harddisk55\\Partition10"},
+ {"/dev/sdbd11", BRACK(FH_SDBD | 11), "\\Device\\Harddisk55\\Partition11"},
+ {"/dev/sdbd12", BRACK(FH_SDBD | 12), "\\Device\\Harddisk55\\Partition12"},
+ {"/dev/sdbd13", BRACK(FH_SDBD | 13), "\\Device\\Harddisk55\\Partition13"},
+ {"/dev/sdbd14", BRACK(FH_SDBD | 14), "\\Device\\Harddisk55\\Partition14"},
+ {"/dev/sdbd15", BRACK(FH_SDBD | 15), "\\Device\\Harddisk55\\Partition15"},
+ {"/dev/sdbe1", BRACK(FH_SDBE | 1), "\\Device\\Harddisk56\\Partition1"},
+ {"/dev/sdbe2", BRACK(FH_SDBE | 2), "\\Device\\Harddisk56\\Partition2"},
+ {"/dev/sdbe3", BRACK(FH_SDBE | 3), "\\Device\\Harddisk56\\Partition3"},
+ {"/dev/sdbe4", BRACK(FH_SDBE | 4), "\\Device\\Harddisk56\\Partition4"},
+ {"/dev/sdbe5", BRACK(FH_SDBE | 5), "\\Device\\Harddisk56\\Partition5"},
+ {"/dev/sdbe6", BRACK(FH_SDBE | 6), "\\Device\\Harddisk56\\Partition6"},
+ {"/dev/sdbe7", BRACK(FH_SDBE | 7), "\\Device\\Harddisk56\\Partition7"},
+ {"/dev/sdbe8", BRACK(FH_SDBE | 8), "\\Device\\Harddisk56\\Partition8"},
+ {"/dev/sdbe9", BRACK(FH_SDBE | 9), "\\Device\\Harddisk56\\Partition9"},
+ {"/dev/sdbe10", BRACK(FH_SDBE | 10), "\\Device\\Harddisk56\\Partition10"},
+ {"/dev/sdbe11", BRACK(FH_SDBE | 11), "\\Device\\Harddisk56\\Partition11"},
+ {"/dev/sdbe12", BRACK(FH_SDBE | 12), "\\Device\\Harddisk56\\Partition12"},
+ {"/dev/sdbe13", BRACK(FH_SDBE | 13), "\\Device\\Harddisk56\\Partition13"},
+ {"/dev/sdbe14", BRACK(FH_SDBE | 14), "\\Device\\Harddisk56\\Partition14"},
+ {"/dev/sdbe15", BRACK(FH_SDBE | 15), "\\Device\\Harddisk56\\Partition15"},
+ {"/dev/sdbf1", BRACK(FH_SDBF | 1), "\\Device\\Harddisk57\\Partition1"},
+ {"/dev/sdbf2", BRACK(FH_SDBF | 2), "\\Device\\Harddisk57\\Partition2"},
+ {"/dev/sdbf3", BRACK(FH_SDBF | 3), "\\Device\\Harddisk57\\Partition3"},
+ {"/dev/sdbf4", BRACK(FH_SDBF | 4), "\\Device\\Harddisk57\\Partition4"},
+ {"/dev/sdbf5", BRACK(FH_SDBF | 5), "\\Device\\Harddisk57\\Partition5"},
+ {"/dev/sdbf6", BRACK(FH_SDBF | 6), "\\Device\\Harddisk57\\Partition6"},
+ {"/dev/sdbf7", BRACK(FH_SDBF | 7), "\\Device\\Harddisk57\\Partition7"},
+ {"/dev/sdbf8", BRACK(FH_SDBF | 8), "\\Device\\Harddisk57\\Partition8"},
+ {"/dev/sdbf9", BRACK(FH_SDBF | 9), "\\Device\\Harddisk57\\Partition9"},
+ {"/dev/sdbf10", BRACK(FH_SDBF | 10), "\\Device\\Harddisk57\\Partition10"},
+ {"/dev/sdbf11", BRACK(FH_SDBF | 11), "\\Device\\Harddisk57\\Partition11"},
+ {"/dev/sdbf12", BRACK(FH_SDBF | 12), "\\Device\\Harddisk57\\Partition12"},
+ {"/dev/sdbf13", BRACK(FH_SDBF | 13), "\\Device\\Harddisk57\\Partition13"},
+ {"/dev/sdbf14", BRACK(FH_SDBF | 14), "\\Device\\Harddisk57\\Partition14"},
+ {"/dev/sdbf15", BRACK(FH_SDBF | 15), "\\Device\\Harddisk57\\Partition15"},
+ {"/dev/sdbg1", BRACK(FH_SDBG | 1), "\\Device\\Harddisk58\\Partition1"},
+ {"/dev/sdbg2", BRACK(FH_SDBG | 2), "\\Device\\Harddisk58\\Partition2"},
+ {"/dev/sdbg3", BRACK(FH_SDBG | 3), "\\Device\\Harddisk58\\Partition3"},
+ {"/dev/sdbg4", BRACK(FH_SDBG | 4), "\\Device\\Harddisk58\\Partition4"},
+ {"/dev/sdbg5", BRACK(FH_SDBG | 5), "\\Device\\Harddisk58\\Partition5"},
+ {"/dev/sdbg6", BRACK(FH_SDBG | 6), "\\Device\\Harddisk58\\Partition6"},
+ {"/dev/sdbg7", BRACK(FH_SDBG | 7), "\\Device\\Harddisk58\\Partition7"},
+ {"/dev/sdbg8", BRACK(FH_SDBG | 8), "\\Device\\Harddisk58\\Partition8"},
+ {"/dev/sdbg9", BRACK(FH_SDBG | 9), "\\Device\\Harddisk58\\Partition9"},
+ {"/dev/sdbg10", BRACK(FH_SDBG | 10), "\\Device\\Harddisk58\\Partition10"},
+ {"/dev/sdbg11", BRACK(FH_SDBG | 11), "\\Device\\Harddisk58\\Partition11"},
+ {"/dev/sdbg12", BRACK(FH_SDBG | 12), "\\Device\\Harddisk58\\Partition12"},
+ {"/dev/sdbg13", BRACK(FH_SDBG | 13), "\\Device\\Harddisk58\\Partition13"},
+ {"/dev/sdbg14", BRACK(FH_SDBG | 14), "\\Device\\Harddisk58\\Partition14"},
+ {"/dev/sdbg15", BRACK(FH_SDBG | 15), "\\Device\\Harddisk58\\Partition15"},
+ {"/dev/sdbh1", BRACK(FH_SDBH | 1), "\\Device\\Harddisk59\\Partition1"},
+ {"/dev/sdbh2", BRACK(FH_SDBH | 2), "\\Device\\Harddisk59\\Partition2"},
+ {"/dev/sdbh3", BRACK(FH_SDBH | 3), "\\Device\\Harddisk59\\Partition3"},
+ {"/dev/sdbh4", BRACK(FH_SDBH | 4), "\\Device\\Harddisk59\\Partition4"},
+ {"/dev/sdbh5", BRACK(FH_SDBH | 5), "\\Device\\Harddisk59\\Partition5"},
+ {"/dev/sdbh6", BRACK(FH_SDBH | 6), "\\Device\\Harddisk59\\Partition6"},
+ {"/dev/sdbh7", BRACK(FH_SDBH | 7), "\\Device\\Harddisk59\\Partition7"},
+ {"/dev/sdbh8", BRACK(FH_SDBH | 8), "\\Device\\Harddisk59\\Partition8"},
+ {"/dev/sdbh9", BRACK(FH_SDBH | 9), "\\Device\\Harddisk59\\Partition9"},
+ {"/dev/sdbh10", BRACK(FH_SDBH | 10), "\\Device\\Harddisk59\\Partition10"},
+ {"/dev/sdbh11", BRACK(FH_SDBH | 11), "\\Device\\Harddisk59\\Partition11"},
+ {"/dev/sdbh12", BRACK(FH_SDBH | 12), "\\Device\\Harddisk59\\Partition12"},
+ {"/dev/sdbh13", BRACK(FH_SDBH | 13), "\\Device\\Harddisk59\\Partition13"},
+ {"/dev/sdbh14", BRACK(FH_SDBH | 14), "\\Device\\Harddisk59\\Partition14"},
+ {"/dev/sdbh15", BRACK(FH_SDBH | 15), "\\Device\\Harddisk59\\Partition15"},
+ {"/dev/sdbi1", BRACK(FH_SDBI | 1), "\\Device\\Harddisk60\\Partition1"},
+ {"/dev/sdbi2", BRACK(FH_SDBI | 2), "\\Device\\Harddisk60\\Partition2"},
+ {"/dev/sdbi3", BRACK(FH_SDBI | 3), "\\Device\\Harddisk60\\Partition3"},
+ {"/dev/sdbi4", BRACK(FH_SDBI | 4), "\\Device\\Harddisk60\\Partition4"},
+ {"/dev/sdbi5", BRACK(FH_SDBI | 5), "\\Device\\Harddisk60\\Partition5"},
+ {"/dev/sdbi6", BRACK(FH_SDBI | 6), "\\Device\\Harddisk60\\Partition6"},
+ {"/dev/sdbi7", BRACK(FH_SDBI | 7), "\\Device\\Harddisk60\\Partition7"},
+ {"/dev/sdbi8", BRACK(FH_SDBI | 8), "\\Device\\Harddisk60\\Partition8"},
+ {"/dev/sdbi9", BRACK(FH_SDBI | 9), "\\Device\\Harddisk60\\Partition9"},
+ {"/dev/sdbi10", BRACK(FH_SDBI | 10), "\\Device\\Harddisk60\\Partition10"},
+ {"/dev/sdbi11", BRACK(FH_SDBI | 11), "\\Device\\Harddisk60\\Partition11"},
+ {"/dev/sdbi12", BRACK(FH_SDBI | 12), "\\Device\\Harddisk60\\Partition12"},
+ {"/dev/sdbi13", BRACK(FH_SDBI | 13), "\\Device\\Harddisk60\\Partition13"},
+ {"/dev/sdbi14", BRACK(FH_SDBI | 14), "\\Device\\Harddisk60\\Partition14"},
+ {"/dev/sdbi15", BRACK(FH_SDBI | 15), "\\Device\\Harddisk60\\Partition15"},
+ {"/dev/sdbj1", BRACK(FH_SDBJ | 1), "\\Device\\Harddisk61\\Partition1"},
+ {"/dev/sdbj2", BRACK(FH_SDBJ | 2), "\\Device\\Harddisk61\\Partition2"},
+ {"/dev/sdbj3", BRACK(FH_SDBJ | 3), "\\Device\\Harddisk61\\Partition3"},
+ {"/dev/sdbj4", BRACK(FH_SDBJ | 4), "\\Device\\Harddisk61\\Partition4"},
+ {"/dev/sdbj5", BRACK(FH_SDBJ | 5), "\\Device\\Harddisk61\\Partition5"},
+ {"/dev/sdbj6", BRACK(FH_SDBJ | 6), "\\Device\\Harddisk61\\Partition6"},
+ {"/dev/sdbj7", BRACK(FH_SDBJ | 7), "\\Device\\Harddisk61\\Partition7"},
+ {"/dev/sdbj8", BRACK(FH_SDBJ | 8), "\\Device\\Harddisk61\\Partition8"},
+ {"/dev/sdbj9", BRACK(FH_SDBJ | 9), "\\Device\\Harddisk61\\Partition9"},
+ {"/dev/sdbj10", BRACK(FH_SDBJ | 10), "\\Device\\Harddisk61\\Partition10"},
+ {"/dev/sdbj11", BRACK(FH_SDBJ | 11), "\\Device\\Harddisk61\\Partition11"},
+ {"/dev/sdbj12", BRACK(FH_SDBJ | 12), "\\Device\\Harddisk61\\Partition12"},
+ {"/dev/sdbj13", BRACK(FH_SDBJ | 13), "\\Device\\Harddisk61\\Partition13"},
+ {"/dev/sdbj14", BRACK(FH_SDBJ | 14), "\\Device\\Harddisk61\\Partition14"},
+ {"/dev/sdbj15", BRACK(FH_SDBJ | 15), "\\Device\\Harddisk61\\Partition15"},
+ {"/dev/sdbk1", BRACK(FH_SDBK | 1), "\\Device\\Harddisk62\\Partition1"},
+ {"/dev/sdbk2", BRACK(FH_SDBK | 2), "\\Device\\Harddisk62\\Partition2"},
+ {"/dev/sdbk3", BRACK(FH_SDBK | 3), "\\Device\\Harddisk62\\Partition3"},
+ {"/dev/sdbk4", BRACK(FH_SDBK | 4), "\\Device\\Harddisk62\\Partition4"},
+ {"/dev/sdbk5", BRACK(FH_SDBK | 5), "\\Device\\Harddisk62\\Partition5"},
+ {"/dev/sdbk6", BRACK(FH_SDBK | 6), "\\Device\\Harddisk62\\Partition6"},
+ {"/dev/sdbk7", BRACK(FH_SDBK | 7), "\\Device\\Harddisk62\\Partition7"},
+ {"/dev/sdbk8", BRACK(FH_SDBK | 8), "\\Device\\Harddisk62\\Partition8"},
+ {"/dev/sdbk9", BRACK(FH_SDBK | 9), "\\Device\\Harddisk62\\Partition9"},
+ {"/dev/sdbk10", BRACK(FH_SDBK | 10), "\\Device\\Harddisk62\\Partition10"},
+ {"/dev/sdbk11", BRACK(FH_SDBK | 11), "\\Device\\Harddisk62\\Partition11"},
+ {"/dev/sdbk12", BRACK(FH_SDBK | 12), "\\Device\\Harddisk62\\Partition12"},
+ {"/dev/sdbk13", BRACK(FH_SDBK | 13), "\\Device\\Harddisk62\\Partition13"},
+ {"/dev/sdbk14", BRACK(FH_SDBK | 14), "\\Device\\Harddisk62\\Partition14"},
+ {"/dev/sdbk15", BRACK(FH_SDBK | 15), "\\Device\\Harddisk62\\Partition15"},
+ {"/dev/sdbl1", BRACK(FH_SDBL | 1), "\\Device\\Harddisk63\\Partition1"},
+ {"/dev/sdbl2", BRACK(FH_SDBL | 2), "\\Device\\Harddisk63\\Partition2"},
+ {"/dev/sdbl3", BRACK(FH_SDBL | 3), "\\Device\\Harddisk63\\Partition3"},
+ {"/dev/sdbl4", BRACK(FH_SDBL | 4), "\\Device\\Harddisk63\\Partition4"},
+ {"/dev/sdbl5", BRACK(FH_SDBL | 5), "\\Device\\Harddisk63\\Partition5"},
+ {"/dev/sdbl6", BRACK(FH_SDBL | 6), "\\Device\\Harddisk63\\Partition6"},
+ {"/dev/sdbl7", BRACK(FH_SDBL | 7), "\\Device\\Harddisk63\\Partition7"},
+ {"/dev/sdbl8", BRACK(FH_SDBL | 8), "\\Device\\Harddisk63\\Partition8"},
+ {"/dev/sdbl9", BRACK(FH_SDBL | 9), "\\Device\\Harddisk63\\Partition9"},
+ {"/dev/sdbl10", BRACK(FH_SDBL | 10), "\\Device\\Harddisk63\\Partition10"},
+ {"/dev/sdbl11", BRACK(FH_SDBL | 11), "\\Device\\Harddisk63\\Partition11"},
+ {"/dev/sdbl12", BRACK(FH_SDBL | 12), "\\Device\\Harddisk63\\Partition12"},
+ {"/dev/sdbl13", BRACK(FH_SDBL | 13), "\\Device\\Harddisk63\\Partition13"},
+ {"/dev/sdbl14", BRACK(FH_SDBL | 14), "\\Device\\Harddisk63\\Partition14"},
+ {"/dev/sdbl15", BRACK(FH_SDBL | 15), "\\Device\\Harddisk63\\Partition15"},
+ {"/dev/sdbm1", BRACK(FH_SDBM | 1), "\\Device\\Harddisk64\\Partition1"},
+ {"/dev/sdbm2", BRACK(FH_SDBM | 2), "\\Device\\Harddisk64\\Partition2"},
+ {"/dev/sdbm3", BRACK(FH_SDBM | 3), "\\Device\\Harddisk64\\Partition3"},
+ {"/dev/sdbm4", BRACK(FH_SDBM | 4), "\\Device\\Harddisk64\\Partition4"},
+ {"/dev/sdbm5", BRACK(FH_SDBM | 5), "\\Device\\Harddisk64\\Partition5"},
+ {"/dev/sdbm6", BRACK(FH_SDBM | 6), "\\Device\\Harddisk64\\Partition6"},
+ {"/dev/sdbm7", BRACK(FH_SDBM | 7), "\\Device\\Harddisk64\\Partition7"},
+ {"/dev/sdbm8", BRACK(FH_SDBM | 8), "\\Device\\Harddisk64\\Partition8"},
+ {"/dev/sdbm9", BRACK(FH_SDBM | 9), "\\Device\\Harddisk64\\Partition9"},
+ {"/dev/sdbm10", BRACK(FH_SDBM | 10), "\\Device\\Harddisk64\\Partition10"},
+ {"/dev/sdbm11", BRACK(FH_SDBM | 11), "\\Device\\Harddisk64\\Partition11"},
+ {"/dev/sdbm12", BRACK(FH_SDBM | 12), "\\Device\\Harddisk64\\Partition12"},
+ {"/dev/sdbm13", BRACK(FH_SDBM | 13), "\\Device\\Harddisk64\\Partition13"},
+ {"/dev/sdbm14", BRACK(FH_SDBM | 14), "\\Device\\Harddisk64\\Partition14"},
+ {"/dev/sdbm15", BRACK(FH_SDBM | 15), "\\Device\\Harddisk64\\Partition15"},
+ {"/dev/sdbn1", BRACK(FH_SDBN | 1), "\\Device\\Harddisk65\\Partition1"},
+ {"/dev/sdbn2", BRACK(FH_SDBN | 2), "\\Device\\Harddisk65\\Partition2"},
+ {"/dev/sdbn3", BRACK(FH_SDBN | 3), "\\Device\\Harddisk65\\Partition3"},
+ {"/dev/sdbn4", BRACK(FH_SDBN | 4), "\\Device\\Harddisk65\\Partition4"},
+ {"/dev/sdbn5", BRACK(FH_SDBN | 5), "\\Device\\Harddisk65\\Partition5"},
+ {"/dev/sdbn6", BRACK(FH_SDBN | 6), "\\Device\\Harddisk65\\Partition6"},
+ {"/dev/sdbn7", BRACK(FH_SDBN | 7), "\\Device\\Harddisk65\\Partition7"},
+ {"/dev/sdbn8", BRACK(FH_SDBN | 8), "\\Device\\Harddisk65\\Partition8"},
+ {"/dev/sdbn9", BRACK(FH_SDBN | 9), "\\Device\\Harddisk65\\Partition9"},
+ {"/dev/sdbn10", BRACK(FH_SDBN | 10), "\\Device\\Harddisk65\\Partition10"},
+ {"/dev/sdbn11", BRACK(FH_SDBN | 11), "\\Device\\Harddisk65\\Partition11"},
+ {"/dev/sdbn12", BRACK(FH_SDBN | 12), "\\Device\\Harddisk65\\Partition12"},
+ {"/dev/sdbn13", BRACK(FH_SDBN | 13), "\\Device\\Harddisk65\\Partition13"},
+ {"/dev/sdbn14", BRACK(FH_SDBN | 14), "\\Device\\Harddisk65\\Partition14"},
+ {"/dev/sdbn15", BRACK(FH_SDBN | 15), "\\Device\\Harddisk65\\Partition15"},
+ {"/dev/sdbo1", BRACK(FH_SDBO | 1), "\\Device\\Harddisk66\\Partition1"},
+ {"/dev/sdbo2", BRACK(FH_SDBO | 2), "\\Device\\Harddisk66\\Partition2"},
+ {"/dev/sdbo3", BRACK(FH_SDBO | 3), "\\Device\\Harddisk66\\Partition3"},
+ {"/dev/sdbo4", BRACK(FH_SDBO | 4), "\\Device\\Harddisk66\\Partition4"},
+ {"/dev/sdbo5", BRACK(FH_SDBO | 5), "\\Device\\Harddisk66\\Partition5"},
+ {"/dev/sdbo6", BRACK(FH_SDBO | 6), "\\Device\\Harddisk66\\Partition6"},
+ {"/dev/sdbo7", BRACK(FH_SDBO | 7), "\\Device\\Harddisk66\\Partition7"},
+ {"/dev/sdbo8", BRACK(FH_SDBO | 8), "\\Device\\Harddisk66\\Partition8"},
+ {"/dev/sdbo9", BRACK(FH_SDBO | 9), "\\Device\\Harddisk66\\Partition9"},
+ {"/dev/sdbo10", BRACK(FH_SDBO | 10), "\\Device\\Harddisk66\\Partition10"},
+ {"/dev/sdbo11", BRACK(FH_SDBO | 11), "\\Device\\Harddisk66\\Partition11"},
+ {"/dev/sdbo12", BRACK(FH_SDBO | 12), "\\Device\\Harddisk66\\Partition12"},
+ {"/dev/sdbo13", BRACK(FH_SDBO | 13), "\\Device\\Harddisk66\\Partition13"},
+ {"/dev/sdbo14", BRACK(FH_SDBO | 14), "\\Device\\Harddisk66\\Partition14"},
+ {"/dev/sdbo15", BRACK(FH_SDBO | 15), "\\Device\\Harddisk66\\Partition15"},
+ {"/dev/sdbp1", BRACK(FH_SDBP | 1), "\\Device\\Harddisk67\\Partition1"},
+ {"/dev/sdbp2", BRACK(FH_SDBP | 2), "\\Device\\Harddisk67\\Partition2"},
+ {"/dev/sdbp3", BRACK(FH_SDBP | 3), "\\Device\\Harddisk67\\Partition3"},
+ {"/dev/sdbp4", BRACK(FH_SDBP | 4), "\\Device\\Harddisk67\\Partition4"},
+ {"/dev/sdbp5", BRACK(FH_SDBP | 5), "\\Device\\Harddisk67\\Partition5"},
+ {"/dev/sdbp6", BRACK(FH_SDBP | 6), "\\Device\\Harddisk67\\Partition6"},
+ {"/dev/sdbp7", BRACK(FH_SDBP | 7), "\\Device\\Harddisk67\\Partition7"},
+ {"/dev/sdbp8", BRACK(FH_SDBP | 8), "\\Device\\Harddisk67\\Partition8"},
+ {"/dev/sdbp9", BRACK(FH_SDBP | 9), "\\Device\\Harddisk67\\Partition9"},
+ {"/dev/sdbp10", BRACK(FH_SDBP | 10), "\\Device\\Harddisk67\\Partition10"},
+ {"/dev/sdbp11", BRACK(FH_SDBP | 11), "\\Device\\Harddisk67\\Partition11"},
+ {"/dev/sdbp12", BRACK(FH_SDBP | 12), "\\Device\\Harddisk67\\Partition12"},
+ {"/dev/sdbp13", BRACK(FH_SDBP | 13), "\\Device\\Harddisk67\\Partition13"},
+ {"/dev/sdbp14", BRACK(FH_SDBP | 14), "\\Device\\Harddisk67\\Partition14"},
+ {"/dev/sdbp15", BRACK(FH_SDBP | 15), "\\Device\\Harddisk67\\Partition15"},
+ {"/dev/sdbq1", BRACK(FH_SDBQ | 1), "\\Device\\Harddisk68\\Partition1"},
+ {"/dev/sdbq2", BRACK(FH_SDBQ | 2), "\\Device\\Harddisk68\\Partition2"},
+ {"/dev/sdbq3", BRACK(FH_SDBQ | 3), "\\Device\\Harddisk68\\Partition3"},
+ {"/dev/sdbq4", BRACK(FH_SDBQ | 4), "\\Device\\Harddisk68\\Partition4"},
+ {"/dev/sdbq5", BRACK(FH_SDBQ | 5), "\\Device\\Harddisk68\\Partition5"},
+ {"/dev/sdbq6", BRACK(FH_SDBQ | 6), "\\Device\\Harddisk68\\Partition6"},
+ {"/dev/sdbq7", BRACK(FH_SDBQ | 7), "\\Device\\Harddisk68\\Partition7"},
+ {"/dev/sdbq8", BRACK(FH_SDBQ | 8), "\\Device\\Harddisk68\\Partition8"},
+ {"/dev/sdbq9", BRACK(FH_SDBQ | 9), "\\Device\\Harddisk68\\Partition9"},
+ {"/dev/sdbq10", BRACK(FH_SDBQ | 10), "\\Device\\Harddisk68\\Partition10"},
+ {"/dev/sdbq11", BRACK(FH_SDBQ | 11), "\\Device\\Harddisk68\\Partition11"},
+ {"/dev/sdbq12", BRACK(FH_SDBQ | 12), "\\Device\\Harddisk68\\Partition12"},
+ {"/dev/sdbq13", BRACK(FH_SDBQ | 13), "\\Device\\Harddisk68\\Partition13"},
+ {"/dev/sdbq14", BRACK(FH_SDBQ | 14), "\\Device\\Harddisk68\\Partition14"},
+ {"/dev/sdbq15", BRACK(FH_SDBQ | 15), "\\Device\\Harddisk68\\Partition15"},
+ {"/dev/sdbr1", BRACK(FH_SDBR | 1), "\\Device\\Harddisk69\\Partition1"},
+ {"/dev/sdbr2", BRACK(FH_SDBR | 2), "\\Device\\Harddisk69\\Partition2"},
+ {"/dev/sdbr3", BRACK(FH_SDBR | 3), "\\Device\\Harddisk69\\Partition3"},
+ {"/dev/sdbr4", BRACK(FH_SDBR | 4), "\\Device\\Harddisk69\\Partition4"},
+ {"/dev/sdbr5", BRACK(FH_SDBR | 5), "\\Device\\Harddisk69\\Partition5"},
+ {"/dev/sdbr6", BRACK(FH_SDBR | 6), "\\Device\\Harddisk69\\Partition6"},
+ {"/dev/sdbr7", BRACK(FH_SDBR | 7), "\\Device\\Harddisk69\\Partition7"},
+ {"/dev/sdbr8", BRACK(FH_SDBR | 8), "\\Device\\Harddisk69\\Partition8"},
+ {"/dev/sdbr9", BRACK(FH_SDBR | 9), "\\Device\\Harddisk69\\Partition9"},
+ {"/dev/sdbr10", BRACK(FH_SDBR | 10), "\\Device\\Harddisk69\\Partition10"},
+ {"/dev/sdbr11", BRACK(FH_SDBR | 11), "\\Device\\Harddisk69\\Partition11"},
+ {"/dev/sdbr12", BRACK(FH_SDBR | 12), "\\Device\\Harddisk69\\Partition12"},
+ {"/dev/sdbr13", BRACK(FH_SDBR | 13), "\\Device\\Harddisk69\\Partition13"},
+ {"/dev/sdbr14", BRACK(FH_SDBR | 14), "\\Device\\Harddisk69\\Partition14"},
+ {"/dev/sdbr15", BRACK(FH_SDBR | 15), "\\Device\\Harddisk69\\Partition15"},
+ {"/dev/sdbs1", BRACK(FH_SDBS | 1), "\\Device\\Harddisk70\\Partition1"},
+ {"/dev/sdbs2", BRACK(FH_SDBS | 2), "\\Device\\Harddisk70\\Partition2"},
+ {"/dev/sdbs3", BRACK(FH_SDBS | 3), "\\Device\\Harddisk70\\Partition3"},
+ {"/dev/sdbs4", BRACK(FH_SDBS | 4), "\\Device\\Harddisk70\\Partition4"},
+ {"/dev/sdbs5", BRACK(FH_SDBS | 5), "\\Device\\Harddisk70\\Partition5"},
+ {"/dev/sdbs6", BRACK(FH_SDBS | 6), "\\Device\\Harddisk70\\Partition6"},
+ {"/dev/sdbs7", BRACK(FH_SDBS | 7), "\\Device\\Harddisk70\\Partition7"},
+ {"/dev/sdbs8", BRACK(FH_SDBS | 8), "\\Device\\Harddisk70\\Partition8"},
+ {"/dev/sdbs9", BRACK(FH_SDBS | 9), "\\Device\\Harddisk70\\Partition9"},
+ {"/dev/sdbs10", BRACK(FH_SDBS | 10), "\\Device\\Harddisk70\\Partition10"},
+ {"/dev/sdbs11", BRACK(FH_SDBS | 11), "\\Device\\Harddisk70\\Partition11"},
+ {"/dev/sdbs12", BRACK(FH_SDBS | 12), "\\Device\\Harddisk70\\Partition12"},
+ {"/dev/sdbs13", BRACK(FH_SDBS | 13), "\\Device\\Harddisk70\\Partition13"},
+ {"/dev/sdbs14", BRACK(FH_SDBS | 14), "\\Device\\Harddisk70\\Partition14"},
+ {"/dev/sdbs15", BRACK(FH_SDBS | 15), "\\Device\\Harddisk70\\Partition15"},
+ {"/dev/sdbt1", BRACK(FH_SDBT | 1), "\\Device\\Harddisk71\\Partition1"},
+ {"/dev/sdbt2", BRACK(FH_SDBT | 2), "\\Device\\Harddisk71\\Partition2"},
+ {"/dev/sdbt3", BRACK(FH_SDBT | 3), "\\Device\\Harddisk71\\Partition3"},
+ {"/dev/sdbt4", BRACK(FH_SDBT | 4), "\\Device\\Harddisk71\\Partition4"},
+ {"/dev/sdbt5", BRACK(FH_SDBT | 5), "\\Device\\Harddisk71\\Partition5"},
+ {"/dev/sdbt6", BRACK(FH_SDBT | 6), "\\Device\\Harddisk71\\Partition6"},
+ {"/dev/sdbt7", BRACK(FH_SDBT | 7), "\\Device\\Harddisk71\\Partition7"},
+ {"/dev/sdbt8", BRACK(FH_SDBT | 8), "\\Device\\Harddisk71\\Partition8"},
+ {"/dev/sdbt9", BRACK(FH_SDBT | 9), "\\Device\\Harddisk71\\Partition9"},
+ {"/dev/sdbt10", BRACK(FH_SDBT | 10), "\\Device\\Harddisk71\\Partition10"},
+ {"/dev/sdbt11", BRACK(FH_SDBT | 11), "\\Device\\Harddisk71\\Partition11"},
+ {"/dev/sdbt12", BRACK(FH_SDBT | 12), "\\Device\\Harddisk71\\Partition12"},
+ {"/dev/sdbt13", BRACK(FH_SDBT | 13), "\\Device\\Harddisk71\\Partition13"},
+ {"/dev/sdbt14", BRACK(FH_SDBT | 14), "\\Device\\Harddisk71\\Partition14"},
+ {"/dev/sdbt15", BRACK(FH_SDBT | 15), "\\Device\\Harddisk71\\Partition15"},
+ {"/dev/sdbu1", BRACK(FH_SDBU | 1), "\\Device\\Harddisk72\\Partition1"},
+ {"/dev/sdbu2", BRACK(FH_SDBU | 2), "\\Device\\Harddisk72\\Partition2"},
+ {"/dev/sdbu3", BRACK(FH_SDBU | 3), "\\Device\\Harddisk72\\Partition3"},
+ {"/dev/sdbu4", BRACK(FH_SDBU | 4), "\\Device\\Harddisk72\\Partition4"},
+ {"/dev/sdbu5", BRACK(FH_SDBU | 5), "\\Device\\Harddisk72\\Partition5"},
+ {"/dev/sdbu6", BRACK(FH_SDBU | 6), "\\Device\\Harddisk72\\Partition6"},
+ {"/dev/sdbu7", BRACK(FH_SDBU | 7), "\\Device\\Harddisk72\\Partition7"},
+ {"/dev/sdbu8", BRACK(FH_SDBU | 8), "\\Device\\Harddisk72\\Partition8"},
+ {"/dev/sdbu9", BRACK(FH_SDBU | 9), "\\Device\\Harddisk72\\Partition9"},
+ {"/dev/sdbu10", BRACK(FH_SDBU | 10), "\\Device\\Harddisk72\\Partition10"},
+ {"/dev/sdbu11", BRACK(FH_SDBU | 11), "\\Device\\Harddisk72\\Partition11"},
+ {"/dev/sdbu12", BRACK(FH_SDBU | 12), "\\Device\\Harddisk72\\Partition12"},
+ {"/dev/sdbu13", BRACK(FH_SDBU | 13), "\\Device\\Harddisk72\\Partition13"},
+ {"/dev/sdbu14", BRACK(FH_SDBU | 14), "\\Device\\Harddisk72\\Partition14"},
+ {"/dev/sdbu15", BRACK(FH_SDBU | 15), "\\Device\\Harddisk72\\Partition15"},
+ {"/dev/sdbv1", BRACK(FH_SDBV | 1), "\\Device\\Harddisk73\\Partition1"},
+ {"/dev/sdbv2", BRACK(FH_SDBV | 2), "\\Device\\Harddisk73\\Partition2"},
+ {"/dev/sdbv3", BRACK(FH_SDBV | 3), "\\Device\\Harddisk73\\Partition3"},
+ {"/dev/sdbv4", BRACK(FH_SDBV | 4), "\\Device\\Harddisk73\\Partition4"},
+ {"/dev/sdbv5", BRACK(FH_SDBV | 5), "\\Device\\Harddisk73\\Partition5"},
+ {"/dev/sdbv6", BRACK(FH_SDBV | 6), "\\Device\\Harddisk73\\Partition6"},
+ {"/dev/sdbv7", BRACK(FH_SDBV | 7), "\\Device\\Harddisk73\\Partition7"},
+ {"/dev/sdbv8", BRACK(FH_SDBV | 8), "\\Device\\Harddisk73\\Partition8"},
+ {"/dev/sdbv9", BRACK(FH_SDBV | 9), "\\Device\\Harddisk73\\Partition9"},
+ {"/dev/sdbv10", BRACK(FH_SDBV | 10), "\\Device\\Harddisk73\\Partition10"},
+ {"/dev/sdbv11", BRACK(FH_SDBV | 11), "\\Device\\Harddisk73\\Partition11"},
+ {"/dev/sdbv12", BRACK(FH_SDBV | 12), "\\Device\\Harddisk73\\Partition12"},
+ {"/dev/sdbv13", BRACK(FH_SDBV | 13), "\\Device\\Harddisk73\\Partition13"},
+ {"/dev/sdbv14", BRACK(FH_SDBV | 14), "\\Device\\Harddisk73\\Partition14"},
+ {"/dev/sdbv15", BRACK(FH_SDBV | 15), "\\Device\\Harddisk73\\Partition15"},
+ {"/dev/sdbw1", BRACK(FH_SDBW | 1), "\\Device\\Harddisk74\\Partition1"},
+ {"/dev/sdbw2", BRACK(FH_SDBW | 2), "\\Device\\Harddisk74\\Partition2"},
+ {"/dev/sdbw3", BRACK(FH_SDBW | 3), "\\Device\\Harddisk74\\Partition3"},
+ {"/dev/sdbw4", BRACK(FH_SDBW | 4), "\\Device\\Harddisk74\\Partition4"},
+ {"/dev/sdbw5", BRACK(FH_SDBW | 5), "\\Device\\Harddisk74\\Partition5"},
+ {"/dev/sdbw6", BRACK(FH_SDBW | 6), "\\Device\\Harddisk74\\Partition6"},
+ {"/dev/sdbw7", BRACK(FH_SDBW | 7), "\\Device\\Harddisk74\\Partition7"},
+ {"/dev/sdbw8", BRACK(FH_SDBW | 8), "\\Device\\Harddisk74\\Partition8"},
+ {"/dev/sdbw9", BRACK(FH_SDBW | 9), "\\Device\\Harddisk74\\Partition9"},
+ {"/dev/sdbw10", BRACK(FH_SDBW | 10), "\\Device\\Harddisk74\\Partition10"},
+ {"/dev/sdbw11", BRACK(FH_SDBW | 11), "\\Device\\Harddisk74\\Partition11"},
+ {"/dev/sdbw12", BRACK(FH_SDBW | 12), "\\Device\\Harddisk74\\Partition12"},
+ {"/dev/sdbw13", BRACK(FH_SDBW | 13), "\\Device\\Harddisk74\\Partition13"},
+ {"/dev/sdbw14", BRACK(FH_SDBW | 14), "\\Device\\Harddisk74\\Partition14"},
+ {"/dev/sdbw15", BRACK(FH_SDBW | 15), "\\Device\\Harddisk74\\Partition15"},
+ {"/dev/sdbx1", BRACK(FH_SDBX | 1), "\\Device\\Harddisk75\\Partition1"},
+ {"/dev/sdbx2", BRACK(FH_SDBX | 2), "\\Device\\Harddisk75\\Partition2"},
+ {"/dev/sdbx3", BRACK(FH_SDBX | 3), "\\Device\\Harddisk75\\Partition3"},
+ {"/dev/sdbx4", BRACK(FH_SDBX | 4), "\\Device\\Harddisk75\\Partition4"},
+ {"/dev/sdbx5", BRACK(FH_SDBX | 5), "\\Device\\Harddisk75\\Partition5"},
+ {"/dev/sdbx6", BRACK(FH_SDBX | 6), "\\Device\\Harddisk75\\Partition6"},
+ {"/dev/sdbx7", BRACK(FH_SDBX | 7), "\\Device\\Harddisk75\\Partition7"},
+ {"/dev/sdbx8", BRACK(FH_SDBX | 8), "\\Device\\Harddisk75\\Partition8"},
+ {"/dev/sdbx9", BRACK(FH_SDBX | 9), "\\Device\\Harddisk75\\Partition9"},
+ {"/dev/sdbx10", BRACK(FH_SDBX | 10), "\\Device\\Harddisk75\\Partition10"},
+ {"/dev/sdbx11", BRACK(FH_SDBX | 11), "\\Device\\Harddisk75\\Partition11"},
+ {"/dev/sdbx12", BRACK(FH_SDBX | 12), "\\Device\\Harddisk75\\Partition12"},
+ {"/dev/sdbx13", BRACK(FH_SDBX | 13), "\\Device\\Harddisk75\\Partition13"},
+ {"/dev/sdbx14", BRACK(FH_SDBX | 14), "\\Device\\Harddisk75\\Partition14"},
+ {"/dev/sdbx15", BRACK(FH_SDBX | 15), "\\Device\\Harddisk75\\Partition15"},
+ {"/dev/sdby1", BRACK(FH_SDBY | 1), "\\Device\\Harddisk76\\Partition1"},
+ {"/dev/sdby2", BRACK(FH_SDBY | 2), "\\Device\\Harddisk76\\Partition2"},
+ {"/dev/sdby3", BRACK(FH_SDBY | 3), "\\Device\\Harddisk76\\Partition3"},
+ {"/dev/sdby4", BRACK(FH_SDBY | 4), "\\Device\\Harddisk76\\Partition4"},
+ {"/dev/sdby5", BRACK(FH_SDBY | 5), "\\Device\\Harddisk76\\Partition5"},
+ {"/dev/sdby6", BRACK(FH_SDBY | 6), "\\Device\\Harddisk76\\Partition6"},
+ {"/dev/sdby7", BRACK(FH_SDBY | 7), "\\Device\\Harddisk76\\Partition7"},
+ {"/dev/sdby8", BRACK(FH_SDBY | 8), "\\Device\\Harddisk76\\Partition8"},
+ {"/dev/sdby9", BRACK(FH_SDBY | 9), "\\Device\\Harddisk76\\Partition9"},
+ {"/dev/sdby10", BRACK(FH_SDBY | 10), "\\Device\\Harddisk76\\Partition10"},
+ {"/dev/sdby11", BRACK(FH_SDBY | 11), "\\Device\\Harddisk76\\Partition11"},
+ {"/dev/sdby12", BRACK(FH_SDBY | 12), "\\Device\\Harddisk76\\Partition12"},
+ {"/dev/sdby13", BRACK(FH_SDBY | 13), "\\Device\\Harddisk76\\Partition13"},
+ {"/dev/sdby14", BRACK(FH_SDBY | 14), "\\Device\\Harddisk76\\Partition14"},
+ {"/dev/sdby15", BRACK(FH_SDBY | 15), "\\Device\\Harddisk76\\Partition15"},
+ {"/dev/sdbz1", BRACK(FH_SDBZ | 1), "\\Device\\Harddisk77\\Partition1"},
+ {"/dev/sdbz2", BRACK(FH_SDBZ | 2), "\\Device\\Harddisk77\\Partition2"},
+ {"/dev/sdbz3", BRACK(FH_SDBZ | 3), "\\Device\\Harddisk77\\Partition3"},
+ {"/dev/sdbz4", BRACK(FH_SDBZ | 4), "\\Device\\Harddisk77\\Partition4"},
+ {"/dev/sdbz5", BRACK(FH_SDBZ | 5), "\\Device\\Harddisk77\\Partition5"},
+ {"/dev/sdbz6", BRACK(FH_SDBZ | 6), "\\Device\\Harddisk77\\Partition6"},
+ {"/dev/sdbz7", BRACK(FH_SDBZ | 7), "\\Device\\Harddisk77\\Partition7"},
+ {"/dev/sdbz8", BRACK(FH_SDBZ | 8), "\\Device\\Harddisk77\\Partition8"},
+ {"/dev/sdbz9", BRACK(FH_SDBZ | 9), "\\Device\\Harddisk77\\Partition9"},
+ {"/dev/sdbz10", BRACK(FH_SDBZ | 10), "\\Device\\Harddisk77\\Partition10"},
+ {"/dev/sdbz11", BRACK(FH_SDBZ | 11), "\\Device\\Harddisk77\\Partition11"},
+ {"/dev/sdbz12", BRACK(FH_SDBZ | 12), "\\Device\\Harddisk77\\Partition12"},
+ {"/dev/sdbz13", BRACK(FH_SDBZ | 13), "\\Device\\Harddisk77\\Partition13"},
+ {"/dev/sdbz14", BRACK(FH_SDBZ | 14), "\\Device\\Harddisk77\\Partition14"},
+ {"/dev/sdbz15", BRACK(FH_SDBZ | 15), "\\Device\\Harddisk77\\Partition15"},
+ {"/dev/sdca", BRACK(FH_SDCA), "\\Device\\Harddisk78\\Partition0"},
+ {"/dev/sdcb", BRACK(FH_SDCB), "\\Device\\Harddisk79\\Partition0"},
+ {"/dev/sdcc", BRACK(FH_SDCC), "\\Device\\Harddisk80\\Partition0"},
+ {"/dev/sdcd", BRACK(FH_SDCD), "\\Device\\Harddisk81\\Partition0"},
+ {"/dev/sdce", BRACK(FH_SDCE), "\\Device\\Harddisk82\\Partition0"},
+ {"/dev/sdcf", BRACK(FH_SDCF), "\\Device\\Harddisk83\\Partition0"},
+ {"/dev/sdcg", BRACK(FH_SDCG), "\\Device\\Harddisk84\\Partition0"},
+ {"/dev/sdch", BRACK(FH_SDCH), "\\Device\\Harddisk85\\Partition0"},
+ {"/dev/sdci", BRACK(FH_SDCI), "\\Device\\Harddisk86\\Partition0"},
+ {"/dev/sdcj", BRACK(FH_SDCJ), "\\Device\\Harddisk87\\Partition0"},
+ {"/dev/sdck", BRACK(FH_SDCK), "\\Device\\Harddisk88\\Partition0"},
+ {"/dev/sdcl", BRACK(FH_SDCL), "\\Device\\Harddisk89\\Partition0"},
+ {"/dev/sdcm", BRACK(FH_SDCM), "\\Device\\Harddisk90\\Partition0"},
+ {"/dev/sdcn", BRACK(FH_SDCN), "\\Device\\Harddisk91\\Partition0"},
+ {"/dev/sdco", BRACK(FH_SDCO), "\\Device\\Harddisk92\\Partition0"},
+ {"/dev/sdcp", BRACK(FH_SDCP), "\\Device\\Harddisk93\\Partition0"},
+ {"/dev/sdcq", BRACK(FH_SDCQ), "\\Device\\Harddisk94\\Partition0"},
+ {"/dev/sdcr", BRACK(FH_SDCR), "\\Device\\Harddisk95\\Partition0"},
+ {"/dev/sdcs", BRACK(FH_SDCS), "\\Device\\Harddisk96\\Partition0"},
+ {"/dev/sdct", BRACK(FH_SDCT), "\\Device\\Harddisk97\\Partition0"},
+ {"/dev/sdcu", BRACK(FH_SDCU), "\\Device\\Harddisk98\\Partition0"},
+ {"/dev/sdcv", BRACK(FH_SDCV), "\\Device\\Harddisk99\\Partition0"},
+ {"/dev/sdcw", BRACK(FH_SDCW), "\\Device\\Harddisk100\\Partition0"},
+ {"/dev/sdcx", BRACK(FH_SDCX), "\\Device\\Harddisk101\\Partition0"},
+ {"/dev/sdcy", BRACK(FH_SDCY), "\\Device\\Harddisk102\\Partition0"},
+ {"/dev/sdcz", BRACK(FH_SDCZ), "\\Device\\Harddisk103\\Partition0"},
+ {"/dev/sdca1", BRACK(FH_SDCA | 1), "\\Device\\Harddisk78\\Partition1"},
+ {"/dev/sdca2", BRACK(FH_SDCA | 2), "\\Device\\Harddisk78\\Partition2"},
+ {"/dev/sdca3", BRACK(FH_SDCA | 3), "\\Device\\Harddisk78\\Partition3"},
+ {"/dev/sdca4", BRACK(FH_SDCA | 4), "\\Device\\Harddisk78\\Partition4"},
+ {"/dev/sdca5", BRACK(FH_SDCA | 5), "\\Device\\Harddisk78\\Partition5"},
+ {"/dev/sdca6", BRACK(FH_SDCA | 6), "\\Device\\Harddisk78\\Partition6"},
+ {"/dev/sdca7", BRACK(FH_SDCA | 7), "\\Device\\Harddisk78\\Partition7"},
+ {"/dev/sdca8", BRACK(FH_SDCA | 8), "\\Device\\Harddisk78\\Partition8"},
+ {"/dev/sdca9", BRACK(FH_SDCA | 9), "\\Device\\Harddisk78\\Partition9"},
+ {"/dev/sdca10", BRACK(FH_SDCA | 10), "\\Device\\Harddisk78\\Partition10"},
+ {"/dev/sdca11", BRACK(FH_SDCA | 11), "\\Device\\Harddisk78\\Partition11"},
+ {"/dev/sdca12", BRACK(FH_SDCA | 12), "\\Device\\Harddisk78\\Partition12"},
+ {"/dev/sdca13", BRACK(FH_SDCA | 13), "\\Device\\Harddisk78\\Partition13"},
+ {"/dev/sdca14", BRACK(FH_SDCA | 14), "\\Device\\Harddisk78\\Partition14"},
+ {"/dev/sdca15", BRACK(FH_SDCA | 15), "\\Device\\Harddisk78\\Partition15"},
+ {"/dev/sdcb1", BRACK(FH_SDCB | 1), "\\Device\\Harddisk79\\Partition1"},
+ {"/dev/sdcb2", BRACK(FH_SDCB | 2), "\\Device\\Harddisk79\\Partition2"},
+ {"/dev/sdcb3", BRACK(FH_SDCB | 3), "\\Device\\Harddisk79\\Partition3"},
+ {"/dev/sdcb4", BRACK(FH_SDCB | 4), "\\Device\\Harddisk79\\Partition4"},
+ {"/dev/sdcb5", BRACK(FH_SDCB | 5), "\\Device\\Harddisk79\\Partition5"},
+ {"/dev/sdcb6", BRACK(FH_SDCB | 6), "\\Device\\Harddisk79\\Partition6"},
+ {"/dev/sdcb7", BRACK(FH_SDCB | 7), "\\Device\\Harddisk79\\Partition7"},
+ {"/dev/sdcb8", BRACK(FH_SDCB | 8), "\\Device\\Harddisk79\\Partition8"},
+ {"/dev/sdcb9", BRACK(FH_SDCB | 9), "\\Device\\Harddisk79\\Partition9"},
+ {"/dev/sdcb10", BRACK(FH_SDCB | 10), "\\Device\\Harddisk79\\Partition10"},
+ {"/dev/sdcb11", BRACK(FH_SDCB | 11), "\\Device\\Harddisk79\\Partition11"},
+ {"/dev/sdcb12", BRACK(FH_SDCB | 12), "\\Device\\Harddisk79\\Partition12"},
+ {"/dev/sdcb13", BRACK(FH_SDCB | 13), "\\Device\\Harddisk79\\Partition13"},
+ {"/dev/sdcb14", BRACK(FH_SDCB | 14), "\\Device\\Harddisk79\\Partition14"},
+ {"/dev/sdcb15", BRACK(FH_SDCB | 15), "\\Device\\Harddisk79\\Partition15"},
+ {"/dev/sdcc1", BRACK(FH_SDCC | 1), "\\Device\\Harddisk80\\Partition1"},
+ {"/dev/sdcc2", BRACK(FH_SDCC | 2), "\\Device\\Harddisk80\\Partition2"},
+ {"/dev/sdcc3", BRACK(FH_SDCC | 3), "\\Device\\Harddisk80\\Partition3"},
+ {"/dev/sdcc4", BRACK(FH_SDCC | 4), "\\Device\\Harddisk80\\Partition4"},
+ {"/dev/sdcc5", BRACK(FH_SDCC | 5), "\\Device\\Harddisk80\\Partition5"},
+ {"/dev/sdcc6", BRACK(FH_SDCC | 6), "\\Device\\Harddisk80\\Partition6"},
+ {"/dev/sdcc7", BRACK(FH_SDCC | 7), "\\Device\\Harddisk80\\Partition7"},
+ {"/dev/sdcc8", BRACK(FH_SDCC | 8), "\\Device\\Harddisk80\\Partition8"},
+ {"/dev/sdcc9", BRACK(FH_SDCC | 9), "\\Device\\Harddisk80\\Partition9"},
+ {"/dev/sdcc10", BRACK(FH_SDCC | 10), "\\Device\\Harddisk80\\Partition10"},
+ {"/dev/sdcc11", BRACK(FH_SDCC | 11), "\\Device\\Harddisk80\\Partition11"},
+ {"/dev/sdcc12", BRACK(FH_SDCC | 12), "\\Device\\Harddisk80\\Partition12"},
+ {"/dev/sdcc13", BRACK(FH_SDCC | 13), "\\Device\\Harddisk80\\Partition13"},
+ {"/dev/sdcc14", BRACK(FH_SDCC | 14), "\\Device\\Harddisk80\\Partition14"},
+ {"/dev/sdcc15", BRACK(FH_SDCC | 15), "\\Device\\Harddisk80\\Partition15"},
+ {"/dev/sdcd1", BRACK(FH_SDCD | 1), "\\Device\\Harddisk81\\Partition1"},
+ {"/dev/sdcd2", BRACK(FH_SDCD | 2), "\\Device\\Harddisk81\\Partition2"},
+ {"/dev/sdcd3", BRACK(FH_SDCD | 3), "\\Device\\Harddisk81\\Partition3"},
+ {"/dev/sdcd4", BRACK(FH_SDCD | 4), "\\Device\\Harddisk81\\Partition4"},
+ {"/dev/sdcd5", BRACK(FH_SDCD | 5), "\\Device\\Harddisk81\\Partition5"},
+ {"/dev/sdcd6", BRACK(FH_SDCD | 6), "\\Device\\Harddisk81\\Partition6"},
+ {"/dev/sdcd7", BRACK(FH_SDCD | 7), "\\Device\\Harddisk81\\Partition7"},
+ {"/dev/sdcd8", BRACK(FH_SDCD | 8), "\\Device\\Harddisk81\\Partition8"},
+ {"/dev/sdcd9", BRACK(FH_SDCD | 9), "\\Device\\Harddisk81\\Partition9"},
+ {"/dev/sdcd10", BRACK(FH_SDCD | 10), "\\Device\\Harddisk81\\Partition10"},
+ {"/dev/sdcd11", BRACK(FH_SDCD | 11), "\\Device\\Harddisk81\\Partition11"},
+ {"/dev/sdcd12", BRACK(FH_SDCD | 12), "\\Device\\Harddisk81\\Partition12"},
+ {"/dev/sdcd13", BRACK(FH_SDCD | 13), "\\Device\\Harddisk81\\Partition13"},
+ {"/dev/sdcd14", BRACK(FH_SDCD | 14), "\\Device\\Harddisk81\\Partition14"},
+ {"/dev/sdcd15", BRACK(FH_SDCD | 15), "\\Device\\Harddisk81\\Partition15"},
+ {"/dev/sdce1", BRACK(FH_SDCE | 1), "\\Device\\Harddisk82\\Partition1"},
+ {"/dev/sdce2", BRACK(FH_SDCE | 2), "\\Device\\Harddisk82\\Partition2"},
+ {"/dev/sdce3", BRACK(FH_SDCE | 3), "\\Device\\Harddisk82\\Partition3"},
+ {"/dev/sdce4", BRACK(FH_SDCE | 4), "\\Device\\Harddisk82\\Partition4"},
+ {"/dev/sdce5", BRACK(FH_SDCE | 5), "\\Device\\Harddisk82\\Partition5"},
+ {"/dev/sdce6", BRACK(FH_SDCE | 6), "\\Device\\Harddisk82\\Partition6"},
+ {"/dev/sdce7", BRACK(FH_SDCE | 7), "\\Device\\Harddisk82\\Partition7"},
+ {"/dev/sdce8", BRACK(FH_SDCE | 8), "\\Device\\Harddisk82\\Partition8"},
+ {"/dev/sdce9", BRACK(FH_SDCE | 9), "\\Device\\Harddisk82\\Partition9"},
+ {"/dev/sdce10", BRACK(FH_SDCE | 10), "\\Device\\Harddisk82\\Partition10"},
+ {"/dev/sdce11", BRACK(FH_SDCE | 11), "\\Device\\Harddisk82\\Partition11"},
+ {"/dev/sdce12", BRACK(FH_SDCE | 12), "\\Device\\Harddisk82\\Partition12"},
+ {"/dev/sdce13", BRACK(FH_SDCE | 13), "\\Device\\Harddisk82\\Partition13"},
+ {"/dev/sdce14", BRACK(FH_SDCE | 14), "\\Device\\Harddisk82\\Partition14"},
+ {"/dev/sdce15", BRACK(FH_SDCE | 15), "\\Device\\Harddisk82\\Partition15"},
+ {"/dev/sdcf1", BRACK(FH_SDCF | 1), "\\Device\\Harddisk83\\Partition1"},
+ {"/dev/sdcf2", BRACK(FH_SDCF | 2), "\\Device\\Harddisk83\\Partition2"},
+ {"/dev/sdcf3", BRACK(FH_SDCF | 3), "\\Device\\Harddisk83\\Partition3"},
+ {"/dev/sdcf4", BRACK(FH_SDCF | 4), "\\Device\\Harddisk83\\Partition4"},
+ {"/dev/sdcf5", BRACK(FH_SDCF | 5), "\\Device\\Harddisk83\\Partition5"},
+ {"/dev/sdcf6", BRACK(FH_SDCF | 6), "\\Device\\Harddisk83\\Partition6"},
+ {"/dev/sdcf7", BRACK(FH_SDCF | 7), "\\Device\\Harddisk83\\Partition7"},
+ {"/dev/sdcf8", BRACK(FH_SDCF | 8), "\\Device\\Harddisk83\\Partition8"},
+ {"/dev/sdcf9", BRACK(FH_SDCF | 9), "\\Device\\Harddisk83\\Partition9"},
+ {"/dev/sdcf10", BRACK(FH_SDCF | 10), "\\Device\\Harddisk83\\Partition10"},
+ {"/dev/sdcf11", BRACK(FH_SDCF | 11), "\\Device\\Harddisk83\\Partition11"},
+ {"/dev/sdcf12", BRACK(FH_SDCF | 12), "\\Device\\Harddisk83\\Partition12"},
+ {"/dev/sdcf13", BRACK(FH_SDCF | 13), "\\Device\\Harddisk83\\Partition13"},
+ {"/dev/sdcf14", BRACK(FH_SDCF | 14), "\\Device\\Harddisk83\\Partition14"},
+ {"/dev/sdcf15", BRACK(FH_SDCF | 15), "\\Device\\Harddisk83\\Partition15"},
+ {"/dev/sdcg1", BRACK(FH_SDCG | 1), "\\Device\\Harddisk84\\Partition1"},
+ {"/dev/sdcg2", BRACK(FH_SDCG | 2), "\\Device\\Harddisk84\\Partition2"},
+ {"/dev/sdcg3", BRACK(FH_SDCG | 3), "\\Device\\Harddisk84\\Partition3"},
+ {"/dev/sdcg4", BRACK(FH_SDCG | 4), "\\Device\\Harddisk84\\Partition4"},
+ {"/dev/sdcg5", BRACK(FH_SDCG | 5), "\\Device\\Harddisk84\\Partition5"},
+ {"/dev/sdcg6", BRACK(FH_SDCG | 6), "\\Device\\Harddisk84\\Partition6"},
+ {"/dev/sdcg7", BRACK(FH_SDCG | 7), "\\Device\\Harddisk84\\Partition7"},
+ {"/dev/sdcg8", BRACK(FH_SDCG | 8), "\\Device\\Harddisk84\\Partition8"},
+ {"/dev/sdcg9", BRACK(FH_SDCG | 9), "\\Device\\Harddisk84\\Partition9"},
+ {"/dev/sdcg10", BRACK(FH_SDCG | 10), "\\Device\\Harddisk84\\Partition10"},
+ {"/dev/sdcg11", BRACK(FH_SDCG | 11), "\\Device\\Harddisk84\\Partition11"},
+ {"/dev/sdcg12", BRACK(FH_SDCG | 12), "\\Device\\Harddisk84\\Partition12"},
+ {"/dev/sdcg13", BRACK(FH_SDCG | 13), "\\Device\\Harddisk84\\Partition13"},
+ {"/dev/sdcg14", BRACK(FH_SDCG | 14), "\\Device\\Harddisk84\\Partition14"},
+ {"/dev/sdcg15", BRACK(FH_SDCG | 15), "\\Device\\Harddisk84\\Partition15"},
+ {"/dev/sdch1", BRACK(FH_SDCH | 1), "\\Device\\Harddisk85\\Partition1"},
+ {"/dev/sdch2", BRACK(FH_SDCH | 2), "\\Device\\Harddisk85\\Partition2"},
+ {"/dev/sdch3", BRACK(FH_SDCH | 3), "\\Device\\Harddisk85\\Partition3"},
+ {"/dev/sdch4", BRACK(FH_SDCH | 4), "\\Device\\Harddisk85\\Partition4"},
+ {"/dev/sdch5", BRACK(FH_SDCH | 5), "\\Device\\Harddisk85\\Partition5"},
+ {"/dev/sdch6", BRACK(FH_SDCH | 6), "\\Device\\Harddisk85\\Partition6"},
+ {"/dev/sdch7", BRACK(FH_SDCH | 7), "\\Device\\Harddisk85\\Partition7"},
+ {"/dev/sdch8", BRACK(FH_SDCH | 8), "\\Device\\Harddisk85\\Partition8"},
+ {"/dev/sdch9", BRACK(FH_SDCH | 9), "\\Device\\Harddisk85\\Partition9"},
+ {"/dev/sdch10", BRACK(FH_SDCH | 10), "\\Device\\Harddisk85\\Partition10"},
+ {"/dev/sdch11", BRACK(FH_SDCH | 11), "\\Device\\Harddisk85\\Partition11"},
+ {"/dev/sdch12", BRACK(FH_SDCH | 12), "\\Device\\Harddisk85\\Partition12"},
+ {"/dev/sdch13", BRACK(FH_SDCH | 13), "\\Device\\Harddisk85\\Partition13"},
+ {"/dev/sdch14", BRACK(FH_SDCH | 14), "\\Device\\Harddisk85\\Partition14"},
+ {"/dev/sdch15", BRACK(FH_SDCH | 15), "\\Device\\Harddisk85\\Partition15"},
+ {"/dev/sdci1", BRACK(FH_SDCI | 1), "\\Device\\Harddisk86\\Partition1"},
+ {"/dev/sdci2", BRACK(FH_SDCI | 2), "\\Device\\Harddisk86\\Partition2"},
+ {"/dev/sdci3", BRACK(FH_SDCI | 3), "\\Device\\Harddisk86\\Partition3"},
+ {"/dev/sdci4", BRACK(FH_SDCI | 4), "\\Device\\Harddisk86\\Partition4"},
+ {"/dev/sdci5", BRACK(FH_SDCI | 5), "\\Device\\Harddisk86\\Partition5"},
+ {"/dev/sdci6", BRACK(FH_SDCI | 6), "\\Device\\Harddisk86\\Partition6"},
+ {"/dev/sdci7", BRACK(FH_SDCI | 7), "\\Device\\Harddisk86\\Partition7"},
+ {"/dev/sdci8", BRACK(FH_SDCI | 8), "\\Device\\Harddisk86\\Partition8"},
+ {"/dev/sdci9", BRACK(FH_SDCI | 9), "\\Device\\Harddisk86\\Partition9"},
+ {"/dev/sdci10", BRACK(FH_SDCI | 10), "\\Device\\Harddisk86\\Partition10"},
+ {"/dev/sdci11", BRACK(FH_SDCI | 11), "\\Device\\Harddisk86\\Partition11"},
+ {"/dev/sdci12", BRACK(FH_SDCI | 12), "\\Device\\Harddisk86\\Partition12"},
+ {"/dev/sdci13", BRACK(FH_SDCI | 13), "\\Device\\Harddisk86\\Partition13"},
+ {"/dev/sdci14", BRACK(FH_SDCI | 14), "\\Device\\Harddisk86\\Partition14"},
+ {"/dev/sdci15", BRACK(FH_SDCI | 15), "\\Device\\Harddisk86\\Partition15"},
+ {"/dev/sdcj1", BRACK(FH_SDCJ | 1), "\\Device\\Harddisk87\\Partition1"},
+ {"/dev/sdcj2", BRACK(FH_SDCJ | 2), "\\Device\\Harddisk87\\Partition2"},
+ {"/dev/sdcj3", BRACK(FH_SDCJ | 3), "\\Device\\Harddisk87\\Partition3"},
+ {"/dev/sdcj4", BRACK(FH_SDCJ | 4), "\\Device\\Harddisk87\\Partition4"},
+ {"/dev/sdcj5", BRACK(FH_SDCJ | 5), "\\Device\\Harddisk87\\Partition5"},
+ {"/dev/sdcj6", BRACK(FH_SDCJ | 6), "\\Device\\Harddisk87\\Partition6"},
+ {"/dev/sdcj7", BRACK(FH_SDCJ | 7), "\\Device\\Harddisk87\\Partition7"},
+ {"/dev/sdcj8", BRACK(FH_SDCJ | 8), "\\Device\\Harddisk87\\Partition8"},
+ {"/dev/sdcj9", BRACK(FH_SDCJ | 9), "\\Device\\Harddisk87\\Partition9"},
+ {"/dev/sdcj10", BRACK(FH_SDCJ | 10), "\\Device\\Harddisk87\\Partition10"},
+ {"/dev/sdcj11", BRACK(FH_SDCJ | 11), "\\Device\\Harddisk87\\Partition11"},
+ {"/dev/sdcj12", BRACK(FH_SDCJ | 12), "\\Device\\Harddisk87\\Partition12"},
+ {"/dev/sdcj13", BRACK(FH_SDCJ | 13), "\\Device\\Harddisk87\\Partition13"},
+ {"/dev/sdcj14", BRACK(FH_SDCJ | 14), "\\Device\\Harddisk87\\Partition14"},
+ {"/dev/sdcj15", BRACK(FH_SDCJ | 15), "\\Device\\Harddisk87\\Partition15"},
+ {"/dev/sdck1", BRACK(FH_SDCK | 1), "\\Device\\Harddisk88\\Partition1"},
+ {"/dev/sdck2", BRACK(FH_SDCK | 2), "\\Device\\Harddisk88\\Partition2"},
+ {"/dev/sdck3", BRACK(FH_SDCK | 3), "\\Device\\Harddisk88\\Partition3"},
+ {"/dev/sdck4", BRACK(FH_SDCK | 4), "\\Device\\Harddisk88\\Partition4"},
+ {"/dev/sdck5", BRACK(FH_SDCK | 5), "\\Device\\Harddisk88\\Partition5"},
+ {"/dev/sdck6", BRACK(FH_SDCK | 6), "\\Device\\Harddisk88\\Partition6"},
+ {"/dev/sdck7", BRACK(FH_SDCK | 7), "\\Device\\Harddisk88\\Partition7"},
+ {"/dev/sdck8", BRACK(FH_SDCK | 8), "\\Device\\Harddisk88\\Partition8"},
+ {"/dev/sdck9", BRACK(FH_SDCK | 9), "\\Device\\Harddisk88\\Partition9"},
+ {"/dev/sdck10", BRACK(FH_SDCK | 10), "\\Device\\Harddisk88\\Partition10"},
+ {"/dev/sdck11", BRACK(FH_SDCK | 11), "\\Device\\Harddisk88\\Partition11"},
+ {"/dev/sdck12", BRACK(FH_SDCK | 12), "\\Device\\Harddisk88\\Partition12"},
+ {"/dev/sdck13", BRACK(FH_SDCK | 13), "\\Device\\Harddisk88\\Partition13"},
+ {"/dev/sdck14", BRACK(FH_SDCK | 14), "\\Device\\Harddisk88\\Partition14"},
+ {"/dev/sdck15", BRACK(FH_SDCK | 15), "\\Device\\Harddisk88\\Partition15"},
+ {"/dev/sdcl1", BRACK(FH_SDCL | 1), "\\Device\\Harddisk89\\Partition1"},
+ {"/dev/sdcl2", BRACK(FH_SDCL | 2), "\\Device\\Harddisk89\\Partition2"},
+ {"/dev/sdcl3", BRACK(FH_SDCL | 3), "\\Device\\Harddisk89\\Partition3"},
+ {"/dev/sdcl4", BRACK(FH_SDCL | 4), "\\Device\\Harddisk89\\Partition4"},
+ {"/dev/sdcl5", BRACK(FH_SDCL | 5), "\\Device\\Harddisk89\\Partition5"},
+ {"/dev/sdcl6", BRACK(FH_SDCL | 6), "\\Device\\Harddisk89\\Partition6"},
+ {"/dev/sdcl7", BRACK(FH_SDCL | 7), "\\Device\\Harddisk89\\Partition7"},
+ {"/dev/sdcl8", BRACK(FH_SDCL | 8), "\\Device\\Harddisk89\\Partition8"},
+ {"/dev/sdcl9", BRACK(FH_SDCL | 9), "\\Device\\Harddisk89\\Partition9"},
+ {"/dev/sdcl10", BRACK(FH_SDCL | 10), "\\Device\\Harddisk89\\Partition10"},
+ {"/dev/sdcl11", BRACK(FH_SDCL | 11), "\\Device\\Harddisk89\\Partition11"},
+ {"/dev/sdcl12", BRACK(FH_SDCL | 12), "\\Device\\Harddisk89\\Partition12"},
+ {"/dev/sdcl13", BRACK(FH_SDCL | 13), "\\Device\\Harddisk89\\Partition13"},
+ {"/dev/sdcl14", BRACK(FH_SDCL | 14), "\\Device\\Harddisk89\\Partition14"},
+ {"/dev/sdcl15", BRACK(FH_SDCL | 15), "\\Device\\Harddisk89\\Partition15"},
+ {"/dev/sdcm1", BRACK(FH_SDCM | 1), "\\Device\\Harddisk90\\Partition1"},
+ {"/dev/sdcm2", BRACK(FH_SDCM | 2), "\\Device\\Harddisk90\\Partition2"},
+ {"/dev/sdcm3", BRACK(FH_SDCM | 3), "\\Device\\Harddisk90\\Partition3"},
+ {"/dev/sdcm4", BRACK(FH_SDCM | 4), "\\Device\\Harddisk90\\Partition4"},
+ {"/dev/sdcm5", BRACK(FH_SDCM | 5), "\\Device\\Harddisk90\\Partition5"},
+ {"/dev/sdcm6", BRACK(FH_SDCM | 6), "\\Device\\Harddisk90\\Partition6"},
+ {"/dev/sdcm7", BRACK(FH_SDCM | 7), "\\Device\\Harddisk90\\Partition7"},
+ {"/dev/sdcm8", BRACK(FH_SDCM | 8), "\\Device\\Harddisk90\\Partition8"},
+ {"/dev/sdcm9", BRACK(FH_SDCM | 9), "\\Device\\Harddisk90\\Partition9"},
+ {"/dev/sdcm10", BRACK(FH_SDCM | 10), "\\Device\\Harddisk90\\Partition10"},
+ {"/dev/sdcm11", BRACK(FH_SDCM | 11), "\\Device\\Harddisk90\\Partition11"},
+ {"/dev/sdcm12", BRACK(FH_SDCM | 12), "\\Device\\Harddisk90\\Partition12"},
+ {"/dev/sdcm13", BRACK(FH_SDCM | 13), "\\Device\\Harddisk90\\Partition13"},
+ {"/dev/sdcm14", BRACK(FH_SDCM | 14), "\\Device\\Harddisk90\\Partition14"},
+ {"/dev/sdcm15", BRACK(FH_SDCM | 15), "\\Device\\Harddisk90\\Partition15"},
+ {"/dev/sdcn1", BRACK(FH_SDCN | 1), "\\Device\\Harddisk91\\Partition1"},
+ {"/dev/sdcn2", BRACK(FH_SDCN | 2), "\\Device\\Harddisk91\\Partition2"},
+ {"/dev/sdcn3", BRACK(FH_SDCN | 3), "\\Device\\Harddisk91\\Partition3"},
+ {"/dev/sdcn4", BRACK(FH_SDCN | 4), "\\Device\\Harddisk91\\Partition4"},
+ {"/dev/sdcn5", BRACK(FH_SDCN | 5), "\\Device\\Harddisk91\\Partition5"},
+ {"/dev/sdcn6", BRACK(FH_SDCN | 6), "\\Device\\Harddisk91\\Partition6"},
+ {"/dev/sdcn7", BRACK(FH_SDCN | 7), "\\Device\\Harddisk91\\Partition7"},
+ {"/dev/sdcn8", BRACK(FH_SDCN | 8), "\\Device\\Harddisk91\\Partition8"},
+ {"/dev/sdcn9", BRACK(FH_SDCN | 9), "\\Device\\Harddisk91\\Partition9"},
+ {"/dev/sdcn10", BRACK(FH_SDCN | 10), "\\Device\\Harddisk91\\Partition10"},
+ {"/dev/sdcn11", BRACK(FH_SDCN | 11), "\\Device\\Harddisk91\\Partition11"},
+ {"/dev/sdcn12", BRACK(FH_SDCN | 12), "\\Device\\Harddisk91\\Partition12"},
+ {"/dev/sdcn13", BRACK(FH_SDCN | 13), "\\Device\\Harddisk91\\Partition13"},
+ {"/dev/sdcn14", BRACK(FH_SDCN | 14), "\\Device\\Harddisk91\\Partition14"},
+ {"/dev/sdcn15", BRACK(FH_SDCN | 15), "\\Device\\Harddisk91\\Partition15"},
+ {"/dev/sdco1", BRACK(FH_SDCO | 1), "\\Device\\Harddisk92\\Partition1"},
+ {"/dev/sdco2", BRACK(FH_SDCO | 2), "\\Device\\Harddisk92\\Partition2"},
+ {"/dev/sdco3", BRACK(FH_SDCO | 3), "\\Device\\Harddisk92\\Partition3"},
+ {"/dev/sdco4", BRACK(FH_SDCO | 4), "\\Device\\Harddisk92\\Partition4"},
+ {"/dev/sdco5", BRACK(FH_SDCO | 5), "\\Device\\Harddisk92\\Partition5"},
+ {"/dev/sdco6", BRACK(FH_SDCO | 6), "\\Device\\Harddisk92\\Partition6"},
+ {"/dev/sdco7", BRACK(FH_SDCO | 7), "\\Device\\Harddisk92\\Partition7"},
+ {"/dev/sdco8", BRACK(FH_SDCO | 8), "\\Device\\Harddisk92\\Partition8"},
+ {"/dev/sdco9", BRACK(FH_SDCO | 9), "\\Device\\Harddisk92\\Partition9"},
+ {"/dev/sdco10", BRACK(FH_SDCO | 10), "\\Device\\Harddisk92\\Partition10"},
+ {"/dev/sdco11", BRACK(FH_SDCO | 11), "\\Device\\Harddisk92\\Partition11"},
+ {"/dev/sdco12", BRACK(FH_SDCO | 12), "\\Device\\Harddisk92\\Partition12"},
+ {"/dev/sdco13", BRACK(FH_SDCO | 13), "\\Device\\Harddisk92\\Partition13"},
+ {"/dev/sdco14", BRACK(FH_SDCO | 14), "\\Device\\Harddisk92\\Partition14"},
+ {"/dev/sdco15", BRACK(FH_SDCO | 15), "\\Device\\Harddisk92\\Partition15"},
+ {"/dev/sdcp1", BRACK(FH_SDCP | 1), "\\Device\\Harddisk93\\Partition1"},
+ {"/dev/sdcp2", BRACK(FH_SDCP | 2), "\\Device\\Harddisk93\\Partition2"},
+ {"/dev/sdcp3", BRACK(FH_SDCP | 3), "\\Device\\Harddisk93\\Partition3"},
+ {"/dev/sdcp4", BRACK(FH_SDCP | 4), "\\Device\\Harddisk93\\Partition4"},
+ {"/dev/sdcp5", BRACK(FH_SDCP | 5), "\\Device\\Harddisk93\\Partition5"},
+ {"/dev/sdcp6", BRACK(FH_SDCP | 6), "\\Device\\Harddisk93\\Partition6"},
+ {"/dev/sdcp7", BRACK(FH_SDCP | 7), "\\Device\\Harddisk93\\Partition7"},
+ {"/dev/sdcp8", BRACK(FH_SDCP | 8), "\\Device\\Harddisk93\\Partition8"},
+ {"/dev/sdcp9", BRACK(FH_SDCP | 9), "\\Device\\Harddisk93\\Partition9"},
+ {"/dev/sdcp10", BRACK(FH_SDCP | 10), "\\Device\\Harddisk93\\Partition10"},
+ {"/dev/sdcp11", BRACK(FH_SDCP | 11), "\\Device\\Harddisk93\\Partition11"},
+ {"/dev/sdcp12", BRACK(FH_SDCP | 12), "\\Device\\Harddisk93\\Partition12"},
+ {"/dev/sdcp13", BRACK(FH_SDCP | 13), "\\Device\\Harddisk93\\Partition13"},
+ {"/dev/sdcp14", BRACK(FH_SDCP | 14), "\\Device\\Harddisk93\\Partition14"},
+ {"/dev/sdcp15", BRACK(FH_SDCP | 15), "\\Device\\Harddisk93\\Partition15"},
+ {"/dev/sdcq1", BRACK(FH_SDCQ | 1), "\\Device\\Harddisk94\\Partition1"},
+ {"/dev/sdcq2", BRACK(FH_SDCQ | 2), "\\Device\\Harddisk94\\Partition2"},
+ {"/dev/sdcq3", BRACK(FH_SDCQ | 3), "\\Device\\Harddisk94\\Partition3"},
+ {"/dev/sdcq4", BRACK(FH_SDCQ | 4), "\\Device\\Harddisk94\\Partition4"},
+ {"/dev/sdcq5", BRACK(FH_SDCQ | 5), "\\Device\\Harddisk94\\Partition5"},
+ {"/dev/sdcq6", BRACK(FH_SDCQ | 6), "\\Device\\Harddisk94\\Partition6"},
+ {"/dev/sdcq7", BRACK(FH_SDCQ | 7), "\\Device\\Harddisk94\\Partition7"},
+ {"/dev/sdcq8", BRACK(FH_SDCQ | 8), "\\Device\\Harddisk94\\Partition8"},
+ {"/dev/sdcq9", BRACK(FH_SDCQ | 9), "\\Device\\Harddisk94\\Partition9"},
+ {"/dev/sdcq10", BRACK(FH_SDCQ | 10), "\\Device\\Harddisk94\\Partition10"},
+ {"/dev/sdcq11", BRACK(FH_SDCQ | 11), "\\Device\\Harddisk94\\Partition11"},
+ {"/dev/sdcq12", BRACK(FH_SDCQ | 12), "\\Device\\Harddisk94\\Partition12"},
+ {"/dev/sdcq13", BRACK(FH_SDCQ | 13), "\\Device\\Harddisk94\\Partition13"},
+ {"/dev/sdcq14", BRACK(FH_SDCQ | 14), "\\Device\\Harddisk94\\Partition14"},
+ {"/dev/sdcq15", BRACK(FH_SDCQ | 15), "\\Device\\Harddisk94\\Partition15"},
+ {"/dev/sdcr1", BRACK(FH_SDCR | 1), "\\Device\\Harddisk95\\Partition1"},
+ {"/dev/sdcr2", BRACK(FH_SDCR | 2), "\\Device\\Harddisk95\\Partition2"},
+ {"/dev/sdcr3", BRACK(FH_SDCR | 3), "\\Device\\Harddisk95\\Partition3"},
+ {"/dev/sdcr4", BRACK(FH_SDCR | 4), "\\Device\\Harddisk95\\Partition4"},
+ {"/dev/sdcr5", BRACK(FH_SDCR | 5), "\\Device\\Harddisk95\\Partition5"},
+ {"/dev/sdcr6", BRACK(FH_SDCR | 6), "\\Device\\Harddisk95\\Partition6"},
+ {"/dev/sdcr7", BRACK(FH_SDCR | 7), "\\Device\\Harddisk95\\Partition7"},
+ {"/dev/sdcr8", BRACK(FH_SDCR | 8), "\\Device\\Harddisk95\\Partition8"},
+ {"/dev/sdcr9", BRACK(FH_SDCR | 9), "\\Device\\Harddisk95\\Partition9"},
+ {"/dev/sdcr10", BRACK(FH_SDCR | 10), "\\Device\\Harddisk95\\Partition10"},
+ {"/dev/sdcr11", BRACK(FH_SDCR | 11), "\\Device\\Harddisk95\\Partition11"},
+ {"/dev/sdcr12", BRACK(FH_SDCR | 12), "\\Device\\Harddisk95\\Partition12"},
+ {"/dev/sdcr13", BRACK(FH_SDCR | 13), "\\Device\\Harddisk95\\Partition13"},
+ {"/dev/sdcr14", BRACK(FH_SDCR | 14), "\\Device\\Harddisk95\\Partition14"},
+ {"/dev/sdcr15", BRACK(FH_SDCR | 15), "\\Device\\Harddisk95\\Partition15"},
+ {"/dev/sdcs1", BRACK(FH_SDCS | 1), "\\Device\\Harddisk96\\Partition1"},
+ {"/dev/sdcs2", BRACK(FH_SDCS | 2), "\\Device\\Harddisk96\\Partition2"},
+ {"/dev/sdcs3", BRACK(FH_SDCS | 3), "\\Device\\Harddisk96\\Partition3"},
+ {"/dev/sdcs4", BRACK(FH_SDCS | 4), "\\Device\\Harddisk96\\Partition4"},
+ {"/dev/sdcs5", BRACK(FH_SDCS | 5), "\\Device\\Harddisk96\\Partition5"},
+ {"/dev/sdcs6", BRACK(FH_SDCS | 6), "\\Device\\Harddisk96\\Partition6"},
+ {"/dev/sdcs7", BRACK(FH_SDCS | 7), "\\Device\\Harddisk96\\Partition7"},
+ {"/dev/sdcs8", BRACK(FH_SDCS | 8), "\\Device\\Harddisk96\\Partition8"},
+ {"/dev/sdcs9", BRACK(FH_SDCS | 9), "\\Device\\Harddisk96\\Partition9"},
+ {"/dev/sdcs10", BRACK(FH_SDCS | 10), "\\Device\\Harddisk96\\Partition10"},
+ {"/dev/sdcs11", BRACK(FH_SDCS | 11), "\\Device\\Harddisk96\\Partition11"},
+ {"/dev/sdcs12", BRACK(FH_SDCS | 12), "\\Device\\Harddisk96\\Partition12"},
+ {"/dev/sdcs13", BRACK(FH_SDCS | 13), "\\Device\\Harddisk96\\Partition13"},
+ {"/dev/sdcs14", BRACK(FH_SDCS | 14), "\\Device\\Harddisk96\\Partition14"},
+ {"/dev/sdcs15", BRACK(FH_SDCS | 15), "\\Device\\Harddisk96\\Partition15"},
+ {"/dev/sdct1", BRACK(FH_SDCT | 1), "\\Device\\Harddisk97\\Partition1"},
+ {"/dev/sdct2", BRACK(FH_SDCT | 2), "\\Device\\Harddisk97\\Partition2"},
+ {"/dev/sdct3", BRACK(FH_SDCT | 3), "\\Device\\Harddisk97\\Partition3"},
+ {"/dev/sdct4", BRACK(FH_SDCT | 4), "\\Device\\Harddisk97\\Partition4"},
+ {"/dev/sdct5", BRACK(FH_SDCT | 5), "\\Device\\Harddisk97\\Partition5"},
+ {"/dev/sdct6", BRACK(FH_SDCT | 6), "\\Device\\Harddisk97\\Partition6"},
+ {"/dev/sdct7", BRACK(FH_SDCT | 7), "\\Device\\Harddisk97\\Partition7"},
+ {"/dev/sdct8", BRACK(FH_SDCT | 8), "\\Device\\Harddisk97\\Partition8"},
+ {"/dev/sdct9", BRACK(FH_SDCT | 9), "\\Device\\Harddisk97\\Partition9"},
+ {"/dev/sdct10", BRACK(FH_SDCT | 10), "\\Device\\Harddisk97\\Partition10"},
+ {"/dev/sdct11", BRACK(FH_SDCT | 11), "\\Device\\Harddisk97\\Partition11"},
+ {"/dev/sdct12", BRACK(FH_SDCT | 12), "\\Device\\Harddisk97\\Partition12"},
+ {"/dev/sdct13", BRACK(FH_SDCT | 13), "\\Device\\Harddisk97\\Partition13"},
+ {"/dev/sdct14", BRACK(FH_SDCT | 14), "\\Device\\Harddisk97\\Partition14"},
+ {"/dev/sdct15", BRACK(FH_SDCT | 15), "\\Device\\Harddisk97\\Partition15"},
+ {"/dev/sdcu1", BRACK(FH_SDCU | 1), "\\Device\\Harddisk98\\Partition1"},
+ {"/dev/sdcu2", BRACK(FH_SDCU | 2), "\\Device\\Harddisk98\\Partition2"},
+ {"/dev/sdcu3", BRACK(FH_SDCU | 3), "\\Device\\Harddisk98\\Partition3"},
+ {"/dev/sdcu4", BRACK(FH_SDCU | 4), "\\Device\\Harddisk98\\Partition4"},
+ {"/dev/sdcu5", BRACK(FH_SDCU | 5), "\\Device\\Harddisk98\\Partition5"},
+ {"/dev/sdcu6", BRACK(FH_SDCU | 6), "\\Device\\Harddisk98\\Partition6"},
+ {"/dev/sdcu7", BRACK(FH_SDCU | 7), "\\Device\\Harddisk98\\Partition7"},
+ {"/dev/sdcu8", BRACK(FH_SDCU | 8), "\\Device\\Harddisk98\\Partition8"},
+ {"/dev/sdcu9", BRACK(FH_SDCU | 9), "\\Device\\Harddisk98\\Partition9"},
+ {"/dev/sdcu10", BRACK(FH_SDCU | 10), "\\Device\\Harddisk98\\Partition10"},
+ {"/dev/sdcu11", BRACK(FH_SDCU | 11), "\\Device\\Harddisk98\\Partition11"},
+ {"/dev/sdcu12", BRACK(FH_SDCU | 12), "\\Device\\Harddisk98\\Partition12"},
+ {"/dev/sdcu13", BRACK(FH_SDCU | 13), "\\Device\\Harddisk98\\Partition13"},
+ {"/dev/sdcu14", BRACK(FH_SDCU | 14), "\\Device\\Harddisk98\\Partition14"},
+ {"/dev/sdcu15", BRACK(FH_SDCU | 15), "\\Device\\Harddisk98\\Partition15"},
+ {"/dev/sdcv1", BRACK(FH_SDCV | 1), "\\Device\\Harddisk99\\Partition1"},
+ {"/dev/sdcv2", BRACK(FH_SDCV | 2), "\\Device\\Harddisk99\\Partition2"},
+ {"/dev/sdcv3", BRACK(FH_SDCV | 3), "\\Device\\Harddisk99\\Partition3"},
+ {"/dev/sdcv4", BRACK(FH_SDCV | 4), "\\Device\\Harddisk99\\Partition4"},
+ {"/dev/sdcv5", BRACK(FH_SDCV | 5), "\\Device\\Harddisk99\\Partition5"},
+ {"/dev/sdcv6", BRACK(FH_SDCV | 6), "\\Device\\Harddisk99\\Partition6"},
+ {"/dev/sdcv7", BRACK(FH_SDCV | 7), "\\Device\\Harddisk99\\Partition7"},
+ {"/dev/sdcv8", BRACK(FH_SDCV | 8), "\\Device\\Harddisk99\\Partition8"},
+ {"/dev/sdcv9", BRACK(FH_SDCV | 9), "\\Device\\Harddisk99\\Partition9"},
+ {"/dev/sdcv10", BRACK(FH_SDCV | 10), "\\Device\\Harddisk99\\Partition10"},
+ {"/dev/sdcv11", BRACK(FH_SDCV | 11), "\\Device\\Harddisk99\\Partition11"},
+ {"/dev/sdcv12", BRACK(FH_SDCV | 12), "\\Device\\Harddisk99\\Partition12"},
+ {"/dev/sdcv13", BRACK(FH_SDCV | 13), "\\Device\\Harddisk99\\Partition13"},
+ {"/dev/sdcv14", BRACK(FH_SDCV | 14), "\\Device\\Harddisk99\\Partition14"},
+ {"/dev/sdcv15", BRACK(FH_SDCV | 15), "\\Device\\Harddisk99\\Partition15"},
+ {"/dev/sdcw1", BRACK(FH_SDCW | 1), "\\Device\\Harddisk100\\Partition1"},
+ {"/dev/sdcw2", BRACK(FH_SDCW | 2), "\\Device\\Harddisk100\\Partition2"},
+ {"/dev/sdcw3", BRACK(FH_SDCW | 3), "\\Device\\Harddisk100\\Partition3"},
+ {"/dev/sdcw4", BRACK(FH_SDCW | 4), "\\Device\\Harddisk100\\Partition4"},
+ {"/dev/sdcw5", BRACK(FH_SDCW | 5), "\\Device\\Harddisk100\\Partition5"},
+ {"/dev/sdcw6", BRACK(FH_SDCW | 6), "\\Device\\Harddisk100\\Partition6"},
+ {"/dev/sdcw7", BRACK(FH_SDCW | 7), "\\Device\\Harddisk100\\Partition7"},
+ {"/dev/sdcw8", BRACK(FH_SDCW | 8), "\\Device\\Harddisk100\\Partition8"},
+ {"/dev/sdcw9", BRACK(FH_SDCW | 9), "\\Device\\Harddisk100\\Partition9"},
+ {"/dev/sdcw10", BRACK(FH_SDCW | 10), "\\Device\\Harddisk100\\Partition10"},
+ {"/dev/sdcw11", BRACK(FH_SDCW | 11), "\\Device\\Harddisk100\\Partition11"},
+ {"/dev/sdcw12", BRACK(FH_SDCW | 12), "\\Device\\Harddisk100\\Partition12"},
+ {"/dev/sdcw13", BRACK(FH_SDCW | 13), "\\Device\\Harddisk100\\Partition13"},
+ {"/dev/sdcw14", BRACK(FH_SDCW | 14), "\\Device\\Harddisk100\\Partition14"},
+ {"/dev/sdcw15", BRACK(FH_SDCW | 15), "\\Device\\Harddisk100\\Partition15"},
+ {"/dev/sdcx1", BRACK(FH_SDCX | 1), "\\Device\\Harddisk101\\Partition1"},
+ {"/dev/sdcx2", BRACK(FH_SDCX | 2), "\\Device\\Harddisk101\\Partition2"},
+ {"/dev/sdcx3", BRACK(FH_SDCX | 3), "\\Device\\Harddisk101\\Partition3"},
+ {"/dev/sdcx4", BRACK(FH_SDCX | 4), "\\Device\\Harddisk101\\Partition4"},
+ {"/dev/sdcx5", BRACK(FH_SDCX | 5), "\\Device\\Harddisk101\\Partition5"},
+ {"/dev/sdcx6", BRACK(FH_SDCX | 6), "\\Device\\Harddisk101\\Partition6"},
+ {"/dev/sdcx7", BRACK(FH_SDCX | 7), "\\Device\\Harddisk101\\Partition7"},
+ {"/dev/sdcx8", BRACK(FH_SDCX | 8), "\\Device\\Harddisk101\\Partition8"},
+ {"/dev/sdcx9", BRACK(FH_SDCX | 9), "\\Device\\Harddisk101\\Partition9"},
+ {"/dev/sdcx10", BRACK(FH_SDCX | 10), "\\Device\\Harddisk101\\Partition10"},
+ {"/dev/sdcx11", BRACK(FH_SDCX | 11), "\\Device\\Harddisk101\\Partition11"},
+ {"/dev/sdcx12", BRACK(FH_SDCX | 12), "\\Device\\Harddisk101\\Partition12"},
+ {"/dev/sdcx13", BRACK(FH_SDCX | 13), "\\Device\\Harddisk101\\Partition13"},
+ {"/dev/sdcx14", BRACK(FH_SDCX | 14), "\\Device\\Harddisk101\\Partition14"},
+ {"/dev/sdcx15", BRACK(FH_SDCX | 15), "\\Device\\Harddisk101\\Partition15"},
+ {"/dev/sdcy1", BRACK(FH_SDCY | 1), "\\Device\\Harddisk102\\Partition1"},
+ {"/dev/sdcy2", BRACK(FH_SDCY | 2), "\\Device\\Harddisk102\\Partition2"},
+ {"/dev/sdcy3", BRACK(FH_SDCY | 3), "\\Device\\Harddisk102\\Partition3"},
+ {"/dev/sdcy4", BRACK(FH_SDCY | 4), "\\Device\\Harddisk102\\Partition4"},
+ {"/dev/sdcy5", BRACK(FH_SDCY | 5), "\\Device\\Harddisk102\\Partition5"},
+ {"/dev/sdcy6", BRACK(FH_SDCY | 6), "\\Device\\Harddisk102\\Partition6"},
+ {"/dev/sdcy7", BRACK(FH_SDCY | 7), "\\Device\\Harddisk102\\Partition7"},
+ {"/dev/sdcy8", BRACK(FH_SDCY | 8), "\\Device\\Harddisk102\\Partition8"},
+ {"/dev/sdcy9", BRACK(FH_SDCY | 9), "\\Device\\Harddisk102\\Partition9"},
+ {"/dev/sdcy10", BRACK(FH_SDCY | 10), "\\Device\\Harddisk102\\Partition10"},
+ {"/dev/sdcy11", BRACK(FH_SDCY | 11), "\\Device\\Harddisk102\\Partition11"},
+ {"/dev/sdcy12", BRACK(FH_SDCY | 12), "\\Device\\Harddisk102\\Partition12"},
+ {"/dev/sdcy13", BRACK(FH_SDCY | 13), "\\Device\\Harddisk102\\Partition13"},
+ {"/dev/sdcy14", BRACK(FH_SDCY | 14), "\\Device\\Harddisk102\\Partition14"},
+ {"/dev/sdcy15", BRACK(FH_SDCY | 15), "\\Device\\Harddisk102\\Partition15"},
+ {"/dev/sdcz1", BRACK(FH_SDCZ | 1), "\\Device\\Harddisk103\\Partition1"},
+ {"/dev/sdcz2", BRACK(FH_SDCZ | 2), "\\Device\\Harddisk103\\Partition2"},
+ {"/dev/sdcz3", BRACK(FH_SDCZ | 3), "\\Device\\Harddisk103\\Partition3"},
+ {"/dev/sdcz4", BRACK(FH_SDCZ | 4), "\\Device\\Harddisk103\\Partition4"},
+ {"/dev/sdcz5", BRACK(FH_SDCZ | 5), "\\Device\\Harddisk103\\Partition5"},
+ {"/dev/sdcz6", BRACK(FH_SDCZ | 6), "\\Device\\Harddisk103\\Partition6"},
+ {"/dev/sdcz7", BRACK(FH_SDCZ | 7), "\\Device\\Harddisk103\\Partition7"},
+ {"/dev/sdcz8", BRACK(FH_SDCZ | 8), "\\Device\\Harddisk103\\Partition8"},
+ {"/dev/sdcz9", BRACK(FH_SDCZ | 9), "\\Device\\Harddisk103\\Partition9"},
+ {"/dev/sdcz10", BRACK(FH_SDCZ | 10), "\\Device\\Harddisk103\\Partition10"},
+ {"/dev/sdcz11", BRACK(FH_SDCZ | 11), "\\Device\\Harddisk103\\Partition11"},
+ {"/dev/sdcz12", BRACK(FH_SDCZ | 12), "\\Device\\Harddisk103\\Partition12"},
+ {"/dev/sdcz13", BRACK(FH_SDCZ | 13), "\\Device\\Harddisk103\\Partition13"},
+ {"/dev/sdcz14", BRACK(FH_SDCZ | 14), "\\Device\\Harddisk103\\Partition14"},
+ {"/dev/sdcz15", BRACK(FH_SDCZ | 15), "\\Device\\Harddisk103\\Partition15"},
+ {"/dev/sdda", BRACK(FH_SDDA), "\\Device\\Harddisk104\\Partition0"},
+ {"/dev/sddb", BRACK(FH_SDDB), "\\Device\\Harddisk105\\Partition0"},
+ {"/dev/sddc", BRACK(FH_SDDC), "\\Device\\Harddisk106\\Partition0"},
+ {"/dev/sddd", BRACK(FH_SDDD), "\\Device\\Harddisk107\\Partition0"},
+ {"/dev/sdde", BRACK(FH_SDDE), "\\Device\\Harddisk108\\Partition0"},
+ {"/dev/sddf", BRACK(FH_SDDF), "\\Device\\Harddisk109\\Partition0"},
+ {"/dev/sddg", BRACK(FH_SDDG), "\\Device\\Harddisk110\\Partition0"},
+ {"/dev/sddh", BRACK(FH_SDDH), "\\Device\\Harddisk111\\Partition0"},
+ {"/dev/sddi", BRACK(FH_SDDI), "\\Device\\Harddisk112\\Partition0"},
+ {"/dev/sddj", BRACK(FH_SDDJ), "\\Device\\Harddisk113\\Partition0"},
+ {"/dev/sddk", BRACK(FH_SDDK), "\\Device\\Harddisk114\\Partition0"},
+ {"/dev/sddl", BRACK(FH_SDDL), "\\Device\\Harddisk115\\Partition0"},
+ {"/dev/sddm", BRACK(FH_SDDM), "\\Device\\Harddisk116\\Partition0"},
+ {"/dev/sddn", BRACK(FH_SDDN), "\\Device\\Harddisk117\\Partition0"},
+ {"/dev/sddo", BRACK(FH_SDDO), "\\Device\\Harddisk118\\Partition0"},
+ {"/dev/sddp", BRACK(FH_SDDP), "\\Device\\Harddisk119\\Partition0"},
+ {"/dev/sddq", BRACK(FH_SDDQ), "\\Device\\Harddisk120\\Partition0"},
+ {"/dev/sddr", BRACK(FH_SDDR), "\\Device\\Harddisk121\\Partition0"},
+ {"/dev/sdds", BRACK(FH_SDDS), "\\Device\\Harddisk122\\Partition0"},
+ {"/dev/sddt", BRACK(FH_SDDT), "\\Device\\Harddisk123\\Partition0"},
+ {"/dev/sddu", BRACK(FH_SDDU), "\\Device\\Harddisk124\\Partition0"},
+ {"/dev/sddv", BRACK(FH_SDDV), "\\Device\\Harddisk125\\Partition0"},
+ {"/dev/sddw", BRACK(FH_SDDW), "\\Device\\Harddisk126\\Partition0"},
+ {"/dev/sddx", BRACK(FH_SDDX), "\\Device\\Harddisk127\\Partition0"},
+ {"/dev/sdda1", BRACK(FH_SDDA | 1), "\\Device\\Harddisk104\\Partition1"},
+ {"/dev/sdda2", BRACK(FH_SDDA | 2), "\\Device\\Harddisk104\\Partition2"},
+ {"/dev/sdda3", BRACK(FH_SDDA | 3), "\\Device\\Harddisk104\\Partition3"},
+ {"/dev/sdda4", BRACK(FH_SDDA | 4), "\\Device\\Harddisk104\\Partition4"},
+ {"/dev/sdda5", BRACK(FH_SDDA | 5), "\\Device\\Harddisk104\\Partition5"},
+ {"/dev/sdda6", BRACK(FH_SDDA | 6), "\\Device\\Harddisk104\\Partition6"},
+ {"/dev/sdda7", BRACK(FH_SDDA | 7), "\\Device\\Harddisk104\\Partition7"},
+ {"/dev/sdda8", BRACK(FH_SDDA | 8), "\\Device\\Harddisk104\\Partition8"},
+ {"/dev/sdda9", BRACK(FH_SDDA | 9), "\\Device\\Harddisk104\\Partition9"},
+ {"/dev/sdda10", BRACK(FH_SDDA | 10), "\\Device\\Harddisk104\\Partition10"},
+ {"/dev/sdda11", BRACK(FH_SDDA | 11), "\\Device\\Harddisk104\\Partition11"},
+ {"/dev/sdda12", BRACK(FH_SDDA | 12), "\\Device\\Harddisk104\\Partition12"},
+ {"/dev/sdda13", BRACK(FH_SDDA | 13), "\\Device\\Harddisk104\\Partition13"},
+ {"/dev/sdda14", BRACK(FH_SDDA | 14), "\\Device\\Harddisk104\\Partition14"},
+ {"/dev/sdda15", BRACK(FH_SDDA | 15), "\\Device\\Harddisk104\\Partition15"},
+ {"/dev/sddb1", BRACK(FH_SDDB | 1), "\\Device\\Harddisk105\\Partition1"},
+ {"/dev/sddb2", BRACK(FH_SDDB | 2), "\\Device\\Harddisk105\\Partition2"},
+ {"/dev/sddb3", BRACK(FH_SDDB | 3), "\\Device\\Harddisk105\\Partition3"},
+ {"/dev/sddb4", BRACK(FH_SDDB | 4), "\\Device\\Harddisk105\\Partition4"},
+ {"/dev/sddb5", BRACK(FH_SDDB | 5), "\\Device\\Harddisk105\\Partition5"},
+ {"/dev/sddb6", BRACK(FH_SDDB | 6), "\\Device\\Harddisk105\\Partition6"},
+ {"/dev/sddb7", BRACK(FH_SDDB | 7), "\\Device\\Harddisk105\\Partition7"},
+ {"/dev/sddb8", BRACK(FH_SDDB | 8), "\\Device\\Harddisk105\\Partition8"},
+ {"/dev/sddb9", BRACK(FH_SDDB | 9), "\\Device\\Harddisk105\\Partition9"},
+ {"/dev/sddb10", BRACK(FH_SDDB | 10), "\\Device\\Harddisk105\\Partition10"},
+ {"/dev/sddb11", BRACK(FH_SDDB | 11), "\\Device\\Harddisk105\\Partition11"},
+ {"/dev/sddb12", BRACK(FH_SDDB | 12), "\\Device\\Harddisk105\\Partition12"},
+ {"/dev/sddb13", BRACK(FH_SDDB | 13), "\\Device\\Harddisk105\\Partition13"},
+ {"/dev/sddb14", BRACK(FH_SDDB | 14), "\\Device\\Harddisk105\\Partition14"},
+ {"/dev/sddb15", BRACK(FH_SDDB | 15), "\\Device\\Harddisk105\\Partition15"},
+ {"/dev/sddc1", BRACK(FH_SDDC | 1), "\\Device\\Harddisk106\\Partition1"},
+ {"/dev/sddc2", BRACK(FH_SDDC | 2), "\\Device\\Harddisk106\\Partition2"},
+ {"/dev/sddc3", BRACK(FH_SDDC | 3), "\\Device\\Harddisk106\\Partition3"},
+ {"/dev/sddc4", BRACK(FH_SDDC | 4), "\\Device\\Harddisk106\\Partition4"},
+ {"/dev/sddc5", BRACK(FH_SDDC | 5), "\\Device\\Harddisk106\\Partition5"},
+ {"/dev/sddc6", BRACK(FH_SDDC | 6), "\\Device\\Harddisk106\\Partition6"},
+ {"/dev/sddc7", BRACK(FH_SDDC | 7), "\\Device\\Harddisk106\\Partition7"},
+ {"/dev/sddc8", BRACK(FH_SDDC | 8), "\\Device\\Harddisk106\\Partition8"},
+ {"/dev/sddc9", BRACK(FH_SDDC | 9), "\\Device\\Harddisk106\\Partition9"},
+ {"/dev/sddc10", BRACK(FH_SDDC | 10), "\\Device\\Harddisk106\\Partition10"},
+ {"/dev/sddc11", BRACK(FH_SDDC | 11), "\\Device\\Harddisk106\\Partition11"},
+ {"/dev/sddc12", BRACK(FH_SDDC | 12), "\\Device\\Harddisk106\\Partition12"},
+ {"/dev/sddc13", BRACK(FH_SDDC | 13), "\\Device\\Harddisk106\\Partition13"},
+ {"/dev/sddc14", BRACK(FH_SDDC | 14), "\\Device\\Harddisk106\\Partition14"},
+ {"/dev/sddc15", BRACK(FH_SDDC | 15), "\\Device\\Harddisk106\\Partition15"},
+ {"/dev/sddd1", BRACK(FH_SDDD | 1), "\\Device\\Harddisk107\\Partition1"},
+ {"/dev/sddd2", BRACK(FH_SDDD | 2), "\\Device\\Harddisk107\\Partition2"},
+ {"/dev/sddd3", BRACK(FH_SDDD | 3), "\\Device\\Harddisk107\\Partition3"},
+ {"/dev/sddd4", BRACK(FH_SDDD | 4), "\\Device\\Harddisk107\\Partition4"},
+ {"/dev/sddd5", BRACK(FH_SDDD | 5), "\\Device\\Harddisk107\\Partition5"},
+ {"/dev/sddd6", BRACK(FH_SDDD | 6), "\\Device\\Harddisk107\\Partition6"},
+ {"/dev/sddd7", BRACK(FH_SDDD | 7), "\\Device\\Harddisk107\\Partition7"},
+ {"/dev/sddd8", BRACK(FH_SDDD | 8), "\\Device\\Harddisk107\\Partition8"},
+ {"/dev/sddd9", BRACK(FH_SDDD | 9), "\\Device\\Harddisk107\\Partition9"},
+ {"/dev/sddd10", BRACK(FH_SDDD | 10), "\\Device\\Harddisk107\\Partition10"},
+ {"/dev/sddd11", BRACK(FH_SDDD | 11), "\\Device\\Harddisk107\\Partition11"},
+ {"/dev/sddd12", BRACK(FH_SDDD | 12), "\\Device\\Harddisk107\\Partition12"},
+ {"/dev/sddd13", BRACK(FH_SDDD | 13), "\\Device\\Harddisk107\\Partition13"},
+ {"/dev/sddd14", BRACK(FH_SDDD | 14), "\\Device\\Harddisk107\\Partition14"},
+ {"/dev/sddd15", BRACK(FH_SDDD | 15), "\\Device\\Harddisk107\\Partition15"},
+ {"/dev/sdde1", BRACK(FH_SDDE | 1), "\\Device\\Harddisk108\\Partition1"},
+ {"/dev/sdde2", BRACK(FH_SDDE | 2), "\\Device\\Harddisk108\\Partition2"},
+ {"/dev/sdde3", BRACK(FH_SDDE | 3), "\\Device\\Harddisk108\\Partition3"},
+ {"/dev/sdde4", BRACK(FH_SDDE | 4), "\\Device\\Harddisk108\\Partition4"},
+ {"/dev/sdde5", BRACK(FH_SDDE | 5), "\\Device\\Harddisk108\\Partition5"},
+ {"/dev/sdde6", BRACK(FH_SDDE | 6), "\\Device\\Harddisk108\\Partition6"},
+ {"/dev/sdde7", BRACK(FH_SDDE | 7), "\\Device\\Harddisk108\\Partition7"},
+ {"/dev/sdde8", BRACK(FH_SDDE | 8), "\\Device\\Harddisk108\\Partition8"},
+ {"/dev/sdde9", BRACK(FH_SDDE | 9), "\\Device\\Harddisk108\\Partition9"},
+ {"/dev/sdde10", BRACK(FH_SDDE | 10), "\\Device\\Harddisk108\\Partition10"},
+ {"/dev/sdde11", BRACK(FH_SDDE | 11), "\\Device\\Harddisk108\\Partition11"},
+ {"/dev/sdde12", BRACK(FH_SDDE | 12), "\\Device\\Harddisk108\\Partition12"},
+ {"/dev/sdde13", BRACK(FH_SDDE | 13), "\\Device\\Harddisk108\\Partition13"},
+ {"/dev/sdde14", BRACK(FH_SDDE | 14), "\\Device\\Harddisk108\\Partition14"},
+ {"/dev/sdde15", BRACK(FH_SDDE | 15), "\\Device\\Harddisk108\\Partition15"},
+ {"/dev/sddf1", BRACK(FH_SDDF | 1), "\\Device\\Harddisk109\\Partition1"},
+ {"/dev/sddf2", BRACK(FH_SDDF | 2), "\\Device\\Harddisk109\\Partition2"},
+ {"/dev/sddf3", BRACK(FH_SDDF | 3), "\\Device\\Harddisk109\\Partition3"},
+ {"/dev/sddf4", BRACK(FH_SDDF | 4), "\\Device\\Harddisk109\\Partition4"},
+ {"/dev/sddf5", BRACK(FH_SDDF | 5), "\\Device\\Harddisk109\\Partition5"},
+ {"/dev/sddf6", BRACK(FH_SDDF | 6), "\\Device\\Harddisk109\\Partition6"},
+ {"/dev/sddf7", BRACK(FH_SDDF | 7), "\\Device\\Harddisk109\\Partition7"},
+ {"/dev/sddf8", BRACK(FH_SDDF | 8), "\\Device\\Harddisk109\\Partition8"},
+ {"/dev/sddf9", BRACK(FH_SDDF | 9), "\\Device\\Harddisk109\\Partition9"},
+ {"/dev/sddf10", BRACK(FH_SDDF | 10), "\\Device\\Harddisk109\\Partition10"},
+ {"/dev/sddf11", BRACK(FH_SDDF | 11), "\\Device\\Harddisk109\\Partition11"},
+ {"/dev/sddf12", BRACK(FH_SDDF | 12), "\\Device\\Harddisk109\\Partition12"},
+ {"/dev/sddf13", BRACK(FH_SDDF | 13), "\\Device\\Harddisk109\\Partition13"},
+ {"/dev/sddf14", BRACK(FH_SDDF | 14), "\\Device\\Harddisk109\\Partition14"},
+ {"/dev/sddf15", BRACK(FH_SDDF | 15), "\\Device\\Harddisk109\\Partition15"},
+ {"/dev/sddg1", BRACK(FH_SDDG | 1), "\\Device\\Harddisk110\\Partition1"},
+ {"/dev/sddg2", BRACK(FH_SDDG | 2), "\\Device\\Harddisk110\\Partition2"},
+ {"/dev/sddg3", BRACK(FH_SDDG | 3), "\\Device\\Harddisk110\\Partition3"},
+ {"/dev/sddg4", BRACK(FH_SDDG | 4), "\\Device\\Harddisk110\\Partition4"},
+ {"/dev/sddg5", BRACK(FH_SDDG | 5), "\\Device\\Harddisk110\\Partition5"},
+ {"/dev/sddg6", BRACK(FH_SDDG | 6), "\\Device\\Harddisk110\\Partition6"},
+ {"/dev/sddg7", BRACK(FH_SDDG | 7), "\\Device\\Harddisk110\\Partition7"},
+ {"/dev/sddg8", BRACK(FH_SDDG | 8), "\\Device\\Harddisk110\\Partition8"},
+ {"/dev/sddg9", BRACK(FH_SDDG | 9), "\\Device\\Harddisk110\\Partition9"},
+ {"/dev/sddg10", BRACK(FH_SDDG | 10), "\\Device\\Harddisk110\\Partition10"},
+ {"/dev/sddg11", BRACK(FH_SDDG | 11), "\\Device\\Harddisk110\\Partition11"},
+ {"/dev/sddg12", BRACK(FH_SDDG | 12), "\\Device\\Harddisk110\\Partition12"},
+ {"/dev/sddg13", BRACK(FH_SDDG | 13), "\\Device\\Harddisk110\\Partition13"},
+ {"/dev/sddg14", BRACK(FH_SDDG | 14), "\\Device\\Harddisk110\\Partition14"},
+ {"/dev/sddg15", BRACK(FH_SDDG | 15), "\\Device\\Harddisk110\\Partition15"},
+ {"/dev/sddh1", BRACK(FH_SDDH | 1), "\\Device\\Harddisk111\\Partition1"},
+ {"/dev/sddh2", BRACK(FH_SDDH | 2), "\\Device\\Harddisk111\\Partition2"},
+ {"/dev/sddh3", BRACK(FH_SDDH | 3), "\\Device\\Harddisk111\\Partition3"},
+ {"/dev/sddh4", BRACK(FH_SDDH | 4), "\\Device\\Harddisk111\\Partition4"},
+ {"/dev/sddh5", BRACK(FH_SDDH | 5), "\\Device\\Harddisk111\\Partition5"},
+ {"/dev/sddh6", BRACK(FH_SDDH | 6), "\\Device\\Harddisk111\\Partition6"},
+ {"/dev/sddh7", BRACK(FH_SDDH | 7), "\\Device\\Harddisk111\\Partition7"},
+ {"/dev/sddh8", BRACK(FH_SDDH | 8), "\\Device\\Harddisk111\\Partition8"},
+ {"/dev/sddh9", BRACK(FH_SDDH | 9), "\\Device\\Harddisk111\\Partition9"},
+ {"/dev/sddh10", BRACK(FH_SDDH | 10), "\\Device\\Harddisk111\\Partition10"},
+ {"/dev/sddh11", BRACK(FH_SDDH | 11), "\\Device\\Harddisk111\\Partition11"},
+ {"/dev/sddh12", BRACK(FH_SDDH | 12), "\\Device\\Harddisk111\\Partition12"},
+ {"/dev/sddh13", BRACK(FH_SDDH | 13), "\\Device\\Harddisk111\\Partition13"},
+ {"/dev/sddh14", BRACK(FH_SDDH | 14), "\\Device\\Harddisk111\\Partition14"},
+ {"/dev/sddh15", BRACK(FH_SDDH | 15), "\\Device\\Harddisk111\\Partition15"},
+ {"/dev/sddi1", BRACK(FH_SDDI | 1), "\\Device\\Harddisk112\\Partition1"},
+ {"/dev/sddi2", BRACK(FH_SDDI | 2), "\\Device\\Harddisk112\\Partition2"},
+ {"/dev/sddi3", BRACK(FH_SDDI | 3), "\\Device\\Harddisk112\\Partition3"},
+ {"/dev/sddi4", BRACK(FH_SDDI | 4), "\\Device\\Harddisk112\\Partition4"},
+ {"/dev/sddi5", BRACK(FH_SDDI | 5), "\\Device\\Harddisk112\\Partition5"},
+ {"/dev/sddi6", BRACK(FH_SDDI | 6), "\\Device\\Harddisk112\\Partition6"},
+ {"/dev/sddi7", BRACK(FH_SDDI | 7), "\\Device\\Harddisk112\\Partition7"},
+ {"/dev/sddi8", BRACK(FH_SDDI | 8), "\\Device\\Harddisk112\\Partition8"},
+ {"/dev/sddi9", BRACK(FH_SDDI | 9), "\\Device\\Harddisk112\\Partition9"},
+ {"/dev/sddi10", BRACK(FH_SDDI | 10), "\\Device\\Harddisk112\\Partition10"},
+ {"/dev/sddi11", BRACK(FH_SDDI | 11), "\\Device\\Harddisk112\\Partition11"},
+ {"/dev/sddi12", BRACK(FH_SDDI | 12), "\\Device\\Harddisk112\\Partition12"},
+ {"/dev/sddi13", BRACK(FH_SDDI | 13), "\\Device\\Harddisk112\\Partition13"},
+ {"/dev/sddi14", BRACK(FH_SDDI | 14), "\\Device\\Harddisk112\\Partition14"},
+ {"/dev/sddi15", BRACK(FH_SDDI | 15), "\\Device\\Harddisk112\\Partition15"},
+ {"/dev/sddj1", BRACK(FH_SDDJ | 1), "\\Device\\Harddisk113\\Partition1"},
+ {"/dev/sddj2", BRACK(FH_SDDJ | 2), "\\Device\\Harddisk113\\Partition2"},
+ {"/dev/sddj3", BRACK(FH_SDDJ | 3), "\\Device\\Harddisk113\\Partition3"},
+ {"/dev/sddj4", BRACK(FH_SDDJ | 4), "\\Device\\Harddisk113\\Partition4"},
+ {"/dev/sddj5", BRACK(FH_SDDJ | 5), "\\Device\\Harddisk113\\Partition5"},
+ {"/dev/sddj6", BRACK(FH_SDDJ | 6), "\\Device\\Harddisk113\\Partition6"},
+ {"/dev/sddj7", BRACK(FH_SDDJ | 7), "\\Device\\Harddisk113\\Partition7"},
+ {"/dev/sddj8", BRACK(FH_SDDJ | 8), "\\Device\\Harddisk113\\Partition8"},
+ {"/dev/sddj9", BRACK(FH_SDDJ | 9), "\\Device\\Harddisk113\\Partition9"},
+ {"/dev/sddj10", BRACK(FH_SDDJ | 10), "\\Device\\Harddisk113\\Partition10"},
+ {"/dev/sddj11", BRACK(FH_SDDJ | 11), "\\Device\\Harddisk113\\Partition11"},
+ {"/dev/sddj12", BRACK(FH_SDDJ | 12), "\\Device\\Harddisk113\\Partition12"},
+ {"/dev/sddj13", BRACK(FH_SDDJ | 13), "\\Device\\Harddisk113\\Partition13"},
+ {"/dev/sddj14", BRACK(FH_SDDJ | 14), "\\Device\\Harddisk113\\Partition14"},
+ {"/dev/sddj15", BRACK(FH_SDDJ | 15), "\\Device\\Harddisk113\\Partition15"},
+ {"/dev/sddk1", BRACK(FH_SDDK | 1), "\\Device\\Harddisk114\\Partition1"},
+ {"/dev/sddk2", BRACK(FH_SDDK | 2), "\\Device\\Harddisk114\\Partition2"},
+ {"/dev/sddk3", BRACK(FH_SDDK | 3), "\\Device\\Harddisk114\\Partition3"},
+ {"/dev/sddk4", BRACK(FH_SDDK | 4), "\\Device\\Harddisk114\\Partition4"},
+ {"/dev/sddk5", BRACK(FH_SDDK | 5), "\\Device\\Harddisk114\\Partition5"},
+ {"/dev/sddk6", BRACK(FH_SDDK | 6), "\\Device\\Harddisk114\\Partition6"},
+ {"/dev/sddk7", BRACK(FH_SDDK | 7), "\\Device\\Harddisk114\\Partition7"},
+ {"/dev/sddk8", BRACK(FH_SDDK | 8), "\\Device\\Harddisk114\\Partition8"},
+ {"/dev/sddk9", BRACK(FH_SDDK | 9), "\\Device\\Harddisk114\\Partition9"},
+ {"/dev/sddk10", BRACK(FH_SDDK | 10), "\\Device\\Harddisk114\\Partition10"},
+ {"/dev/sddk11", BRACK(FH_SDDK | 11), "\\Device\\Harddisk114\\Partition11"},
+ {"/dev/sddk12", BRACK(FH_SDDK | 12), "\\Device\\Harddisk114\\Partition12"},
+ {"/dev/sddk13", BRACK(FH_SDDK | 13), "\\Device\\Harddisk114\\Partition13"},
+ {"/dev/sddk14", BRACK(FH_SDDK | 14), "\\Device\\Harddisk114\\Partition14"},
+ {"/dev/sddk15", BRACK(FH_SDDK | 15), "\\Device\\Harddisk114\\Partition15"},
+ {"/dev/sddl1", BRACK(FH_SDDL | 1), "\\Device\\Harddisk115\\Partition1"},
+ {"/dev/sddl2", BRACK(FH_SDDL | 2), "\\Device\\Harddisk115\\Partition2"},
+ {"/dev/sddl3", BRACK(FH_SDDL | 3), "\\Device\\Harddisk115\\Partition3"},
+ {"/dev/sddl4", BRACK(FH_SDDL | 4), "\\Device\\Harddisk115\\Partition4"},
+ {"/dev/sddl5", BRACK(FH_SDDL | 5), "\\Device\\Harddisk115\\Partition5"},
+ {"/dev/sddl6", BRACK(FH_SDDL | 6), "\\Device\\Harddisk115\\Partition6"},
+ {"/dev/sddl7", BRACK(FH_SDDL | 7), "\\Device\\Harddisk115\\Partition7"},
+ {"/dev/sddl8", BRACK(FH_SDDL | 8), "\\Device\\Harddisk115\\Partition8"},
+ {"/dev/sddl9", BRACK(FH_SDDL | 9), "\\Device\\Harddisk115\\Partition9"},
+ {"/dev/sddl10", BRACK(FH_SDDL | 10), "\\Device\\Harddisk115\\Partition10"},
+ {"/dev/sddl11", BRACK(FH_SDDL | 11), "\\Device\\Harddisk115\\Partition11"},
+ {"/dev/sddl12", BRACK(FH_SDDL | 12), "\\Device\\Harddisk115\\Partition12"},
+ {"/dev/sddl13", BRACK(FH_SDDL | 13), "\\Device\\Harddisk115\\Partition13"},
+ {"/dev/sddl14", BRACK(FH_SDDL | 14), "\\Device\\Harddisk115\\Partition14"},
+ {"/dev/sddl15", BRACK(FH_SDDL | 15), "\\Device\\Harddisk115\\Partition15"},
+ {"/dev/sddm1", BRACK(FH_SDDM | 1), "\\Device\\Harddisk116\\Partition1"},
+ {"/dev/sddm2", BRACK(FH_SDDM | 2), "\\Device\\Harddisk116\\Partition2"},
+ {"/dev/sddm3", BRACK(FH_SDDM | 3), "\\Device\\Harddisk116\\Partition3"},
+ {"/dev/sddm4", BRACK(FH_SDDM | 4), "\\Device\\Harddisk116\\Partition4"},
+ {"/dev/sddm5", BRACK(FH_SDDM | 5), "\\Device\\Harddisk116\\Partition5"},
+ {"/dev/sddm6", BRACK(FH_SDDM | 6), "\\Device\\Harddisk116\\Partition6"},
+ {"/dev/sddm7", BRACK(FH_SDDM | 7), "\\Device\\Harddisk116\\Partition7"},
+ {"/dev/sddm8", BRACK(FH_SDDM | 8), "\\Device\\Harddisk116\\Partition8"},
+ {"/dev/sddm9", BRACK(FH_SDDM | 9), "\\Device\\Harddisk116\\Partition9"},
+ {"/dev/sddm10", BRACK(FH_SDDM | 10), "\\Device\\Harddisk116\\Partition10"},
+ {"/dev/sddm11", BRACK(FH_SDDM | 11), "\\Device\\Harddisk116\\Partition11"},
+ {"/dev/sddm12", BRACK(FH_SDDM | 12), "\\Device\\Harddisk116\\Partition12"},
+ {"/dev/sddm13", BRACK(FH_SDDM | 13), "\\Device\\Harddisk116\\Partition13"},
+ {"/dev/sddm14", BRACK(FH_SDDM | 14), "\\Device\\Harddisk116\\Partition14"},
+ {"/dev/sddm15", BRACK(FH_SDDM | 15), "\\Device\\Harddisk116\\Partition15"},
+ {"/dev/sddn1", BRACK(FH_SDDN | 1), "\\Device\\Harddisk117\\Partition1"},
+ {"/dev/sddn2", BRACK(FH_SDDN | 2), "\\Device\\Harddisk117\\Partition2"},
+ {"/dev/sddn3", BRACK(FH_SDDN | 3), "\\Device\\Harddisk117\\Partition3"},
+ {"/dev/sddn4", BRACK(FH_SDDN | 4), "\\Device\\Harddisk117\\Partition4"},
+ {"/dev/sddn5", BRACK(FH_SDDN | 5), "\\Device\\Harddisk117\\Partition5"},
+ {"/dev/sddn6", BRACK(FH_SDDN | 6), "\\Device\\Harddisk117\\Partition6"},
+ {"/dev/sddn7", BRACK(FH_SDDN | 7), "\\Device\\Harddisk117\\Partition7"},
+ {"/dev/sddn8", BRACK(FH_SDDN | 8), "\\Device\\Harddisk117\\Partition8"},
+ {"/dev/sddn9", BRACK(FH_SDDN | 9), "\\Device\\Harddisk117\\Partition9"},
+ {"/dev/sddn10", BRACK(FH_SDDN | 10), "\\Device\\Harddisk117\\Partition10"},
+ {"/dev/sddn11", BRACK(FH_SDDN | 11), "\\Device\\Harddisk117\\Partition11"},
+ {"/dev/sddn12", BRACK(FH_SDDN | 12), "\\Device\\Harddisk117\\Partition12"},
+ {"/dev/sddn13", BRACK(FH_SDDN | 13), "\\Device\\Harddisk117\\Partition13"},
+ {"/dev/sddn14", BRACK(FH_SDDN | 14), "\\Device\\Harddisk117\\Partition14"},
+ {"/dev/sddn15", BRACK(FH_SDDN | 15), "\\Device\\Harddisk117\\Partition15"},
+ {"/dev/sddo1", BRACK(FH_SDDO | 1), "\\Device\\Harddisk118\\Partition1"},
+ {"/dev/sddo2", BRACK(FH_SDDO | 2), "\\Device\\Harddisk118\\Partition2"},
+ {"/dev/sddo3", BRACK(FH_SDDO | 3), "\\Device\\Harddisk118\\Partition3"},
+ {"/dev/sddo4", BRACK(FH_SDDO | 4), "\\Device\\Harddisk118\\Partition4"},
+ {"/dev/sddo5", BRACK(FH_SDDO | 5), "\\Device\\Harddisk118\\Partition5"},
+ {"/dev/sddo6", BRACK(FH_SDDO | 6), "\\Device\\Harddisk118\\Partition6"},
+ {"/dev/sddo7", BRACK(FH_SDDO | 7), "\\Device\\Harddisk118\\Partition7"},
+ {"/dev/sddo8", BRACK(FH_SDDO | 8), "\\Device\\Harddisk118\\Partition8"},
+ {"/dev/sddo9", BRACK(FH_SDDO | 9), "\\Device\\Harddisk118\\Partition9"},
+ {"/dev/sddo10", BRACK(FH_SDDO | 10), "\\Device\\Harddisk118\\Partition10"},
+ {"/dev/sddo11", BRACK(FH_SDDO | 11), "\\Device\\Harddisk118\\Partition11"},
+ {"/dev/sddo12", BRACK(FH_SDDO | 12), "\\Device\\Harddisk118\\Partition12"},
+ {"/dev/sddo13", BRACK(FH_SDDO | 13), "\\Device\\Harddisk118\\Partition13"},
+ {"/dev/sddo14", BRACK(FH_SDDO | 14), "\\Device\\Harddisk118\\Partition14"},
+ {"/dev/sddo15", BRACK(FH_SDDO | 15), "\\Device\\Harddisk118\\Partition15"},
+ {"/dev/sddp1", BRACK(FH_SDDP | 1), "\\Device\\Harddisk119\\Partition1"},
+ {"/dev/sddp2", BRACK(FH_SDDP | 2), "\\Device\\Harddisk119\\Partition2"},
+ {"/dev/sddp3", BRACK(FH_SDDP | 3), "\\Device\\Harddisk119\\Partition3"},
+ {"/dev/sddp4", BRACK(FH_SDDP | 4), "\\Device\\Harddisk119\\Partition4"},
+ {"/dev/sddp5", BRACK(FH_SDDP | 5), "\\Device\\Harddisk119\\Partition5"},
+ {"/dev/sddp6", BRACK(FH_SDDP | 6), "\\Device\\Harddisk119\\Partition6"},
+ {"/dev/sddp7", BRACK(FH_SDDP | 7), "\\Device\\Harddisk119\\Partition7"},
+ {"/dev/sddp8", BRACK(FH_SDDP | 8), "\\Device\\Harddisk119\\Partition8"},
+ {"/dev/sddp9", BRACK(FH_SDDP | 9), "\\Device\\Harddisk119\\Partition9"},
+ {"/dev/sddp10", BRACK(FH_SDDP | 10), "\\Device\\Harddisk119\\Partition10"},
+ {"/dev/sddp11", BRACK(FH_SDDP | 11), "\\Device\\Harddisk119\\Partition11"},
+ {"/dev/sddp12", BRACK(FH_SDDP | 12), "\\Device\\Harddisk119\\Partition12"},
+ {"/dev/sddp13", BRACK(FH_SDDP | 13), "\\Device\\Harddisk119\\Partition13"},
+ {"/dev/sddp14", BRACK(FH_SDDP | 14), "\\Device\\Harddisk119\\Partition14"},
+ {"/dev/sddp15", BRACK(FH_SDDP | 15), "\\Device\\Harddisk119\\Partition15"},
+ {"/dev/sddq1", BRACK(FH_SDDQ | 1), "\\Device\\Harddisk120\\Partition1"},
+ {"/dev/sddq2", BRACK(FH_SDDQ | 2), "\\Device\\Harddisk120\\Partition2"},
+ {"/dev/sddq3", BRACK(FH_SDDQ | 3), "\\Device\\Harddisk120\\Partition3"},
+ {"/dev/sddq4", BRACK(FH_SDDQ | 4), "\\Device\\Harddisk120\\Partition4"},
+ {"/dev/sddq5", BRACK(FH_SDDQ | 5), "\\Device\\Harddisk120\\Partition5"},
+ {"/dev/sddq6", BRACK(FH_SDDQ | 6), "\\Device\\Harddisk120\\Partition6"},
+ {"/dev/sddq7", BRACK(FH_SDDQ | 7), "\\Device\\Harddisk120\\Partition7"},
+ {"/dev/sddq8", BRACK(FH_SDDQ | 8), "\\Device\\Harddisk120\\Partition8"},
+ {"/dev/sddq9", BRACK(FH_SDDQ | 9), "\\Device\\Harddisk120\\Partition9"},
+ {"/dev/sddq10", BRACK(FH_SDDQ | 10), "\\Device\\Harddisk120\\Partition10"},
+ {"/dev/sddq11", BRACK(FH_SDDQ | 11), "\\Device\\Harddisk120\\Partition11"},
+ {"/dev/sddq12", BRACK(FH_SDDQ | 12), "\\Device\\Harddisk120\\Partition12"},
+ {"/dev/sddq13", BRACK(FH_SDDQ | 13), "\\Device\\Harddisk120\\Partition13"},
+ {"/dev/sddq14", BRACK(FH_SDDQ | 14), "\\Device\\Harddisk120\\Partition14"},
+ {"/dev/sddq15", BRACK(FH_SDDQ | 15), "\\Device\\Harddisk120\\Partition15"},
+ {"/dev/sddr1", BRACK(FH_SDDR | 1), "\\Device\\Harddisk121\\Partition1"},
+ {"/dev/sddr2", BRACK(FH_SDDR | 2), "\\Device\\Harddisk121\\Partition2"},
+ {"/dev/sddr3", BRACK(FH_SDDR | 3), "\\Device\\Harddisk121\\Partition3"},
+ {"/dev/sddr4", BRACK(FH_SDDR | 4), "\\Device\\Harddisk121\\Partition4"},
+ {"/dev/sddr5", BRACK(FH_SDDR | 5), "\\Device\\Harddisk121\\Partition5"},
+ {"/dev/sddr6", BRACK(FH_SDDR | 6), "\\Device\\Harddisk121\\Partition6"},
+ {"/dev/sddr7", BRACK(FH_SDDR | 7), "\\Device\\Harddisk121\\Partition7"},
+ {"/dev/sddr8", BRACK(FH_SDDR | 8), "\\Device\\Harddisk121\\Partition8"},
+ {"/dev/sddr9", BRACK(FH_SDDR | 9), "\\Device\\Harddisk121\\Partition9"},
+ {"/dev/sddr10", BRACK(FH_SDDR | 10), "\\Device\\Harddisk121\\Partition10"},
+ {"/dev/sddr11", BRACK(FH_SDDR | 11), "\\Device\\Harddisk121\\Partition11"},
+ {"/dev/sddr12", BRACK(FH_SDDR | 12), "\\Device\\Harddisk121\\Partition12"},
+ {"/dev/sddr13", BRACK(FH_SDDR | 13), "\\Device\\Harddisk121\\Partition13"},
+ {"/dev/sddr14", BRACK(FH_SDDR | 14), "\\Device\\Harddisk121\\Partition14"},
+ {"/dev/sddr15", BRACK(FH_SDDR | 15), "\\Device\\Harddisk121\\Partition15"},
+ {"/dev/sdds1", BRACK(FH_SDDS | 1), "\\Device\\Harddisk122\\Partition1"},
+ {"/dev/sdds2", BRACK(FH_SDDS | 2), "\\Device\\Harddisk122\\Partition2"},
+ {"/dev/sdds3", BRACK(FH_SDDS | 3), "\\Device\\Harddisk122\\Partition3"},
+ {"/dev/sdds4", BRACK(FH_SDDS | 4), "\\Device\\Harddisk122\\Partition4"},
+ {"/dev/sdds5", BRACK(FH_SDDS | 5), "\\Device\\Harddisk122\\Partition5"},
+ {"/dev/sdds6", BRACK(FH_SDDS | 6), "\\Device\\Harddisk122\\Partition6"},
+ {"/dev/sdds7", BRACK(FH_SDDS | 7), "\\Device\\Harddisk122\\Partition7"},
+ {"/dev/sdds8", BRACK(FH_SDDS | 8), "\\Device\\Harddisk122\\Partition8"},
+ {"/dev/sdds9", BRACK(FH_SDDS | 9), "\\Device\\Harddisk122\\Partition9"},
+ {"/dev/sdds10", BRACK(FH_SDDS | 10), "\\Device\\Harddisk122\\Partition10"},
+ {"/dev/sdds11", BRACK(FH_SDDS | 11), "\\Device\\Harddisk122\\Partition11"},
+ {"/dev/sdds12", BRACK(FH_SDDS | 12), "\\Device\\Harddisk122\\Partition12"},
+ {"/dev/sdds13", BRACK(FH_SDDS | 13), "\\Device\\Harddisk122\\Partition13"},
+ {"/dev/sdds14", BRACK(FH_SDDS | 14), "\\Device\\Harddisk122\\Partition14"},
+ {"/dev/sdds15", BRACK(FH_SDDS | 15), "\\Device\\Harddisk122\\Partition15"},
+ {"/dev/sddt1", BRACK(FH_SDDT | 1), "\\Device\\Harddisk123\\Partition1"},
+ {"/dev/sddt2", BRACK(FH_SDDT | 2), "\\Device\\Harddisk123\\Partition2"},
+ {"/dev/sddt3", BRACK(FH_SDDT | 3), "\\Device\\Harddisk123\\Partition3"},
+ {"/dev/sddt4", BRACK(FH_SDDT | 4), "\\Device\\Harddisk123\\Partition4"},
+ {"/dev/sddt5", BRACK(FH_SDDT | 5), "\\Device\\Harddisk123\\Partition5"},
+ {"/dev/sddt6", BRACK(FH_SDDT | 6), "\\Device\\Harddisk123\\Partition6"},
+ {"/dev/sddt7", BRACK(FH_SDDT | 7), "\\Device\\Harddisk123\\Partition7"},
+ {"/dev/sddt8", BRACK(FH_SDDT | 8), "\\Device\\Harddisk123\\Partition8"},
+ {"/dev/sddt9", BRACK(FH_SDDT | 9), "\\Device\\Harddisk123\\Partition9"},
+ {"/dev/sddt10", BRACK(FH_SDDT | 10), "\\Device\\Harddisk123\\Partition10"},
+ {"/dev/sddt11", BRACK(FH_SDDT | 11), "\\Device\\Harddisk123\\Partition11"},
+ {"/dev/sddt12", BRACK(FH_SDDT | 12), "\\Device\\Harddisk123\\Partition12"},
+ {"/dev/sddt13", BRACK(FH_SDDT | 13), "\\Device\\Harddisk123\\Partition13"},
+ {"/dev/sddt14", BRACK(FH_SDDT | 14), "\\Device\\Harddisk123\\Partition14"},
+ {"/dev/sddt15", BRACK(FH_SDDT | 15), "\\Device\\Harddisk123\\Partition15"},
+ {"/dev/sddu1", BRACK(FH_SDDU | 1), "\\Device\\Harddisk124\\Partition1"},
+ {"/dev/sddu2", BRACK(FH_SDDU | 2), "\\Device\\Harddisk124\\Partition2"},
+ {"/dev/sddu3", BRACK(FH_SDDU | 3), "\\Device\\Harddisk124\\Partition3"},
+ {"/dev/sddu4", BRACK(FH_SDDU | 4), "\\Device\\Harddisk124\\Partition4"},
+ {"/dev/sddu5", BRACK(FH_SDDU | 5), "\\Device\\Harddisk124\\Partition5"},
+ {"/dev/sddu6", BRACK(FH_SDDU | 6), "\\Device\\Harddisk124\\Partition6"},
+ {"/dev/sddu7", BRACK(FH_SDDU | 7), "\\Device\\Harddisk124\\Partition7"},
+ {"/dev/sddu8", BRACK(FH_SDDU | 8), "\\Device\\Harddisk124\\Partition8"},
+ {"/dev/sddu9", BRACK(FH_SDDU | 9), "\\Device\\Harddisk124\\Partition9"},
+ {"/dev/sddu10", BRACK(FH_SDDU | 10), "\\Device\\Harddisk124\\Partition10"},
+ {"/dev/sddu11", BRACK(FH_SDDU | 11), "\\Device\\Harddisk124\\Partition11"},
+ {"/dev/sddu12", BRACK(FH_SDDU | 12), "\\Device\\Harddisk124\\Partition12"},
+ {"/dev/sddu13", BRACK(FH_SDDU | 13), "\\Device\\Harddisk124\\Partition13"},
+ {"/dev/sddu14", BRACK(FH_SDDU | 14), "\\Device\\Harddisk124\\Partition14"},
+ {"/dev/sddu15", BRACK(FH_SDDU | 15), "\\Device\\Harddisk124\\Partition15"},
+ {"/dev/sddv1", BRACK(FH_SDDV | 1), "\\Device\\Harddisk125\\Partition1"},
+ {"/dev/sddv2", BRACK(FH_SDDV | 2), "\\Device\\Harddisk125\\Partition2"},
+ {"/dev/sddv3", BRACK(FH_SDDV | 3), "\\Device\\Harddisk125\\Partition3"},
+ {"/dev/sddv4", BRACK(FH_SDDV | 4), "\\Device\\Harddisk125\\Partition4"},
+ {"/dev/sddv5", BRACK(FH_SDDV | 5), "\\Device\\Harddisk125\\Partition5"},
+ {"/dev/sddv6", BRACK(FH_SDDV | 6), "\\Device\\Harddisk125\\Partition6"},
+ {"/dev/sddv7", BRACK(FH_SDDV | 7), "\\Device\\Harddisk125\\Partition7"},
+ {"/dev/sddv8", BRACK(FH_SDDV | 8), "\\Device\\Harddisk125\\Partition8"},
+ {"/dev/sddv9", BRACK(FH_SDDV | 9), "\\Device\\Harddisk125\\Partition9"},
+ {"/dev/sddv10", BRACK(FH_SDDV | 10), "\\Device\\Harddisk125\\Partition10"},
+ {"/dev/sddv11", BRACK(FH_SDDV | 11), "\\Device\\Harddisk125\\Partition11"},
+ {"/dev/sddv12", BRACK(FH_SDDV | 12), "\\Device\\Harddisk125\\Partition12"},
+ {"/dev/sddv13", BRACK(FH_SDDV | 13), "\\Device\\Harddisk125\\Partition13"},
+ {"/dev/sddv14", BRACK(FH_SDDV | 14), "\\Device\\Harddisk125\\Partition14"},
+ {"/dev/sddv15", BRACK(FH_SDDV | 15), "\\Device\\Harddisk125\\Partition15"},
+ {"/dev/sddw1", BRACK(FH_SDDW | 1), "\\Device\\Harddisk126\\Partition1"},
+ {"/dev/sddw2", BRACK(FH_SDDW | 2), "\\Device\\Harddisk126\\Partition2"},
+ {"/dev/sddw3", BRACK(FH_SDDW | 3), "\\Device\\Harddisk126\\Partition3"},
+ {"/dev/sddw4", BRACK(FH_SDDW | 4), "\\Device\\Harddisk126\\Partition4"},
+ {"/dev/sddw5", BRACK(FH_SDDW | 5), "\\Device\\Harddisk126\\Partition5"},
+ {"/dev/sddw6", BRACK(FH_SDDW | 6), "\\Device\\Harddisk126\\Partition6"},
+ {"/dev/sddw7", BRACK(FH_SDDW | 7), "\\Device\\Harddisk126\\Partition7"},
+ {"/dev/sddw8", BRACK(FH_SDDW | 8), "\\Device\\Harddisk126\\Partition8"},
+ {"/dev/sddw9", BRACK(FH_SDDW | 9), "\\Device\\Harddisk126\\Partition9"},
+ {"/dev/sddw10", BRACK(FH_SDDW | 10), "\\Device\\Harddisk126\\Partition10"},
+ {"/dev/sddw11", BRACK(FH_SDDW | 11), "\\Device\\Harddisk126\\Partition11"},
+ {"/dev/sddw12", BRACK(FH_SDDW | 12), "\\Device\\Harddisk126\\Partition12"},
+ {"/dev/sddw13", BRACK(FH_SDDW | 13), "\\Device\\Harddisk126\\Partition13"},
+ {"/dev/sddw14", BRACK(FH_SDDW | 14), "\\Device\\Harddisk126\\Partition14"},
+ {"/dev/sddw15", BRACK(FH_SDDW | 15), "\\Device\\Harddisk126\\Partition15"},
+ {"/dev/sddx1", BRACK(FH_SDDX | 1), "\\Device\\Harddisk127\\Partition1"},
+ {"/dev/sddx2", BRACK(FH_SDDX | 2), "\\Device\\Harddisk127\\Partition2"},
+ {"/dev/sddx3", BRACK(FH_SDDX | 3), "\\Device\\Harddisk127\\Partition3"},
+ {"/dev/sddx4", BRACK(FH_SDDX | 4), "\\Device\\Harddisk127\\Partition4"},
+ {"/dev/sddx5", BRACK(FH_SDDX | 5), "\\Device\\Harddisk127\\Partition5"},
+ {"/dev/sddx6", BRACK(FH_SDDX | 6), "\\Device\\Harddisk127\\Partition6"},
+ {"/dev/sddx7", BRACK(FH_SDDX | 7), "\\Device\\Harddisk127\\Partition7"},
+ {"/dev/sddx8", BRACK(FH_SDDX | 8), "\\Device\\Harddisk127\\Partition8"},
+ {"/dev/sddx9", BRACK(FH_SDDX | 9), "\\Device\\Harddisk127\\Partition9"},
+ {"/dev/sddx10", BRACK(FH_SDDX | 10), "\\Device\\Harddisk127\\Partition10"},
+ {"/dev/sddx11", BRACK(FH_SDDX | 11), "\\Device\\Harddisk127\\Partition11"},
+ {"/dev/sddx12", BRACK(FH_SDDX | 12), "\\Device\\Harddisk127\\Partition12"},
+ {"/dev/sddx13", BRACK(FH_SDDX | 13), "\\Device\\Harddisk127\\Partition13"},
+ {"/dev/sddx14", BRACK(FH_SDDX | 14), "\\Device\\Harddisk127\\Partition14"},
+ {"/dev/sddx15", BRACK(FH_SDDX | 15), "\\Device\\Harddisk127\\Partition15"},
+ {"/dev/sr0", BRACK(FHDEV(DEV_CDROM_MAJOR, 0)), "\\Device\\CdRom0"},
+ {"/dev/sr1", BRACK(FHDEV(DEV_CDROM_MAJOR, 1)), "\\Device\\CdRom1"},
+ {"/dev/sr2", BRACK(FHDEV(DEV_CDROM_MAJOR, 2)), "\\Device\\CdRom2"},
+ {"/dev/sr3", BRACK(FHDEV(DEV_CDROM_MAJOR, 3)), "\\Device\\CdRom3"},
+ {"/dev/sr4", BRACK(FHDEV(DEV_CDROM_MAJOR, 4)), "\\Device\\CdRom4"},
+ {"/dev/sr5", BRACK(FHDEV(DEV_CDROM_MAJOR, 5)), "\\Device\\CdRom5"},
+ {"/dev/sr6", BRACK(FHDEV(DEV_CDROM_MAJOR, 6)), "\\Device\\CdRom6"},
+ {"/dev/sr7", BRACK(FHDEV(DEV_CDROM_MAJOR, 7)), "\\Device\\CdRom7"},
+ {"/dev/sr8", BRACK(FHDEV(DEV_CDROM_MAJOR, 8)), "\\Device\\CdRom8"},
+ {"/dev/sr9", BRACK(FHDEV(DEV_CDROM_MAJOR, 9)), "\\Device\\CdRom9"},
+ {"/dev/sr10", BRACK(FHDEV(DEV_CDROM_MAJOR, 10)), "\\Device\\CdRom10"},
+ {"/dev/sr11", BRACK(FHDEV(DEV_CDROM_MAJOR, 11)), "\\Device\\CdRom11"},
+ {"/dev/sr12", BRACK(FHDEV(DEV_CDROM_MAJOR, 12)), "\\Device\\CdRom12"},
+ {"/dev/sr13", BRACK(FHDEV(DEV_CDROM_MAJOR, 13)), "\\Device\\CdRom13"},
+ {"/dev/sr14", BRACK(FHDEV(DEV_CDROM_MAJOR, 14)), "\\Device\\CdRom14"},
+ {"/dev/sr15", BRACK(FHDEV(DEV_CDROM_MAJOR, 15)), "\\Device\\CdRom15"},
+ {"/dev/st0", BRACK(FHDEV(DEV_TAPE_MAJOR, 0)), "\\Device\\Tape0"},
+ {"/dev/st1", BRACK(FHDEV(DEV_TAPE_MAJOR, 1)), "\\Device\\Tape1"},
+ {"/dev/st2", BRACK(FHDEV(DEV_TAPE_MAJOR, 2)), "\\Device\\Tape2"},
+ {"/dev/st3", BRACK(FHDEV(DEV_TAPE_MAJOR, 3)), "\\Device\\Tape3"},
+ {"/dev/st4", BRACK(FHDEV(DEV_TAPE_MAJOR, 4)), "\\Device\\Tape4"},
+ {"/dev/st5", BRACK(FHDEV(DEV_TAPE_MAJOR, 5)), "\\Device\\Tape5"},
+ {"/dev/st6", BRACK(FHDEV(DEV_TAPE_MAJOR, 6)), "\\Device\\Tape6"},
+ {"/dev/st7", BRACK(FHDEV(DEV_TAPE_MAJOR, 7)), "\\Device\\Tape7"},
+ {"/dev/st8", BRACK(FHDEV(DEV_TAPE_MAJOR, 8)), "\\Device\\Tape8"},
+ {"/dev/st9", BRACK(FHDEV(DEV_TAPE_MAJOR, 9)), "\\Device\\Tape9"},
+ {"/dev/st10", BRACK(FHDEV(DEV_TAPE_MAJOR, 10)), "\\Device\\Tape10"},
+ {"/dev/st11", BRACK(FHDEV(DEV_TAPE_MAJOR, 11)), "\\Device\\Tape11"},
+ {"/dev/st12", BRACK(FHDEV(DEV_TAPE_MAJOR, 12)), "\\Device\\Tape12"},
+ {"/dev/st13", BRACK(FHDEV(DEV_TAPE_MAJOR, 13)), "\\Device\\Tape13"},
+ {"/dev/st14", BRACK(FHDEV(DEV_TAPE_MAJOR, 14)), "\\Device\\Tape14"},
+ {"/dev/st15", BRACK(FHDEV(DEV_TAPE_MAJOR, 15)), "\\Device\\Tape15"},
+ {"/dev/st16", BRACK(FHDEV(DEV_TAPE_MAJOR, 16)), "\\Device\\Tape16"},
+ {"/dev/st17", BRACK(FHDEV(DEV_TAPE_MAJOR, 17)), "\\Device\\Tape17"},
+ {"/dev/st18", BRACK(FHDEV(DEV_TAPE_MAJOR, 18)), "\\Device\\Tape18"},
+ {"/dev/st19", BRACK(FHDEV(DEV_TAPE_MAJOR, 19)), "\\Device\\Tape19"},
+ {"/dev/st20", BRACK(FHDEV(DEV_TAPE_MAJOR, 20)), "\\Device\\Tape20"},
+ {"/dev/st21", BRACK(FHDEV(DEV_TAPE_MAJOR, 21)), "\\Device\\Tape21"},
+ {"/dev/st22", BRACK(FHDEV(DEV_TAPE_MAJOR, 22)), "\\Device\\Tape22"},
+ {"/dev/st23", BRACK(FHDEV(DEV_TAPE_MAJOR, 23)), "\\Device\\Tape23"},
+ {"/dev/st24", BRACK(FHDEV(DEV_TAPE_MAJOR, 24)), "\\Device\\Tape24"},
+ {"/dev/st25", BRACK(FHDEV(DEV_TAPE_MAJOR, 25)), "\\Device\\Tape25"},
+ {"/dev/st26", BRACK(FHDEV(DEV_TAPE_MAJOR, 26)), "\\Device\\Tape26"},
+ {"/dev/st27", BRACK(FHDEV(DEV_TAPE_MAJOR, 27)), "\\Device\\Tape27"},
+ {"/dev/st28", BRACK(FHDEV(DEV_TAPE_MAJOR, 28)), "\\Device\\Tape28"},
+ {"/dev/st29", BRACK(FHDEV(DEV_TAPE_MAJOR, 29)), "\\Device\\Tape29"},
+ {"/dev/st30", BRACK(FHDEV(DEV_TAPE_MAJOR, 30)), "\\Device\\Tape30"},
+ {"/dev/st31", BRACK(FHDEV(DEV_TAPE_MAJOR, 31)), "\\Device\\Tape31"},
+ {"/dev/st32", BRACK(FHDEV(DEV_TAPE_MAJOR, 32)), "\\Device\\Tape32"},
+ {"/dev/st33", BRACK(FHDEV(DEV_TAPE_MAJOR, 33)), "\\Device\\Tape33"},
+ {"/dev/st34", BRACK(FHDEV(DEV_TAPE_MAJOR, 34)), "\\Device\\Tape34"},
+ {"/dev/st35", BRACK(FHDEV(DEV_TAPE_MAJOR, 35)), "\\Device\\Tape35"},
+ {"/dev/st36", BRACK(FHDEV(DEV_TAPE_MAJOR, 36)), "\\Device\\Tape36"},
+ {"/dev/st37", BRACK(FHDEV(DEV_TAPE_MAJOR, 37)), "\\Device\\Tape37"},
+ {"/dev/st38", BRACK(FHDEV(DEV_TAPE_MAJOR, 38)), "\\Device\\Tape38"},
+ {"/dev/st39", BRACK(FHDEV(DEV_TAPE_MAJOR, 39)), "\\Device\\Tape39"},
+ {"/dev/st40", BRACK(FHDEV(DEV_TAPE_MAJOR, 40)), "\\Device\\Tape40"},
+ {"/dev/st41", BRACK(FHDEV(DEV_TAPE_MAJOR, 41)), "\\Device\\Tape41"},
+ {"/dev/st42", BRACK(FHDEV(DEV_TAPE_MAJOR, 42)), "\\Device\\Tape42"},
+ {"/dev/st43", BRACK(FHDEV(DEV_TAPE_MAJOR, 43)), "\\Device\\Tape43"},
+ {"/dev/st44", BRACK(FHDEV(DEV_TAPE_MAJOR, 44)), "\\Device\\Tape44"},
+ {"/dev/st45", BRACK(FHDEV(DEV_TAPE_MAJOR, 45)), "\\Device\\Tape45"},
+ {"/dev/st46", BRACK(FHDEV(DEV_TAPE_MAJOR, 46)), "\\Device\\Tape46"},
+ {"/dev/st47", BRACK(FHDEV(DEV_TAPE_MAJOR, 47)), "\\Device\\Tape47"},
+ {"/dev/st48", BRACK(FHDEV(DEV_TAPE_MAJOR, 48)), "\\Device\\Tape48"},
+ {"/dev/st49", BRACK(FHDEV(DEV_TAPE_MAJOR, 49)), "\\Device\\Tape49"},
+ {"/dev/st50", BRACK(FHDEV(DEV_TAPE_MAJOR, 50)), "\\Device\\Tape50"},
+ {"/dev/st51", BRACK(FHDEV(DEV_TAPE_MAJOR, 51)), "\\Device\\Tape51"},
+ {"/dev/st52", BRACK(FHDEV(DEV_TAPE_MAJOR, 52)), "\\Device\\Tape52"},
+ {"/dev/st53", BRACK(FHDEV(DEV_TAPE_MAJOR, 53)), "\\Device\\Tape53"},
+ {"/dev/st54", BRACK(FHDEV(DEV_TAPE_MAJOR, 54)), "\\Device\\Tape54"},
+ {"/dev/st55", BRACK(FHDEV(DEV_TAPE_MAJOR, 55)), "\\Device\\Tape55"},
+ {"/dev/st56", BRACK(FHDEV(DEV_TAPE_MAJOR, 56)), "\\Device\\Tape56"},
+ {"/dev/st57", BRACK(FHDEV(DEV_TAPE_MAJOR, 57)), "\\Device\\Tape57"},
+ {"/dev/st58", BRACK(FHDEV(DEV_TAPE_MAJOR, 58)), "\\Device\\Tape58"},
+ {"/dev/st59", BRACK(FHDEV(DEV_TAPE_MAJOR, 59)), "\\Device\\Tape59"},
+ {"/dev/st60", BRACK(FHDEV(DEV_TAPE_MAJOR, 60)), "\\Device\\Tape60"},
+ {"/dev/st61", BRACK(FHDEV(DEV_TAPE_MAJOR, 61)), "\\Device\\Tape61"},
+ {"/dev/st62", BRACK(FHDEV(DEV_TAPE_MAJOR, 62)), "\\Device\\Tape62"},
+ {"/dev/st63", BRACK(FHDEV(DEV_TAPE_MAJOR, 63)), "\\Device\\Tape63"},
+ {"/dev/st64", BRACK(FHDEV(DEV_TAPE_MAJOR, 64)), "\\Device\\Tape64"},
+ {"/dev/st65", BRACK(FHDEV(DEV_TAPE_MAJOR, 65)), "\\Device\\Tape65"},
+ {"/dev/st66", BRACK(FHDEV(DEV_TAPE_MAJOR, 66)), "\\Device\\Tape66"},
+ {"/dev/st67", BRACK(FHDEV(DEV_TAPE_MAJOR, 67)), "\\Device\\Tape67"},
+ {"/dev/st68", BRACK(FHDEV(DEV_TAPE_MAJOR, 68)), "\\Device\\Tape68"},
+ {"/dev/st69", BRACK(FHDEV(DEV_TAPE_MAJOR, 69)), "\\Device\\Tape69"},
+ {"/dev/st70", BRACK(FHDEV(DEV_TAPE_MAJOR, 70)), "\\Device\\Tape70"},
+ {"/dev/st71", BRACK(FHDEV(DEV_TAPE_MAJOR, 71)), "\\Device\\Tape71"},
+ {"/dev/st72", BRACK(FHDEV(DEV_TAPE_MAJOR, 72)), "\\Device\\Tape72"},
+ {"/dev/st73", BRACK(FHDEV(DEV_TAPE_MAJOR, 73)), "\\Device\\Tape73"},
+ {"/dev/st74", BRACK(FHDEV(DEV_TAPE_MAJOR, 74)), "\\Device\\Tape74"},
+ {"/dev/st75", BRACK(FHDEV(DEV_TAPE_MAJOR, 75)), "\\Device\\Tape75"},
+ {"/dev/st76", BRACK(FHDEV(DEV_TAPE_MAJOR, 76)), "\\Device\\Tape76"},
+ {"/dev/st77", BRACK(FHDEV(DEV_TAPE_MAJOR, 77)), "\\Device\\Tape77"},
+ {"/dev/st78", BRACK(FHDEV(DEV_TAPE_MAJOR, 78)), "\\Device\\Tape78"},
+ {"/dev/st79", BRACK(FHDEV(DEV_TAPE_MAJOR, 79)), "\\Device\\Tape79"},
+ {"/dev/st80", BRACK(FHDEV(DEV_TAPE_MAJOR, 80)), "\\Device\\Tape80"},
+ {"/dev/st81", BRACK(FHDEV(DEV_TAPE_MAJOR, 81)), "\\Device\\Tape81"},
+ {"/dev/st82", BRACK(FHDEV(DEV_TAPE_MAJOR, 82)), "\\Device\\Tape82"},
+ {"/dev/st83", BRACK(FHDEV(DEV_TAPE_MAJOR, 83)), "\\Device\\Tape83"},
+ {"/dev/st84", BRACK(FHDEV(DEV_TAPE_MAJOR, 84)), "\\Device\\Tape84"},
+ {"/dev/st85", BRACK(FHDEV(DEV_TAPE_MAJOR, 85)), "\\Device\\Tape85"},
+ {"/dev/st86", BRACK(FHDEV(DEV_TAPE_MAJOR, 86)), "\\Device\\Tape86"},
+ {"/dev/st87", BRACK(FHDEV(DEV_TAPE_MAJOR, 87)), "\\Device\\Tape87"},
+ {"/dev/st88", BRACK(FHDEV(DEV_TAPE_MAJOR, 88)), "\\Device\\Tape88"},
+ {"/dev/st89", BRACK(FHDEV(DEV_TAPE_MAJOR, 89)), "\\Device\\Tape89"},
+ {"/dev/st90", BRACK(FHDEV(DEV_TAPE_MAJOR, 90)), "\\Device\\Tape90"},
+ {"/dev/st91", BRACK(FHDEV(DEV_TAPE_MAJOR, 91)), "\\Device\\Tape91"},
+ {"/dev/st92", BRACK(FHDEV(DEV_TAPE_MAJOR, 92)), "\\Device\\Tape92"},
+ {"/dev/st93", BRACK(FHDEV(DEV_TAPE_MAJOR, 93)), "\\Device\\Tape93"},
+ {"/dev/st94", BRACK(FHDEV(DEV_TAPE_MAJOR, 94)), "\\Device\\Tape94"},
+ {"/dev/st95", BRACK(FHDEV(DEV_TAPE_MAJOR, 95)), "\\Device\\Tape95"},
+ {"/dev/st96", BRACK(FHDEV(DEV_TAPE_MAJOR, 96)), "\\Device\\Tape96"},
+ {"/dev/st97", BRACK(FHDEV(DEV_TAPE_MAJOR, 97)), "\\Device\\Tape97"},
+ {"/dev/st98", BRACK(FHDEV(DEV_TAPE_MAJOR, 98)), "\\Device\\Tape98"},
+ {"/dev/st99", BRACK(FHDEV(DEV_TAPE_MAJOR, 99)), "\\Device\\Tape99"},
+ {"/dev/st100", BRACK(FHDEV(DEV_TAPE_MAJOR, 100)), "\\Device\\Tape100"},
+ {"/dev/st101", BRACK(FHDEV(DEV_TAPE_MAJOR, 101)), "\\Device\\Tape101"},
+ {"/dev/st102", BRACK(FHDEV(DEV_TAPE_MAJOR, 102)), "\\Device\\Tape102"},
+ {"/dev/st103", BRACK(FHDEV(DEV_TAPE_MAJOR, 103)), "\\Device\\Tape103"},
+ {"/dev/st104", BRACK(FHDEV(DEV_TAPE_MAJOR, 104)), "\\Device\\Tape104"},
+ {"/dev/st105", BRACK(FHDEV(DEV_TAPE_MAJOR, 105)), "\\Device\\Tape105"},
+ {"/dev/st106", BRACK(FHDEV(DEV_TAPE_MAJOR, 106)), "\\Device\\Tape106"},
+ {"/dev/st107", BRACK(FHDEV(DEV_TAPE_MAJOR, 107)), "\\Device\\Tape107"},
+ {"/dev/st108", BRACK(FHDEV(DEV_TAPE_MAJOR, 108)), "\\Device\\Tape108"},
+ {"/dev/st109", BRACK(FHDEV(DEV_TAPE_MAJOR, 109)), "\\Device\\Tape109"},
+ {"/dev/st110", BRACK(FHDEV(DEV_TAPE_MAJOR, 110)), "\\Device\\Tape110"},
+ {"/dev/st111", BRACK(FHDEV(DEV_TAPE_MAJOR, 111)), "\\Device\\Tape111"},
+ {"/dev/st112", BRACK(FHDEV(DEV_TAPE_MAJOR, 112)), "\\Device\\Tape112"},
+ {"/dev/st113", BRACK(FHDEV(DEV_TAPE_MAJOR, 113)), "\\Device\\Tape113"},
+ {"/dev/st114", BRACK(FHDEV(DEV_TAPE_MAJOR, 114)), "\\Device\\Tape114"},
+ {"/dev/st115", BRACK(FHDEV(DEV_TAPE_MAJOR, 115)), "\\Device\\Tape115"},
+ {"/dev/st116", BRACK(FHDEV(DEV_TAPE_MAJOR, 116)), "\\Device\\Tape116"},
+ {"/dev/st117", BRACK(FHDEV(DEV_TAPE_MAJOR, 117)), "\\Device\\Tape117"},
+ {"/dev/st118", BRACK(FHDEV(DEV_TAPE_MAJOR, 118)), "\\Device\\Tape118"},
+ {"/dev/st119", BRACK(FHDEV(DEV_TAPE_MAJOR, 119)), "\\Device\\Tape119"},
+ {"/dev/st120", BRACK(FHDEV(DEV_TAPE_MAJOR, 120)), "\\Device\\Tape120"},
+ {"/dev/st121", BRACK(FHDEV(DEV_TAPE_MAJOR, 121)), "\\Device\\Tape121"},
+ {"/dev/st122", BRACK(FHDEV(DEV_TAPE_MAJOR, 122)), "\\Device\\Tape122"},
+ {"/dev/st123", BRACK(FHDEV(DEV_TAPE_MAJOR, 123)), "\\Device\\Tape123"},
+ {"/dev/st124", BRACK(FHDEV(DEV_TAPE_MAJOR, 124)), "\\Device\\Tape124"},
+ {"/dev/st125", BRACK(FHDEV(DEV_TAPE_MAJOR, 125)), "\\Device\\Tape125"},
+ {"/dev/st126", BRACK(FHDEV(DEV_TAPE_MAJOR, 126)), "\\Device\\Tape126"},
+ {"/dev/st127", BRACK(FHDEV(DEV_TAPE_MAJOR, 127)), "\\Device\\Tape127"},
+ {"/dev/tty", BRACK(FH_TTY), "/dev/tty"},
+ {"/dev/ttyS0", BRACK(FHDEV(DEV_SERIAL_MAJOR, 0)), "\\??\\COM1"},
+ {"/dev/ttyS1", BRACK(FHDEV(DEV_SERIAL_MAJOR, 1)), "\\??\\COM2"},
+ {"/dev/ttyS2", BRACK(FHDEV(DEV_SERIAL_MAJOR, 2)), "\\??\\COM3"},
+ {"/dev/ttyS3", BRACK(FHDEV(DEV_SERIAL_MAJOR, 3)), "\\??\\COM4"},
+ {"/dev/ttyS4", BRACK(FHDEV(DEV_SERIAL_MAJOR, 4)), "\\??\\COM5"},
+ {"/dev/ttyS5", BRACK(FHDEV(DEV_SERIAL_MAJOR, 5)), "\\??\\COM6"},
+ {"/dev/ttyS6", BRACK(FHDEV(DEV_SERIAL_MAJOR, 6)), "\\??\\COM7"},
+ {"/dev/ttyS7", BRACK(FHDEV(DEV_SERIAL_MAJOR, 7)), "\\??\\COM8"},
+ {"/dev/ttyS8", BRACK(FHDEV(DEV_SERIAL_MAJOR, 8)), "\\??\\COM9"},
+ {"/dev/ttyS9", BRACK(FHDEV(DEV_SERIAL_MAJOR, 9)), "\\??\\COM10"},
+ {"/dev/ttyS10", BRACK(FHDEV(DEV_SERIAL_MAJOR, 10)), "\\??\\COM11"},
+ {"/dev/ttyS11", BRACK(FHDEV(DEV_SERIAL_MAJOR, 11)), "\\??\\COM12"},
+ {"/dev/ttyS12", BRACK(FHDEV(DEV_SERIAL_MAJOR, 12)), "\\??\\COM13"},
+ {"/dev/ttyS13", BRACK(FHDEV(DEV_SERIAL_MAJOR, 13)), "\\??\\COM14"},
+ {"/dev/ttyS14", BRACK(FHDEV(DEV_SERIAL_MAJOR, 14)), "\\??\\COM15"},
+ {"/dev/ttyS15", BRACK(FHDEV(DEV_SERIAL_MAJOR, 15)), "\\??\\COM16"},
+ {"/dev/ttyS16", BRACK(FHDEV(DEV_SERIAL_MAJOR, 16)), "\\??\\COM17"},
+ {"/dev/ttyS17", BRACK(FHDEV(DEV_SERIAL_MAJOR, 17)), "\\??\\COM18"},
+ {"/dev/ttyS18", BRACK(FHDEV(DEV_SERIAL_MAJOR, 18)), "\\??\\COM19"},
+ {"/dev/ttyS19", BRACK(FHDEV(DEV_SERIAL_MAJOR, 19)), "\\??\\COM20"},
+ {"/dev/ttyS20", BRACK(FHDEV(DEV_SERIAL_MAJOR, 20)), "\\??\\COM21"},
+ {"/dev/ttyS21", BRACK(FHDEV(DEV_SERIAL_MAJOR, 21)), "\\??\\COM22"},
+ {"/dev/ttyS22", BRACK(FHDEV(DEV_SERIAL_MAJOR, 22)), "\\??\\COM23"},
+ {"/dev/ttyS23", BRACK(FHDEV(DEV_SERIAL_MAJOR, 23)), "\\??\\COM24"},
+ {"/dev/ttyS24", BRACK(FHDEV(DEV_SERIAL_MAJOR, 24)), "\\??\\COM25"},
+ {"/dev/ttyS25", BRACK(FHDEV(DEV_SERIAL_MAJOR, 25)), "\\??\\COM26"},
+ {"/dev/ttyS26", BRACK(FHDEV(DEV_SERIAL_MAJOR, 26)), "\\??\\COM27"},
+ {"/dev/ttyS27", BRACK(FHDEV(DEV_SERIAL_MAJOR, 27)), "\\??\\COM28"},
+ {"/dev/ttyS28", BRACK(FHDEV(DEV_SERIAL_MAJOR, 28)), "\\??\\COM29"},
+ {"/dev/ttyS29", BRACK(FHDEV(DEV_SERIAL_MAJOR, 29)), "\\??\\COM30"},
+ {"/dev/ttyS30", BRACK(FHDEV(DEV_SERIAL_MAJOR, 30)), "\\??\\COM31"},
+ {"/dev/ttyS31", BRACK(FHDEV(DEV_SERIAL_MAJOR, 31)), "\\??\\COM32"},
+ {"/dev/ttyS32", BRACK(FHDEV(DEV_SERIAL_MAJOR, 32)), "\\??\\COM33"},
+ {"/dev/ttyS33", BRACK(FHDEV(DEV_SERIAL_MAJOR, 33)), "\\??\\COM34"},
+ {"/dev/ttyS34", BRACK(FHDEV(DEV_SERIAL_MAJOR, 34)), "\\??\\COM35"},
+ {"/dev/ttyS35", BRACK(FHDEV(DEV_SERIAL_MAJOR, 35)), "\\??\\COM36"},
+ {"/dev/ttyS36", BRACK(FHDEV(DEV_SERIAL_MAJOR, 36)), "\\??\\COM37"},
+ {"/dev/ttyS37", BRACK(FHDEV(DEV_SERIAL_MAJOR, 37)), "\\??\\COM38"},
+ {"/dev/ttyS38", BRACK(FHDEV(DEV_SERIAL_MAJOR, 38)), "\\??\\COM39"},
+ {"/dev/ttyS39", BRACK(FHDEV(DEV_SERIAL_MAJOR, 39)), "\\??\\COM40"},
+ {"/dev/ttyS40", BRACK(FHDEV(DEV_SERIAL_MAJOR, 40)), "\\??\\COM41"},
+ {"/dev/ttyS41", BRACK(FHDEV(DEV_SERIAL_MAJOR, 41)), "\\??\\COM42"},
+ {"/dev/ttyS42", BRACK(FHDEV(DEV_SERIAL_MAJOR, 42)), "\\??\\COM43"},
+ {"/dev/ttyS43", BRACK(FHDEV(DEV_SERIAL_MAJOR, 43)), "\\??\\COM44"},
+ {"/dev/ttyS44", BRACK(FHDEV(DEV_SERIAL_MAJOR, 44)), "\\??\\COM45"},
+ {"/dev/ttyS45", BRACK(FHDEV(DEV_SERIAL_MAJOR, 45)), "\\??\\COM46"},
+ {"/dev/ttyS46", BRACK(FHDEV(DEV_SERIAL_MAJOR, 46)), "\\??\\COM47"},
+ {"/dev/ttyS47", BRACK(FHDEV(DEV_SERIAL_MAJOR, 47)), "\\??\\COM48"},
+ {"/dev/ttyS48", BRACK(FHDEV(DEV_SERIAL_MAJOR, 48)), "\\??\\COM49"},
+ {"/dev/ttyS49", BRACK(FHDEV(DEV_SERIAL_MAJOR, 49)), "\\??\\COM50"},
+ {"/dev/ttyS50", BRACK(FHDEV(DEV_SERIAL_MAJOR, 50)), "\\??\\COM51"},
+ {"/dev/ttyS51", BRACK(FHDEV(DEV_SERIAL_MAJOR, 51)), "\\??\\COM52"},
+ {"/dev/ttyS52", BRACK(FHDEV(DEV_SERIAL_MAJOR, 52)), "\\??\\COM53"},
+ {"/dev/ttyS53", BRACK(FHDEV(DEV_SERIAL_MAJOR, 53)), "\\??\\COM54"},
+ {"/dev/ttyS54", BRACK(FHDEV(DEV_SERIAL_MAJOR, 54)), "\\??\\COM55"},
+ {"/dev/ttyS55", BRACK(FHDEV(DEV_SERIAL_MAJOR, 55)), "\\??\\COM56"},
+ {"/dev/ttyS56", BRACK(FHDEV(DEV_SERIAL_MAJOR, 56)), "\\??\\COM57"},
+ {"/dev/ttyS57", BRACK(FHDEV(DEV_SERIAL_MAJOR, 57)), "\\??\\COM58"},
+ {"/dev/ttyS58", BRACK(FHDEV(DEV_SERIAL_MAJOR, 58)), "\\??\\COM59"},
+ {"/dev/ttyS59", BRACK(FHDEV(DEV_SERIAL_MAJOR, 59)), "\\??\\COM60"},
+ {"/dev/ttyS60", BRACK(FHDEV(DEV_SERIAL_MAJOR, 60)), "\\??\\COM61"},
+ {"/dev/ttyS61", BRACK(FHDEV(DEV_SERIAL_MAJOR, 61)), "\\??\\COM62"},
+ {"/dev/ttyS62", BRACK(FHDEV(DEV_SERIAL_MAJOR, 62)), "\\??\\COM63"},
+ {"/dev/ttyS63", BRACK(FHDEV(DEV_SERIAL_MAJOR, 63)), "\\??\\COM64"},
+ {"/dev/urandom", BRACK(FH_URANDOM), "/dev/urandom"},
+ {"/dev/windows", BRACK(FH_WINDOWS), "/dev/windows"},
+ {"/dev/zero", BRACK(FH_ZERO), "/dev/zero"}
};
const device *cons_dev = dev_storage + 20;
const device *console_dev = dev_storage + 84;
-const device *ptym_dev = dev_storage + 2580;
-const device *ptys_dev = dev_storage + 237;
-const device *urandom_dev = dev_storage + 2575;
+const device *ptym_dev = dev_storage + 303;
+const device *ptys_dev = dev_storage + 239;
+const device *urandom_dev = dev_storage + 2641;
static KR_device_t KR_find_keyword (const char *KR_keyword, int KR_length)
@@ -2814,1077 +2741,6 @@ return NULL;
}
}
- case 5:
- switch (KR_keyword [1])
- {
- case 'p':
- if (strncmp (KR_keyword, ":pipe", 5) == 0)
- {
-{
-return dev_storage + 2579;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case 'f':
- if (strncmp (KR_keyword, ":fifo", 5) == 0)
- {
-{
-return dev_storage + 2578;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case 6:
- switch (KR_keyword [5])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym9", 6) == 0)
- {
-{
-return dev_storage + 2589;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym8", 6) == 0)
- {
-{
-return dev_storage + 2588;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym7", 6) == 0)
- {
-{
-return dev_storage + 2587;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym6", 6) == 0)
- {
-{
-return dev_storage + 2586;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym5", 6) == 0)
- {
-{
-return dev_storage + 2585;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym4", 6) == 0)
- {
-{
-return dev_storage + 2584;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym3", 6) == 0)
- {
-{
-return dev_storage + 2583;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym2", 6) == 0)
- {
-{
-return dev_storage + 2582;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym1", 6) == 0)
- {
-{
-return dev_storage + 2581;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym0", 6) == 0)
- {
-{
-return dev_storage + 2580;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case 7:
- switch (KR_keyword [5])
- {
- case '6':
- switch (KR_keyword [6])
- {
- case '3':
- if (strncmp (KR_keyword, ":ptym63", 7) == 0)
- {
-{
-return dev_storage + 2643;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym62", 7) == 0)
- {
-{
-return dev_storage + 2642;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym61", 7) == 0)
- {
-{
-return dev_storage + 2641;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym60", 7) == 0)
- {
-{
-return dev_storage + 2640;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case '5':
- switch (KR_keyword [6])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym59", 7) == 0)
- {
-{
-return dev_storage + 2639;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym58", 7) == 0)
- {
-{
-return dev_storage + 2638;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym57", 7) == 0)
- {
-{
-return dev_storage + 2637;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym56", 7) == 0)
- {
-{
-return dev_storage + 2636;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym55", 7) == 0)
- {
-{
-return dev_storage + 2635;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym54", 7) == 0)
- {
-{
-return dev_storage + 2634;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym53", 7) == 0)
- {
-{
-return dev_storage + 2633;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym52", 7) == 0)
- {
-{
-return dev_storage + 2632;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym51", 7) == 0)
- {
-{
-return dev_storage + 2631;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym50", 7) == 0)
- {
-{
-return dev_storage + 2630;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case '4':
- switch (KR_keyword [6])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym49", 7) == 0)
- {
-{
-return dev_storage + 2629;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym48", 7) == 0)
- {
-{
-return dev_storage + 2628;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym47", 7) == 0)
- {
-{
-return dev_storage + 2627;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym46", 7) == 0)
- {
-{
-return dev_storage + 2626;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym45", 7) == 0)
- {
-{
-return dev_storage + 2625;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym44", 7) == 0)
- {
-{
-return dev_storage + 2624;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym43", 7) == 0)
- {
-{
-return dev_storage + 2623;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym42", 7) == 0)
- {
-{
-return dev_storage + 2622;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym41", 7) == 0)
- {
-{
-return dev_storage + 2621;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym40", 7) == 0)
- {
-{
-return dev_storage + 2620;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case '3':
- switch (KR_keyword [6])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym39", 7) == 0)
- {
-{
-return dev_storage + 2619;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym38", 7) == 0)
- {
-{
-return dev_storage + 2618;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym37", 7) == 0)
- {
-{
-return dev_storage + 2617;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym36", 7) == 0)
- {
-{
-return dev_storage + 2616;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym35", 7) == 0)
- {
-{
-return dev_storage + 2615;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym34", 7) == 0)
- {
-{
-return dev_storage + 2614;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym33", 7) == 0)
- {
-{
-return dev_storage + 2613;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym32", 7) == 0)
- {
-{
-return dev_storage + 2612;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym31", 7) == 0)
- {
-{
-return dev_storage + 2611;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym30", 7) == 0)
- {
-{
-return dev_storage + 2610;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case '2':
- switch (KR_keyword [6])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym29", 7) == 0)
- {
-{
-return dev_storage + 2609;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym28", 7) == 0)
- {
-{
-return dev_storage + 2608;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym27", 7) == 0)
- {
-{
-return dev_storage + 2607;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym26", 7) == 0)
- {
-{
-return dev_storage + 2606;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym25", 7) == 0)
- {
-{
-return dev_storage + 2605;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym24", 7) == 0)
- {
-{
-return dev_storage + 2604;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym23", 7) == 0)
- {
-{
-return dev_storage + 2603;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym22", 7) == 0)
- {
-{
-return dev_storage + 2602;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym21", 7) == 0)
- {
-{
-return dev_storage + 2601;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym20", 7) == 0)
- {
-{
-return dev_storage + 2600;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case '1':
- switch (KR_keyword [6])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym19", 7) == 0)
- {
-{
-return dev_storage + 2599;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym18", 7) == 0)
- {
-{
-return dev_storage + 2598;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym17", 7) == 0)
- {
-{
-return dev_storage + 2597;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym16", 7) == 0)
- {
-{
-return dev_storage + 2596;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym15", 7) == 0)
- {
-{
-return dev_storage + 2595;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym14", 7) == 0)
- {
-{
-return dev_storage + 2594;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym13", 7) == 0)
- {
-{
-return dev_storage + 2593;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym12", 7) == 0)
- {
-{
-return dev_storage + 2592;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym11", 7) == 0)
- {
-{
-return dev_storage + 2591;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym10", 7) == 0)
- {
-{
-return dev_storage + 2590;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
case 8:
switch (KR_keyword [7])
{
@@ -3892,7 +2748,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz", 8) == 0)
{
{
-return dev_storage + 343;
+return dev_storage + 409;
}
}
@@ -3910,7 +2766,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/tty", 8) == 0)
{
{
-return dev_storage + 2510;
+return dev_storage + 2576;
}
}
@@ -3925,7 +2781,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy", 8) == 0)
{
{
-return dev_storage + 342;
+return dev_storage + 408;
}
}
@@ -3946,7 +2802,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx", 8) == 0)
{
{
-return dev_storage + 341;
+return dev_storage + 407;
}
}
@@ -3961,7 +2817,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw", 8) == 0)
{
{
-return dev_storage + 340;
+return dev_storage + 406;
}
}
@@ -3976,7 +2832,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv", 8) == 0)
{
{
-return dev_storage + 339;
+return dev_storage + 405;
}
}
@@ -3991,7 +2847,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu", 8) == 0)
{
{
-return dev_storage + 338;
+return dev_storage + 404;
}
}
@@ -4006,7 +2862,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt", 8) == 0)
{
{
-return dev_storage + 337;
+return dev_storage + 403;
}
}
@@ -4021,7 +2877,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds", 8) == 0)
{
{
-return dev_storage + 336;
+return dev_storage + 402;
}
}
@@ -4036,7 +2892,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr", 8) == 0)
{
{
-return dev_storage + 335;
+return dev_storage + 401;
}
}
@@ -4051,7 +2907,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq", 8) == 0)
{
{
-return dev_storage + 334;
+return dev_storage + 400;
}
}
@@ -4069,7 +2925,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp", 8) == 0)
{
{
-return dev_storage + 333;
+return dev_storage + 399;
}
}
@@ -4105,7 +2961,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo", 8) == 0)
{
{
-return dev_storage + 332;
+return dev_storage + 398;
}
}
@@ -4120,7 +2976,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn", 8) == 0)
{
{
-return dev_storage + 331;
+return dev_storage + 397;
}
}
@@ -4138,7 +2994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm", 8) == 0)
{
{
-return dev_storage + 330;
+return dev_storage + 396;
}
}
@@ -4153,7 +3009,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/mem", 8) == 0)
{
{
-return dev_storage + 105;
+return dev_storage + 106;
}
}
@@ -4174,7 +3030,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl", 8) == 0)
{
{
-return dev_storage + 329;
+return dev_storage + 395;
}
}
@@ -4189,7 +3045,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk", 8) == 0)
{
{
-return dev_storage + 328;
+return dev_storage + 394;
}
}
@@ -4204,7 +3060,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj", 8) == 0)
{
{
-return dev_storage + 327;
+return dev_storage + 393;
}
}
@@ -4219,7 +3075,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi", 8) == 0)
{
{
-return dev_storage + 326;
+return dev_storage + 392;
}
}
@@ -4234,7 +3090,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh", 8) == 0)
{
{
-return dev_storage + 325;
+return dev_storage + 391;
}
}
@@ -4249,7 +3105,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg", 8) == 0)
{
{
-return dev_storage + 324;
+return dev_storage + 390;
}
}
@@ -4264,7 +3120,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf", 8) == 0)
{
{
-return dev_storage + 323;
+return dev_storage + 389;
}
}
@@ -4279,7 +3135,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde", 8) == 0)
{
{
-return dev_storage + 322;
+return dev_storage + 388;
}
}
@@ -4294,7 +3150,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd", 8) == 0)
{
{
-return dev_storage + 321;
+return dev_storage + 387;
}
}
@@ -4309,7 +3165,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc", 8) == 0)
{
{
-return dev_storage + 320;
+return dev_storage + 386;
}
}
@@ -4324,7 +3180,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb", 8) == 0)
{
{
-return dev_storage + 319;
+return dev_storage + 385;
}
}
@@ -4339,7 +3195,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda", 8) == 0)
{
{
-return dev_storage + 318;
+return dev_storage + 384;
}
}
@@ -4357,7 +3213,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st9", 8) == 0)
{
{
-return dev_storage + 2391;
+return dev_storage + 2457;
}
}
@@ -4372,7 +3228,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr9", 8) == 0)
{
{
-return dev_storage + 2375;
+return dev_storage + 2441;
}
}
@@ -4411,7 +3267,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st8", 8) == 0)
{
{
-return dev_storage + 2390;
+return dev_storage + 2456;
}
}
@@ -4426,7 +3282,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr8", 8) == 0)
{
{
-return dev_storage + 2374;
+return dev_storage + 2440;
}
}
@@ -4465,7 +3321,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st7", 8) == 0)
{
{
-return dev_storage + 2389;
+return dev_storage + 2455;
}
}
@@ -4480,7 +3336,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr7", 8) == 0)
{
{
-return dev_storage + 2373;
+return dev_storage + 2439;
}
}
@@ -4519,7 +3375,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st6", 8) == 0)
{
{
-return dev_storage + 2388;
+return dev_storage + 2454;
}
}
@@ -4534,7 +3390,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr6", 8) == 0)
{
{
-return dev_storage + 2372;
+return dev_storage + 2438;
}
}
@@ -4573,7 +3429,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st5", 8) == 0)
{
{
-return dev_storage + 2387;
+return dev_storage + 2453;
}
}
@@ -4588,7 +3444,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr5", 8) == 0)
{
{
-return dev_storage + 2371;
+return dev_storage + 2437;
}
}
@@ -4627,7 +3483,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st4", 8) == 0)
{
{
-return dev_storage + 2386;
+return dev_storage + 2452;
}
}
@@ -4642,7 +3498,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr4", 8) == 0)
{
{
-return dev_storage + 2370;
+return dev_storage + 2436;
}
}
@@ -4681,7 +3537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st3", 8) == 0)
{
{
-return dev_storage + 2385;
+return dev_storage + 2451;
}
}
@@ -4696,7 +3552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr3", 8) == 0)
{
{
-return dev_storage + 2369;
+return dev_storage + 2435;
}
}
@@ -4735,7 +3591,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st2", 8) == 0)
{
{
-return dev_storage + 2384;
+return dev_storage + 2450;
}
}
@@ -4750,7 +3606,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr2", 8) == 0)
{
{
-return dev_storage + 2368;
+return dev_storage + 2434;
}
}
@@ -4789,7 +3645,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st1", 8) == 0)
{
{
-return dev_storage + 2383;
+return dev_storage + 2449;
}
}
@@ -4804,7 +3660,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr1", 8) == 0)
{
{
-return dev_storage + 2367;
+return dev_storage + 2433;
}
}
@@ -4843,7 +3699,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st0", 8) == 0)
{
{
-return dev_storage + 2382;
+return dev_storage + 2448;
}
}
@@ -4858,7 +3714,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr0", 8) == 0)
{
{
-return dev_storage + 2366;
+return dev_storage + 2432;
}
}
@@ -4906,7 +3762,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz9", 9) == 0)
{
{
-return dev_storage + 727;
+return dev_storage + 793;
}
}
@@ -4921,7 +3777,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz8", 9) == 0)
{
{
-return dev_storage + 726;
+return dev_storage + 792;
}
}
@@ -4936,7 +3792,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz7", 9) == 0)
{
{
-return dev_storage + 725;
+return dev_storage + 791;
}
}
@@ -4951,7 +3807,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz6", 9) == 0)
{
{
-return dev_storage + 724;
+return dev_storage + 790;
}
}
@@ -4966,7 +3822,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz5", 9) == 0)
{
{
-return dev_storage + 723;
+return dev_storage + 789;
}
}
@@ -4981,7 +3837,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz4", 9) == 0)
{
{
-return dev_storage + 722;
+return dev_storage + 788;
}
}
@@ -4996,7 +3852,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz3", 9) == 0)
{
{
-return dev_storage + 721;
+return dev_storage + 787;
}
}
@@ -5011,7 +3867,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz2", 9) == 0)
{
{
-return dev_storage + 720;
+return dev_storage + 786;
}
}
@@ -5026,7 +3882,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz1", 9) == 0)
{
{
-return dev_storage + 719;
+return dev_storage + 785;
}
}
@@ -5053,7 +3909,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy9", 9) == 0)
{
{
-return dev_storage + 712;
+return dev_storage + 778;
}
}
@@ -5068,7 +3924,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty9", 9) == 0)
{
{
-return dev_storage + 246;
+return dev_storage + 248;
}
}
@@ -5092,7 +3948,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy8", 9) == 0)
{
{
-return dev_storage + 711;
+return dev_storage + 777;
}
}
@@ -5107,7 +3963,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty8", 9) == 0)
{
{
-return dev_storage + 245;
+return dev_storage + 247;
}
}
@@ -5131,7 +3987,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy7", 9) == 0)
{
{
-return dev_storage + 710;
+return dev_storage + 776;
}
}
@@ -5146,7 +4002,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty7", 9) == 0)
{
{
-return dev_storage + 244;
+return dev_storage + 246;
}
}
@@ -5170,7 +4026,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy6", 9) == 0)
{
{
-return dev_storage + 709;
+return dev_storage + 775;
}
}
@@ -5185,7 +4041,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty6", 9) == 0)
{
{
-return dev_storage + 243;
+return dev_storage + 245;
}
}
@@ -5209,7 +4065,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy5", 9) == 0)
{
{
-return dev_storage + 708;
+return dev_storage + 774;
}
}
@@ -5224,7 +4080,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty5", 9) == 0)
{
{
-return dev_storage + 242;
+return dev_storage + 244;
}
}
@@ -5248,7 +4104,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy4", 9) == 0)
{
{
-return dev_storage + 707;
+return dev_storage + 773;
}
}
@@ -5263,7 +4119,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty4", 9) == 0)
{
{
-return dev_storage + 241;
+return dev_storage + 243;
}
}
@@ -5287,7 +4143,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy3", 9) == 0)
{
{
-return dev_storage + 706;
+return dev_storage + 772;
}
}
@@ -5302,7 +4158,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty3", 9) == 0)
{
{
-return dev_storage + 240;
+return dev_storage + 242;
}
}
@@ -5326,7 +4182,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy2", 9) == 0)
{
{
-return dev_storage + 705;
+return dev_storage + 771;
}
}
@@ -5341,7 +4197,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty2", 9) == 0)
{
{
-return dev_storage + 239;
+return dev_storage + 241;
}
}
@@ -5365,7 +4221,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy1", 9) == 0)
{
{
-return dev_storage + 704;
+return dev_storage + 770;
}
}
@@ -5380,7 +4236,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty1", 9) == 0)
{
{
-return dev_storage + 238;
+return dev_storage + 240;
}
}
@@ -5401,7 +4257,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty0", 9) == 0)
{
{
-return dev_storage + 237;
+return dev_storage + 239;
}
}
@@ -5425,7 +4281,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx9", 9) == 0)
{
{
-return dev_storage + 697;
+return dev_storage + 763;
}
}
@@ -5440,7 +4296,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx8", 9) == 0)
{
{
-return dev_storage + 696;
+return dev_storage + 762;
}
}
@@ -5455,7 +4311,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx7", 9) == 0)
{
{
-return dev_storage + 695;
+return dev_storage + 761;
}
}
@@ -5470,7 +4326,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx6", 9) == 0)
{
{
-return dev_storage + 694;
+return dev_storage + 760;
}
}
@@ -5485,7 +4341,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx5", 9) == 0)
{
{
-return dev_storage + 693;
+return dev_storage + 759;
}
}
@@ -5500,7 +4356,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx4", 9) == 0)
{
{
-return dev_storage + 692;
+return dev_storage + 758;
}
}
@@ -5515,7 +4371,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx3", 9) == 0)
{
{
-return dev_storage + 691;
+return dev_storage + 757;
}
}
@@ -5530,7 +4386,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx2", 9) == 0)
{
{
-return dev_storage + 690;
+return dev_storage + 756;
}
}
@@ -5545,7 +4401,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx1", 9) == 0)
{
{
-return dev_storage + 689;
+return dev_storage + 755;
}
}
@@ -5569,7 +4425,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw9", 9) == 0)
{
{
-return dev_storage + 682;
+return dev_storage + 748;
}
}
@@ -5584,7 +4440,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw8", 9) == 0)
{
{
-return dev_storage + 681;
+return dev_storage + 747;
}
}
@@ -5599,7 +4455,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw7", 9) == 0)
{
{
-return dev_storage + 680;
+return dev_storage + 746;
}
}
@@ -5614,7 +4470,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw6", 9) == 0)
{
{
-return dev_storage + 679;
+return dev_storage + 745;
}
}
@@ -5629,7 +4485,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw5", 9) == 0)
{
{
-return dev_storage + 678;
+return dev_storage + 744;
}
}
@@ -5644,7 +4500,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw4", 9) == 0)
{
{
-return dev_storage + 677;
+return dev_storage + 743;
}
}
@@ -5659,7 +4515,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw3", 9) == 0)
{
{
-return dev_storage + 676;
+return dev_storage + 742;
}
}
@@ -5674,7 +4530,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw2", 9) == 0)
{
{
-return dev_storage + 675;
+return dev_storage + 741;
}
}
@@ -5689,7 +4545,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw1", 9) == 0)
{
{
-return dev_storage + 674;
+return dev_storage + 740;
}
}
@@ -5713,7 +4569,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv9", 9) == 0)
{
{
-return dev_storage + 667;
+return dev_storage + 733;
}
}
@@ -5728,7 +4584,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv8", 9) == 0)
{
{
-return dev_storage + 666;
+return dev_storage + 732;
}
}
@@ -5743,7 +4599,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv7", 9) == 0)
{
{
-return dev_storage + 665;
+return dev_storage + 731;
}
}
@@ -5758,7 +4614,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv6", 9) == 0)
{
{
-return dev_storage + 664;
+return dev_storage + 730;
}
}
@@ -5773,7 +4629,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv5", 9) == 0)
{
{
-return dev_storage + 663;
+return dev_storage + 729;
}
}
@@ -5788,7 +4644,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv4", 9) == 0)
{
{
-return dev_storage + 662;
+return dev_storage + 728;
}
}
@@ -5803,7 +4659,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv3", 9) == 0)
{
{
-return dev_storage + 661;
+return dev_storage + 727;
}
}
@@ -5818,7 +4674,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv2", 9) == 0)
{
{
-return dev_storage + 660;
+return dev_storage + 726;
}
}
@@ -5833,7 +4689,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv1", 9) == 0)
{
{
-return dev_storage + 659;
+return dev_storage + 725;
}
}
@@ -5857,7 +4713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu9", 9) == 0)
{
{
-return dev_storage + 652;
+return dev_storage + 718;
}
}
@@ -5872,7 +4728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu8", 9) == 0)
{
{
-return dev_storage + 651;
+return dev_storage + 717;
}
}
@@ -5887,7 +4743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu7", 9) == 0)
{
{
-return dev_storage + 650;
+return dev_storage + 716;
}
}
@@ -5902,7 +4758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu6", 9) == 0)
{
{
-return dev_storage + 649;
+return dev_storage + 715;
}
}
@@ -5917,7 +4773,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu5", 9) == 0)
{
{
-return dev_storage + 648;
+return dev_storage + 714;
}
}
@@ -5932,7 +4788,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu4", 9) == 0)
{
{
-return dev_storage + 647;
+return dev_storage + 713;
}
}
@@ -5947,7 +4803,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu3", 9) == 0)
{
{
-return dev_storage + 646;
+return dev_storage + 712;
}
}
@@ -5962,7 +4818,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu2", 9) == 0)
{
{
-return dev_storage + 645;
+return dev_storage + 711;
}
}
@@ -5977,7 +4833,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu1", 9) == 0)
{
{
-return dev_storage + 644;
+return dev_storage + 710;
}
}
@@ -6004,7 +4860,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt9", 9) == 0)
{
{
-return dev_storage + 637;
+return dev_storage + 703;
}
}
@@ -6019,7 +4875,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst9", 9) == 0)
{
{
-return dev_storage + 115;
+return dev_storage + 116;
}
}
@@ -6043,7 +4899,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt8", 9) == 0)
{
{
-return dev_storage + 636;
+return dev_storage + 702;
}
}
@@ -6058,7 +4914,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst8", 9) == 0)
{
{
-return dev_storage + 114;
+return dev_storage + 115;
}
}
@@ -6082,7 +4938,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt7", 9) == 0)
{
{
-return dev_storage + 635;
+return dev_storage + 701;
}
}
@@ -6097,7 +4953,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst7", 9) == 0)
{
{
-return dev_storage + 113;
+return dev_storage + 114;
}
}
@@ -6121,7 +4977,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt6", 9) == 0)
{
{
-return dev_storage + 634;
+return dev_storage + 700;
}
}
@@ -6136,7 +4992,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst6", 9) == 0)
{
{
-return dev_storage + 112;
+return dev_storage + 113;
}
}
@@ -6160,7 +5016,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt5", 9) == 0)
{
{
-return dev_storage + 633;
+return dev_storage + 699;
}
}
@@ -6175,7 +5031,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst5", 9) == 0)
{
{
-return dev_storage + 111;
+return dev_storage + 112;
}
}
@@ -6199,7 +5055,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt4", 9) == 0)
{
{
-return dev_storage + 632;
+return dev_storage + 698;
}
}
@@ -6214,7 +5070,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst4", 9) == 0)
{
{
-return dev_storage + 110;
+return dev_storage + 111;
}
}
@@ -6238,7 +5094,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt3", 9) == 0)
{
{
-return dev_storage + 631;
+return dev_storage + 697;
}
}
@@ -6253,7 +5109,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst3", 9) == 0)
{
{
-return dev_storage + 109;
+return dev_storage + 110;
}
}
@@ -6277,7 +5133,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt2", 9) == 0)
{
{
-return dev_storage + 630;
+return dev_storage + 696;
}
}
@@ -6292,7 +5148,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst2", 9) == 0)
{
{
-return dev_storage + 108;
+return dev_storage + 109;
}
}
@@ -6316,7 +5172,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt1", 9) == 0)
{
{
-return dev_storage + 629;
+return dev_storage + 695;
}
}
@@ -6331,7 +5187,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst1", 9) == 0)
{
{
-return dev_storage + 107;
+return dev_storage + 108;
}
}
@@ -6352,7 +5208,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst0", 9) == 0)
{
{
-return dev_storage + 106;
+return dev_storage + 107;
}
}
@@ -6376,7 +5232,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/kmsg", 9) == 0)
{
{
-return dev_storage + 104;
+return dev_storage + 105;
}
}
@@ -6391,7 +5247,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds9", 9) == 0)
{
{
-return dev_storage + 622;
+return dev_storage + 688;
}
}
@@ -6406,7 +5262,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds8", 9) == 0)
{
{
-return dev_storage + 621;
+return dev_storage + 687;
}
}
@@ -6421,7 +5277,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds7", 9) == 0)
{
{
-return dev_storage + 620;
+return dev_storage + 686;
}
}
@@ -6436,7 +5292,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds6", 9) == 0)
{
{
-return dev_storage + 619;
+return dev_storage + 685;
}
}
@@ -6451,7 +5307,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds5", 9) == 0)
{
{
-return dev_storage + 618;
+return dev_storage + 684;
}
}
@@ -6466,7 +5322,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds4", 9) == 0)
{
{
-return dev_storage + 617;
+return dev_storage + 683;
}
}
@@ -6481,7 +5337,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds3", 9) == 0)
{
{
-return dev_storage + 616;
+return dev_storage + 682;
}
}
@@ -6496,7 +5352,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds2", 9) == 0)
{
{
-return dev_storage + 615;
+return dev_storage + 681;
}
}
@@ -6511,7 +5367,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds1", 9) == 0)
{
{
-return dev_storage + 614;
+return dev_storage + 680;
}
}
@@ -6535,7 +5391,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/port", 9) == 0)
{
{
-return dev_storage + 235;
+return dev_storage + 237;
}
}
@@ -6550,7 +5406,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/zero", 9) == 0)
{
{
-return dev_storage + 2577;
+return dev_storage + 2643;
}
}
@@ -6565,7 +5421,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr9", 9) == 0)
{
{
-return dev_storage + 607;
+return dev_storage + 673;
}
}
@@ -6580,7 +5436,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr8", 9) == 0)
{
{
-return dev_storage + 606;
+return dev_storage + 672;
}
}
@@ -6595,7 +5451,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr7", 9) == 0)
{
{
-return dev_storage + 605;
+return dev_storage + 671;
}
}
@@ -6610,7 +5466,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr6", 9) == 0)
{
{
-return dev_storage + 604;
+return dev_storage + 670;
}
}
@@ -6625,7 +5481,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr5", 9) == 0)
{
{
-return dev_storage + 603;
+return dev_storage + 669;
}
}
@@ -6640,7 +5496,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr4", 9) == 0)
{
{
-return dev_storage + 602;
+return dev_storage + 668;
}
}
@@ -6655,7 +5511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr3", 9) == 0)
{
{
-return dev_storage + 601;
+return dev_storage + 667;
}
}
@@ -6670,7 +5526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr2", 9) == 0)
{
{
-return dev_storage + 600;
+return dev_storage + 666;
}
}
@@ -6685,7 +5541,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr1", 9) == 0)
{
{
-return dev_storage + 599;
+return dev_storage + 665;
}
}
@@ -6709,7 +5565,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq9", 9) == 0)
{
{
-return dev_storage + 592;
+return dev_storage + 658;
}
}
@@ -6724,7 +5580,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq8", 9) == 0)
{
{
-return dev_storage + 591;
+return dev_storage + 657;
}
}
@@ -6739,7 +5595,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq7", 9) == 0)
{
{
-return dev_storage + 590;
+return dev_storage + 656;
}
}
@@ -6754,7 +5610,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq6", 9) == 0)
{
{
-return dev_storage + 589;
+return dev_storage + 655;
}
}
@@ -6769,7 +5625,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq5", 9) == 0)
{
{
-return dev_storage + 588;
+return dev_storage + 654;
}
}
@@ -6784,7 +5640,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq4", 9) == 0)
{
{
-return dev_storage + 587;
+return dev_storage + 653;
}
}
@@ -6799,7 +5655,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq3", 9) == 0)
{
{
-return dev_storage + 586;
+return dev_storage + 652;
}
}
@@ -6814,7 +5670,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq2", 9) == 0)
{
{
-return dev_storage + 585;
+return dev_storage + 651;
}
}
@@ -6829,7 +5685,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq1", 9) == 0)
{
{
-return dev_storage + 584;
+return dev_storage + 650;
}
}
@@ -6849,11 +5705,26 @@ return NULL;
case 'p':
switch (KR_keyword [8])
{
+ case 'e':
+ if (strncmp (KR_keyword, "/dev/pipe", 9) == 0)
+ {
+{
+return dev_storage + 236;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case '9':
if (strncmp (KR_keyword, "/dev/sdp9", 9) == 0)
{
{
-return dev_storage + 577;
+return dev_storage + 643;
}
}
@@ -6868,7 +5739,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp8", 9) == 0)
{
{
-return dev_storage + 576;
+return dev_storage + 642;
}
}
@@ -6883,7 +5754,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp7", 9) == 0)
{
{
-return dev_storage + 575;
+return dev_storage + 641;
}
}
@@ -6898,7 +5769,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp6", 9) == 0)
{
{
-return dev_storage + 574;
+return dev_storage + 640;
}
}
@@ -6913,7 +5784,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp5", 9) == 0)
{
{
-return dev_storage + 573;
+return dev_storage + 639;
}
}
@@ -6928,7 +5799,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp4", 9) == 0)
{
{
-return dev_storage + 572;
+return dev_storage + 638;
}
}
@@ -6943,7 +5814,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp3", 9) == 0)
{
{
-return dev_storage + 571;
+return dev_storage + 637;
}
}
@@ -6958,7 +5829,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp2", 9) == 0)
{
{
-return dev_storage + 570;
+return dev_storage + 636;
}
}
@@ -6973,7 +5844,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp1", 9) == 0)
{
{
-return dev_storage + 569;
+return dev_storage + 635;
}
}
@@ -6997,7 +5868,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo9", 9) == 0)
{
{
-return dev_storage + 562;
+return dev_storage + 628;
}
}
@@ -7012,7 +5883,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo8", 9) == 0)
{
{
-return dev_storage + 561;
+return dev_storage + 627;
}
}
@@ -7027,7 +5898,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo7", 9) == 0)
{
{
-return dev_storage + 560;
+return dev_storage + 626;
}
}
@@ -7042,7 +5913,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo6", 9) == 0)
{
{
-return dev_storage + 559;
+return dev_storage + 625;
}
}
@@ -7057,7 +5928,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo5", 9) == 0)
{
{
-return dev_storage + 558;
+return dev_storage + 624;
}
}
@@ -7072,7 +5943,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo4", 9) == 0)
{
{
-return dev_storage + 557;
+return dev_storage + 623;
}
}
@@ -7087,7 +5958,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo3", 9) == 0)
{
{
-return dev_storage + 556;
+return dev_storage + 622;
}
}
@@ -7102,7 +5973,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo2", 9) == 0)
{
{
-return dev_storage + 555;
+return dev_storage + 621;
}
}
@@ -7117,7 +5988,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo1", 9) == 0)
{
{
-return dev_storage + 554;
+return dev_storage + 620;
}
}
@@ -7141,7 +6012,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn9", 9) == 0)
{
{
-return dev_storage + 547;
+return dev_storage + 613;
}
}
@@ -7156,7 +6027,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn8", 9) == 0)
{
{
-return dev_storage + 546;
+return dev_storage + 612;
}
}
@@ -7171,7 +6042,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn7", 9) == 0)
{
{
-return dev_storage + 545;
+return dev_storage + 611;
}
}
@@ -7186,7 +6057,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn6", 9) == 0)
{
{
-return dev_storage + 544;
+return dev_storage + 610;
}
}
@@ -7201,7 +6072,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn5", 9) == 0)
{
{
-return dev_storage + 543;
+return dev_storage + 609;
}
}
@@ -7216,7 +6087,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn4", 9) == 0)
{
{
-return dev_storage + 542;
+return dev_storage + 608;
}
}
@@ -7231,7 +6102,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn3", 9) == 0)
{
{
-return dev_storage + 541;
+return dev_storage + 607;
}
}
@@ -7246,7 +6117,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn2", 9) == 0)
{
{
-return dev_storage + 540;
+return dev_storage + 606;
}
}
@@ -7261,7 +6132,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn1", 9) == 0)
{
{
-return dev_storage + 539;
+return dev_storage + 605;
}
}
@@ -7288,7 +6159,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm9", 9) == 0)
{
{
-return dev_storage + 532;
+return dev_storage + 598;
}
}
@@ -7303,7 +6174,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm8", 9) == 0)
{
{
-return dev_storage + 531;
+return dev_storage + 597;
}
}
@@ -7318,7 +6189,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm7", 9) == 0)
{
{
-return dev_storage + 530;
+return dev_storage + 596;
}
}
@@ -7333,7 +6204,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm6", 9) == 0)
{
{
-return dev_storage + 529;
+return dev_storage + 595;
}
}
@@ -7348,7 +6219,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm5", 9) == 0)
{
{
-return dev_storage + 528;
+return dev_storage + 594;
}
}
@@ -7363,7 +6234,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm4", 9) == 0)
{
{
-return dev_storage + 527;
+return dev_storage + 593;
}
}
@@ -7378,7 +6249,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm3", 9) == 0)
{
{
-return dev_storage + 526;
+return dev_storage + 592;
}
}
@@ -7393,7 +6264,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm2", 9) == 0)
{
{
-return dev_storage + 525;
+return dev_storage + 591;
}
}
@@ -7408,7 +6279,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm1", 9) == 0)
{
{
-return dev_storage + 524;
+return dev_storage + 590;
}
}
@@ -7429,7 +6300,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ptmx", 9) == 0)
{
{
-return dev_storage + 236;
+return dev_storage + 238;
}
}
@@ -7600,7 +6471,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/null", 9) == 0)
{
{
-return dev_storage + 234;
+return dev_storage + 235;
}
}
@@ -7615,7 +6486,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/full", 9) == 0)
{
{
-return dev_storage + 102;
+return dev_storage + 103;
}
}
@@ -7636,7 +6507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl9", 9) == 0)
{
{
-return dev_storage + 517;
+return dev_storage + 583;
}
}
@@ -7651,7 +6522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl8", 9) == 0)
{
{
-return dev_storage + 516;
+return dev_storage + 582;
}
}
@@ -7666,7 +6537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl7", 9) == 0)
{
{
-return dev_storage + 515;
+return dev_storage + 581;
}
}
@@ -7681,7 +6552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl6", 9) == 0)
{
{
-return dev_storage + 514;
+return dev_storage + 580;
}
}
@@ -7696,7 +6567,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl5", 9) == 0)
{
{
-return dev_storage + 513;
+return dev_storage + 579;
}
}
@@ -7711,7 +6582,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl4", 9) == 0)
{
{
-return dev_storage + 512;
+return dev_storage + 578;
}
}
@@ -7726,7 +6597,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl3", 9) == 0)
{
{
-return dev_storage + 511;
+return dev_storage + 577;
}
}
@@ -7741,7 +6612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl2", 9) == 0)
{
{
-return dev_storage + 510;
+return dev_storage + 576;
}
}
@@ -7756,7 +6627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl1", 9) == 0)
{
{
-return dev_storage + 509;
+return dev_storage + 575;
}
}
@@ -7780,7 +6651,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk9", 9) == 0)
{
{
-return dev_storage + 502;
+return dev_storage + 568;
}
}
@@ -7795,7 +6666,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk8", 9) == 0)
{
{
-return dev_storage + 501;
+return dev_storage + 567;
}
}
@@ -7810,7 +6681,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk7", 9) == 0)
{
{
-return dev_storage + 500;
+return dev_storage + 566;
}
}
@@ -7825,7 +6696,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk6", 9) == 0)
{
{
-return dev_storage + 499;
+return dev_storage + 565;
}
}
@@ -7840,7 +6711,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk5", 9) == 0)
{
{
-return dev_storage + 498;
+return dev_storage + 564;
}
}
@@ -7855,7 +6726,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk4", 9) == 0)
{
{
-return dev_storage + 497;
+return dev_storage + 563;
}
}
@@ -7870,7 +6741,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk3", 9) == 0)
{
{
-return dev_storage + 496;
+return dev_storage + 562;
}
}
@@ -7885,7 +6756,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk2", 9) == 0)
{
{
-return dev_storage + 495;
+return dev_storage + 561;
}
}
@@ -7900,7 +6771,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk1", 9) == 0)
{
{
-return dev_storage + 494;
+return dev_storage + 560;
}
}
@@ -7924,7 +6795,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj9", 9) == 0)
{
{
-return dev_storage + 487;
+return dev_storage + 553;
}
}
@@ -7939,7 +6810,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj8", 9) == 0)
{
{
-return dev_storage + 486;
+return dev_storage + 552;
}
}
@@ -7954,7 +6825,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj7", 9) == 0)
{
{
-return dev_storage + 485;
+return dev_storage + 551;
}
}
@@ -7969,7 +6840,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj6", 9) == 0)
{
{
-return dev_storage + 484;
+return dev_storage + 550;
}
}
@@ -7984,7 +6855,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj5", 9) == 0)
{
{
-return dev_storage + 483;
+return dev_storage + 549;
}
}
@@ -7999,7 +6870,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj4", 9) == 0)
{
{
-return dev_storage + 482;
+return dev_storage + 548;
}
}
@@ -8014,7 +6885,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj3", 9) == 0)
{
{
-return dev_storage + 481;
+return dev_storage + 547;
}
}
@@ -8029,7 +6900,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj2", 9) == 0)
{
{
-return dev_storage + 480;
+return dev_storage + 546;
}
}
@@ -8044,7 +6915,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj1", 9) == 0)
{
{
-return dev_storage + 479;
+return dev_storage + 545;
}
}
@@ -8068,7 +6939,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi9", 9) == 0)
{
{
-return dev_storage + 472;
+return dev_storage + 538;
}
}
@@ -8083,7 +6954,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi8", 9) == 0)
{
{
-return dev_storage + 471;
+return dev_storage + 537;
}
}
@@ -8098,7 +6969,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi7", 9) == 0)
{
{
-return dev_storage + 470;
+return dev_storage + 536;
}
}
@@ -8113,7 +6984,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi6", 9) == 0)
{
{
-return dev_storage + 469;
+return dev_storage + 535;
}
}
@@ -8128,7 +6999,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi5", 9) == 0)
{
{
-return dev_storage + 468;
+return dev_storage + 534;
}
}
@@ -8143,7 +7014,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi4", 9) == 0)
{
{
-return dev_storage + 467;
+return dev_storage + 533;
}
}
@@ -8158,7 +7029,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi3", 9) == 0)
{
{
-return dev_storage + 466;
+return dev_storage + 532;
}
}
@@ -8173,7 +7044,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi2", 9) == 0)
{
{
-return dev_storage + 465;
+return dev_storage + 531;
}
}
@@ -8188,7 +7059,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi1", 9) == 0)
{
{
-return dev_storage + 464;
+return dev_storage + 530;
}
}
@@ -8212,7 +7083,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh9", 9) == 0)
{
{
-return dev_storage + 457;
+return dev_storage + 523;
}
}
@@ -8227,7 +7098,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh8", 9) == 0)
{
{
-return dev_storage + 456;
+return dev_storage + 522;
}
}
@@ -8242,7 +7113,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh7", 9) == 0)
{
{
-return dev_storage + 455;
+return dev_storage + 521;
}
}
@@ -8257,7 +7128,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh6", 9) == 0)
{
{
-return dev_storage + 454;
+return dev_storage + 520;
}
}
@@ -8272,7 +7143,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh5", 9) == 0)
{
{
-return dev_storage + 453;
+return dev_storage + 519;
}
}
@@ -8287,7 +7158,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh4", 9) == 0)
{
{
-return dev_storage + 452;
+return dev_storage + 518;
}
}
@@ -8302,7 +7173,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh3", 9) == 0)
{
{
-return dev_storage + 451;
+return dev_storage + 517;
}
}
@@ -8317,7 +7188,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh2", 9) == 0)
{
{
-return dev_storage + 450;
+return dev_storage + 516;
}
}
@@ -8332,7 +7203,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh1", 9) == 0)
{
{
-return dev_storage + 449;
+return dev_storage + 515;
}
}
@@ -8356,7 +7227,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg9", 9) == 0)
{
{
-return dev_storage + 442;
+return dev_storage + 508;
}
}
@@ -8371,7 +7242,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg8", 9) == 0)
{
{
-return dev_storage + 441;
+return dev_storage + 507;
}
}
@@ -8386,7 +7257,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg7", 9) == 0)
{
{
-return dev_storage + 440;
+return dev_storage + 506;
}
}
@@ -8401,7 +7272,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg6", 9) == 0)
{
{
-return dev_storage + 439;
+return dev_storage + 505;
}
}
@@ -8416,7 +7287,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg5", 9) == 0)
{
{
-return dev_storage + 438;
+return dev_storage + 504;
}
}
@@ -8431,7 +7302,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg4", 9) == 0)
{
{
-return dev_storage + 437;
+return dev_storage + 503;
}
}
@@ -8446,7 +7317,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg3", 9) == 0)
{
{
-return dev_storage + 436;
+return dev_storage + 502;
}
}
@@ -8461,7 +7332,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg2", 9) == 0)
{
{
-return dev_storage + 435;
+return dev_storage + 501;
}
}
@@ -8476,7 +7347,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg1", 9) == 0)
{
{
-return dev_storage + 434;
+return dev_storage + 500;
}
}
@@ -8496,11 +7367,26 @@ return NULL;
case 'f':
switch (KR_keyword [8])
{
+ case 'o':
+ if (strncmp (KR_keyword, "/dev/fifo", 9) == 0)
+ {
+{
+return dev_storage + 102;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case '9':
if (strncmp (KR_keyword, "/dev/sdf9", 9) == 0)
{
{
-return dev_storage + 427;
+return dev_storage + 493;
}
}
@@ -8515,7 +7401,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf8", 9) == 0)
{
{
-return dev_storage + 426;
+return dev_storage + 492;
}
}
@@ -8530,7 +7416,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf7", 9) == 0)
{
{
-return dev_storage + 425;
+return dev_storage + 491;
}
}
@@ -8545,7 +7431,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf6", 9) == 0)
{
{
-return dev_storage + 424;
+return dev_storage + 490;
}
}
@@ -8560,7 +7446,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf5", 9) == 0)
{
{
-return dev_storage + 423;
+return dev_storage + 489;
}
}
@@ -8575,7 +7461,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf4", 9) == 0)
{
{
-return dev_storage + 422;
+return dev_storage + 488;
}
}
@@ -8590,7 +7476,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf3", 9) == 0)
{
{
-return dev_storage + 421;
+return dev_storage + 487;
}
}
@@ -8605,7 +7491,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf2", 9) == 0)
{
{
-return dev_storage + 420;
+return dev_storage + 486;
}
}
@@ -8620,7 +7506,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf1", 9) == 0)
{
{
-return dev_storage + 419;
+return dev_storage + 485;
}
}
@@ -8644,7 +7530,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/kmem", 9) == 0)
{
{
-return dev_storage + 103;
+return dev_storage + 104;
}
}
@@ -8659,7 +7545,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde9", 9) == 0)
{
{
-return dev_storage + 412;
+return dev_storage + 478;
}
}
@@ -8674,7 +7560,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde8", 9) == 0)
{
{
-return dev_storage + 411;
+return dev_storage + 477;
}
}
@@ -8689,7 +7575,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde7", 9) == 0)
{
{
-return dev_storage + 410;
+return dev_storage + 476;
}
}
@@ -8704,7 +7590,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde6", 9) == 0)
{
{
-return dev_storage + 409;
+return dev_storage + 475;
}
}
@@ -8719,7 +7605,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde5", 9) == 0)
{
{
-return dev_storage + 408;
+return dev_storage + 474;
}
}
@@ -8734,7 +7620,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde4", 9) == 0)
{
{
-return dev_storage + 407;
+return dev_storage + 473;
}
}
@@ -8749,7 +7635,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde3", 9) == 0)
{
{
-return dev_storage + 406;
+return dev_storage + 472;
}
}
@@ -8764,7 +7650,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde2", 9) == 0)
{
{
-return dev_storage + 405;
+return dev_storage + 471;
}
}
@@ -8779,7 +7665,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde1", 9) == 0)
{
{
-return dev_storage + 404;
+return dev_storage + 470;
}
}
@@ -8803,7 +7689,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx", 9) == 0)
{
{
-return dev_storage + 2005;
+return dev_storage + 2071;
}
}
@@ -8818,7 +7704,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw", 9) == 0)
{
{
-return dev_storage + 2004;
+return dev_storage + 2070;
}
}
@@ -8833,7 +7719,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv", 9) == 0)
{
{
-return dev_storage + 2003;
+return dev_storage + 2069;
}
}
@@ -8848,7 +7734,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu", 9) == 0)
{
{
-return dev_storage + 2002;
+return dev_storage + 2068;
}
}
@@ -8863,7 +7749,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt", 9) == 0)
{
{
-return dev_storage + 2001;
+return dev_storage + 2067;
}
}
@@ -8878,7 +7764,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds", 9) == 0)
{
{
-return dev_storage + 2000;
+return dev_storage + 2066;
}
}
@@ -8893,7 +7779,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr", 9) == 0)
{
{
-return dev_storage + 1999;
+return dev_storage + 2065;
}
}
@@ -8908,7 +7794,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq", 9) == 0)
{
{
-return dev_storage + 1998;
+return dev_storage + 2064;
}
}
@@ -8923,7 +7809,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp", 9) == 0)
{
{
-return dev_storage + 1997;
+return dev_storage + 2063;
}
}
@@ -8938,7 +7824,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo", 9) == 0)
{
{
-return dev_storage + 1996;
+return dev_storage + 2062;
}
}
@@ -8953,7 +7839,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn", 9) == 0)
{
{
-return dev_storage + 1995;
+return dev_storage + 2061;
}
}
@@ -8968,7 +7854,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm", 9) == 0)
{
{
-return dev_storage + 1994;
+return dev_storage + 2060;
}
}
@@ -8983,7 +7869,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl", 9) == 0)
{
{
-return dev_storage + 1993;
+return dev_storage + 2059;
}
}
@@ -8998,7 +7884,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk", 9) == 0)
{
{
-return dev_storage + 1992;
+return dev_storage + 2058;
}
}
@@ -9013,7 +7899,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj", 9) == 0)
{
{
-return dev_storage + 1991;
+return dev_storage + 2057;
}
}
@@ -9028,7 +7914,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi", 9) == 0)
{
{
-return dev_storage + 1990;
+return dev_storage + 2056;
}
}
@@ -9043,7 +7929,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh", 9) == 0)
{
{
-return dev_storage + 1989;
+return dev_storage + 2055;
}
}
@@ -9058,7 +7944,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg", 9) == 0)
{
{
-return dev_storage + 1988;
+return dev_storage + 2054;
}
}
@@ -9073,7 +7959,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf", 9) == 0)
{
{
-return dev_storage + 1987;
+return dev_storage + 2053;
}
}
@@ -9088,7 +7974,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde", 9) == 0)
{
{
-return dev_storage + 1986;
+return dev_storage + 2052;
}
}
@@ -9103,7 +7989,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd", 9) == 0)
{
{
-return dev_storage + 1985;
+return dev_storage + 2051;
}
}
@@ -9118,7 +8004,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc", 9) == 0)
{
{
-return dev_storage + 1984;
+return dev_storage + 2050;
}
}
@@ -9133,7 +8019,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb", 9) == 0)
{
{
-return dev_storage + 1983;
+return dev_storage + 2049;
}
}
@@ -9148,7 +8034,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda", 9) == 0)
{
{
-return dev_storage + 1982;
+return dev_storage + 2048;
}
}
@@ -9166,7 +8052,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd9", 9) == 0)
{
{
-return dev_storage + 397;
+return dev_storage + 463;
}
}
@@ -9181,7 +8067,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd9", 9) == 0)
{
{
-return dev_storage + 311;
+return dev_storage + 377;
}
}
@@ -9205,7 +8091,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd8", 9) == 0)
{
{
-return dev_storage + 396;
+return dev_storage + 462;
}
}
@@ -9220,7 +8106,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd8", 9) == 0)
{
{
-return dev_storage + 310;
+return dev_storage + 376;
}
}
@@ -9244,7 +8130,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd7", 9) == 0)
{
{
-return dev_storage + 395;
+return dev_storage + 461;
}
}
@@ -9259,7 +8145,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd7", 9) == 0)
{
{
-return dev_storage + 309;
+return dev_storage + 375;
}
}
@@ -9283,7 +8169,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd6", 9) == 0)
{
{
-return dev_storage + 394;
+return dev_storage + 460;
}
}
@@ -9298,7 +8184,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd6", 9) == 0)
{
{
-return dev_storage + 308;
+return dev_storage + 374;
}
}
@@ -9322,7 +8208,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd5", 9) == 0)
{
{
-return dev_storage + 393;
+return dev_storage + 459;
}
}
@@ -9337,7 +8223,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd5", 9) == 0)
{
{
-return dev_storage + 307;
+return dev_storage + 373;
}
}
@@ -9361,7 +8247,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd4", 9) == 0)
{
{
-return dev_storage + 392;
+return dev_storage + 458;
}
}
@@ -9376,7 +8262,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd4", 9) == 0)
{
{
-return dev_storage + 306;
+return dev_storage + 372;
}
}
@@ -9400,7 +8286,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd3", 9) == 0)
{
{
-return dev_storage + 391;
+return dev_storage + 457;
}
}
@@ -9415,7 +8301,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd3", 9) == 0)
{
{
-return dev_storage + 305;
+return dev_storage + 371;
}
}
@@ -9439,7 +8325,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd2", 9) == 0)
{
{
-return dev_storage + 390;
+return dev_storage + 456;
}
}
@@ -9454,7 +8340,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd2", 9) == 0)
{
{
-return dev_storage + 304;
+return dev_storage + 370;
}
}
@@ -9478,7 +8364,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd1", 9) == 0)
{
{
-return dev_storage + 389;
+return dev_storage + 455;
}
}
@@ -9493,7 +8379,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd1", 9) == 0)
{
{
-return dev_storage + 303;
+return dev_storage + 369;
}
}
@@ -9514,7 +8400,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd0", 9) == 0)
{
{
-return dev_storage + 302;
+return dev_storage + 368;
}
}
@@ -9538,7 +8424,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz", 9) == 0)
{
{
-return dev_storage + 1591;
+return dev_storage + 1657;
}
}
@@ -9553,7 +8439,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy", 9) == 0)
{
{
-return dev_storage + 1590;
+return dev_storage + 1656;
}
}
@@ -9568,7 +8454,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx", 9) == 0)
{
{
-return dev_storage + 1589;
+return dev_storage + 1655;
}
}
@@ -9583,7 +8469,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw", 9) == 0)
{
{
-return dev_storage + 1588;
+return dev_storage + 1654;
}
}
@@ -9598,7 +8484,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv", 9) == 0)
{
{
-return dev_storage + 1587;
+return dev_storage + 1653;
}
}
@@ -9613,7 +8499,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu", 9) == 0)
{
{
-return dev_storage + 1586;
+return dev_storage + 1652;
}
}
@@ -9628,7 +8514,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct", 9) == 0)
{
{
-return dev_storage + 1585;
+return dev_storage + 1651;
}
}
@@ -9643,7 +8529,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs", 9) == 0)
{
{
-return dev_storage + 1584;
+return dev_storage + 1650;
}
}
@@ -9658,7 +8544,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr", 9) == 0)
{
{
-return dev_storage + 1583;
+return dev_storage + 1649;
}
}
@@ -9673,7 +8559,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq", 9) == 0)
{
{
-return dev_storage + 1582;
+return dev_storage + 1648;
}
}
@@ -9688,7 +8574,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp", 9) == 0)
{
{
-return dev_storage + 1581;
+return dev_storage + 1647;
}
}
@@ -9703,7 +8589,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco", 9) == 0)
{
{
-return dev_storage + 1580;
+return dev_storage + 1646;
}
}
@@ -9718,7 +8604,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn", 9) == 0)
{
{
-return dev_storage + 1579;
+return dev_storage + 1645;
}
}
@@ -9733,7 +8619,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm", 9) == 0)
{
{
-return dev_storage + 1578;
+return dev_storage + 1644;
}
}
@@ -9748,7 +8634,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl", 9) == 0)
{
{
-return dev_storage + 1577;
+return dev_storage + 1643;
}
}
@@ -9763,7 +8649,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck", 9) == 0)
{
{
-return dev_storage + 1576;
+return dev_storage + 1642;
}
}
@@ -9778,7 +8664,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj", 9) == 0)
{
{
-return dev_storage + 1575;
+return dev_storage + 1641;
}
}
@@ -9793,7 +8679,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci", 9) == 0)
{
{
-return dev_storage + 1574;
+return dev_storage + 1640;
}
}
@@ -9808,7 +8694,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch", 9) == 0)
{
{
-return dev_storage + 1573;
+return dev_storage + 1639;
}
}
@@ -9823,7 +8709,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg", 9) == 0)
{
{
-return dev_storage + 1572;
+return dev_storage + 1638;
}
}
@@ -9838,7 +8724,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf", 9) == 0)
{
{
-return dev_storage + 1571;
+return dev_storage + 1637;
}
}
@@ -9853,7 +8739,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce", 9) == 0)
{
{
-return dev_storage + 1570;
+return dev_storage + 1636;
}
}
@@ -9868,7 +8754,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd", 9) == 0)
{
{
-return dev_storage + 1569;
+return dev_storage + 1635;
}
}
@@ -9883,7 +8769,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc", 9) == 0)
{
{
-return dev_storage + 1568;
+return dev_storage + 1634;
}
}
@@ -9898,7 +8784,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb", 9) == 0)
{
{
-return dev_storage + 1567;
+return dev_storage + 1633;
}
}
@@ -9913,7 +8799,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca", 9) == 0)
{
{
-return dev_storage + 1566;
+return dev_storage + 1632;
}
}
@@ -9928,7 +8814,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc9", 9) == 0)
{
{
-return dev_storage + 382;
+return dev_storage + 448;
}
}
@@ -9943,7 +8829,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc8", 9) == 0)
{
{
-return dev_storage + 381;
+return dev_storage + 447;
}
}
@@ -9958,7 +8844,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc7", 9) == 0)
{
{
-return dev_storage + 380;
+return dev_storage + 446;
}
}
@@ -9973,7 +8859,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc6", 9) == 0)
{
{
-return dev_storage + 379;
+return dev_storage + 445;
}
}
@@ -9988,7 +8874,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc5", 9) == 0)
{
{
-return dev_storage + 378;
+return dev_storage + 444;
}
}
@@ -10003,7 +8889,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc4", 9) == 0)
{
{
-return dev_storage + 377;
+return dev_storage + 443;
}
}
@@ -10018,7 +8904,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc3", 9) == 0)
{
{
-return dev_storage + 376;
+return dev_storage + 442;
}
}
@@ -10033,7 +8919,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc2", 9) == 0)
{
{
-return dev_storage + 375;
+return dev_storage + 441;
}
}
@@ -10048,7 +8934,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc1", 9) == 0)
{
{
-return dev_storage + 374;
+return dev_storage + 440;
}
}
@@ -10072,7 +8958,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz", 9) == 0)
{
{
-return dev_storage + 1175;
+return dev_storage + 1241;
}
}
@@ -10087,7 +8973,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby", 9) == 0)
{
{
-return dev_storage + 1174;
+return dev_storage + 1240;
}
}
@@ -10102,7 +8988,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx", 9) == 0)
{
{
-return dev_storage + 1173;
+return dev_storage + 1239;
}
}
@@ -10117,7 +9003,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw", 9) == 0)
{
{
-return dev_storage + 1172;
+return dev_storage + 1238;
}
}
@@ -10132,7 +9018,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv", 9) == 0)
{
{
-return dev_storage + 1171;
+return dev_storage + 1237;
}
}
@@ -10147,7 +9033,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu", 9) == 0)
{
{
-return dev_storage + 1170;
+return dev_storage + 1236;
}
}
@@ -10162,7 +9048,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt", 9) == 0)
{
{
-return dev_storage + 1169;
+return dev_storage + 1235;
}
}
@@ -10177,7 +9063,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs", 9) == 0)
{
{
-return dev_storage + 1168;
+return dev_storage + 1234;
}
}
@@ -10192,7 +9078,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr", 9) == 0)
{
{
-return dev_storage + 1167;
+return dev_storage + 1233;
}
}
@@ -10207,7 +9093,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq", 9) == 0)
{
{
-return dev_storage + 1166;
+return dev_storage + 1232;
}
}
@@ -10222,7 +9108,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp", 9) == 0)
{
{
-return dev_storage + 1165;
+return dev_storage + 1231;
}
}
@@ -10237,7 +9123,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo", 9) == 0)
{
{
-return dev_storage + 1164;
+return dev_storage + 1230;
}
}
@@ -10252,7 +9138,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn", 9) == 0)
{
{
-return dev_storage + 1163;
+return dev_storage + 1229;
}
}
@@ -10267,7 +9153,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm", 9) == 0)
{
{
-return dev_storage + 1162;
+return dev_storage + 1228;
}
}
@@ -10282,7 +9168,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl", 9) == 0)
{
{
-return dev_storage + 1161;
+return dev_storage + 1227;
}
}
@@ -10297,7 +9183,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk", 9) == 0)
{
{
-return dev_storage + 1160;
+return dev_storage + 1226;
}
}
@@ -10312,7 +9198,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj", 9) == 0)
{
{
-return dev_storage + 1159;
+return dev_storage + 1225;
}
}
@@ -10327,7 +9213,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi", 9) == 0)
{
{
-return dev_storage + 1158;
+return dev_storage + 1224;
}
}
@@ -10342,7 +9228,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh", 9) == 0)
{
{
-return dev_storage + 1157;
+return dev_storage + 1223;
}
}
@@ -10357,7 +9243,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg", 9) == 0)
{
{
-return dev_storage + 1156;
+return dev_storage + 1222;
}
}
@@ -10372,7 +9258,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf", 9) == 0)
{
{
-return dev_storage + 1155;
+return dev_storage + 1221;
}
}
@@ -10387,7 +9273,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe", 9) == 0)
{
{
-return dev_storage + 1154;
+return dev_storage + 1220;
}
}
@@ -10402,7 +9288,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd", 9) == 0)
{
{
-return dev_storage + 1153;
+return dev_storage + 1219;
}
}
@@ -10417,7 +9303,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc", 9) == 0)
{
{
-return dev_storage + 1152;
+return dev_storage + 1218;
}
}
@@ -10432,7 +9318,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb", 9) == 0)
{
{
-return dev_storage + 1151;
+return dev_storage + 1217;
}
}
@@ -10447,7 +9333,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba", 9) == 0)
{
{
-return dev_storage + 1150;
+return dev_storage + 1216;
}
}
@@ -10462,7 +9348,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb9", 9) == 0)
{
{
-return dev_storage + 367;
+return dev_storage + 433;
}
}
@@ -10477,7 +9363,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb8", 9) == 0)
{
{
-return dev_storage + 366;
+return dev_storage + 432;
}
}
@@ -10492,7 +9378,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb7", 9) == 0)
{
{
-return dev_storage + 365;
+return dev_storage + 431;
}
}
@@ -10507,7 +9393,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb6", 9) == 0)
{
{
-return dev_storage + 364;
+return dev_storage + 430;
}
}
@@ -10522,7 +9408,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb5", 9) == 0)
{
{
-return dev_storage + 363;
+return dev_storage + 429;
}
}
@@ -10537,7 +9423,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb4", 9) == 0)
{
{
-return dev_storage + 362;
+return dev_storage + 428;
}
}
@@ -10552,7 +9438,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb3", 9) == 0)
{
{
-return dev_storage + 361;
+return dev_storage + 427;
}
}
@@ -10567,7 +9453,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb2", 9) == 0)
{
{
-return dev_storage + 360;
+return dev_storage + 426;
}
}
@@ -10582,7 +9468,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb1", 9) == 0)
{
{
-return dev_storage + 359;
+return dev_storage + 425;
}
}
@@ -10606,7 +9492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz", 9) == 0)
{
{
-return dev_storage + 759;
+return dev_storage + 825;
}
}
@@ -10621,7 +9507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday", 9) == 0)
{
{
-return dev_storage + 758;
+return dev_storage + 824;
}
}
@@ -10636,7 +9522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax", 9) == 0)
{
{
-return dev_storage + 757;
+return dev_storage + 823;
}
}
@@ -10651,7 +9537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw", 9) == 0)
{
{
-return dev_storage + 756;
+return dev_storage + 822;
}
}
@@ -10666,7 +9552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav", 9) == 0)
{
{
-return dev_storage + 755;
+return dev_storage + 821;
}
}
@@ -10681,7 +9567,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau", 9) == 0)
{
{
-return dev_storage + 754;
+return dev_storage + 820;
}
}
@@ -10696,7 +9582,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat", 9) == 0)
{
{
-return dev_storage + 753;
+return dev_storage + 819;
}
}
@@ -10711,7 +9597,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas", 9) == 0)
{
{
-return dev_storage + 752;
+return dev_storage + 818;
}
}
@@ -10726,7 +9612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar", 9) == 0)
{
{
-return dev_storage + 751;
+return dev_storage + 817;
}
}
@@ -10741,7 +9627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq", 9) == 0)
{
{
-return dev_storage + 750;
+return dev_storage + 816;
}
}
@@ -10756,7 +9642,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap", 9) == 0)
{
{
-return dev_storage + 749;
+return dev_storage + 815;
}
}
@@ -10771,7 +9657,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao", 9) == 0)
{
{
-return dev_storage + 748;
+return dev_storage + 814;
}
}
@@ -10786,7 +9672,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan", 9) == 0)
{
{
-return dev_storage + 747;
+return dev_storage + 813;
}
}
@@ -10801,7 +9687,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam", 9) == 0)
{
{
-return dev_storage + 746;
+return dev_storage + 812;
}
}
@@ -10816,7 +9702,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal", 9) == 0)
{
{
-return dev_storage + 745;
+return dev_storage + 811;
}
}
@@ -10831,7 +9717,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak", 9) == 0)
{
{
-return dev_storage + 744;
+return dev_storage + 810;
}
}
@@ -10846,7 +9732,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj", 9) == 0)
{
{
-return dev_storage + 743;
+return dev_storage + 809;
}
}
@@ -10861,7 +9747,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai", 9) == 0)
{
{
-return dev_storage + 742;
+return dev_storage + 808;
}
}
@@ -10876,7 +9762,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah", 9) == 0)
{
{
-return dev_storage + 741;
+return dev_storage + 807;
}
}
@@ -10891,7 +9777,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag", 9) == 0)
{
{
-return dev_storage + 740;
+return dev_storage + 806;
}
}
@@ -10906,7 +9792,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf", 9) == 0)
{
{
-return dev_storage + 739;
+return dev_storage + 805;
}
}
@@ -10921,7 +9807,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae", 9) == 0)
{
{
-return dev_storage + 738;
+return dev_storage + 804;
}
}
@@ -10936,7 +9822,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad", 9) == 0)
{
{
-return dev_storage + 737;
+return dev_storage + 803;
}
}
@@ -10951,7 +9837,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac", 9) == 0)
{
{
-return dev_storage + 736;
+return dev_storage + 802;
}
}
@@ -10966,7 +9852,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab", 9) == 0)
{
{
-return dev_storage + 735;
+return dev_storage + 801;
}
}
@@ -10981,7 +9867,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa", 9) == 0)
{
{
-return dev_storage + 734;
+return dev_storage + 800;
}
}
@@ -10996,7 +9882,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda9", 9) == 0)
{
{
-return dev_storage + 352;
+return dev_storage + 418;
}
}
@@ -11011,7 +9897,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda8", 9) == 0)
{
{
-return dev_storage + 351;
+return dev_storage + 417;
}
}
@@ -11026,7 +9912,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda7", 9) == 0)
{
{
-return dev_storage + 350;
+return dev_storage + 416;
}
}
@@ -11041,7 +9927,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda6", 9) == 0)
{
{
-return dev_storage + 349;
+return dev_storage + 415;
}
}
@@ -11056,7 +9942,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda5", 9) == 0)
{
{
-return dev_storage + 348;
+return dev_storage + 414;
}
}
@@ -11071,7 +9957,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda4", 9) == 0)
{
{
-return dev_storage + 347;
+return dev_storage + 413;
}
}
@@ -11086,7 +9972,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda3", 9) == 0)
{
{
-return dev_storage + 346;
+return dev_storage + 412;
}
}
@@ -11101,7 +9987,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda2", 9) == 0)
{
{
-return dev_storage + 345;
+return dev_storage + 411;
}
}
@@ -11116,7 +10002,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda1", 9) == 0)
{
{
-return dev_storage + 344;
+return dev_storage + 410;
}
}
@@ -11140,7 +10026,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st99", 9) == 0)
{
{
-return dev_storage + 2481;
+return dev_storage + 2547;
}
}
@@ -11155,7 +10041,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st98", 9) == 0)
{
{
-return dev_storage + 2480;
+return dev_storage + 2546;
}
}
@@ -11170,7 +10056,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st97", 9) == 0)
{
{
-return dev_storage + 2479;
+return dev_storage + 2545;
}
}
@@ -11185,7 +10071,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st96", 9) == 0)
{
{
-return dev_storage + 2478;
+return dev_storage + 2544;
}
}
@@ -11200,7 +10086,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st95", 9) == 0)
{
{
-return dev_storage + 2477;
+return dev_storage + 2543;
}
}
@@ -11215,7 +10101,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st94", 9) == 0)
{
{
-return dev_storage + 2476;
+return dev_storage + 2542;
}
}
@@ -11230,7 +10116,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st93", 9) == 0)
{
{
-return dev_storage + 2475;
+return dev_storage + 2541;
}
}
@@ -11245,7 +10131,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st92", 9) == 0)
{
{
-return dev_storage + 2474;
+return dev_storage + 2540;
}
}
@@ -11260,7 +10146,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st91", 9) == 0)
{
{
-return dev_storage + 2473;
+return dev_storage + 2539;
}
}
@@ -11275,7 +10161,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st90", 9) == 0)
{
{
-return dev_storage + 2472;
+return dev_storage + 2538;
}
}
@@ -11299,7 +10185,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st89", 9) == 0)
{
{
-return dev_storage + 2471;
+return dev_storage + 2537;
}
}
@@ -11314,7 +10200,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st88", 9) == 0)
{
{
-return dev_storage + 2470;
+return dev_storage + 2536;
}
}
@@ -11329,7 +10215,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st87", 9) == 0)
{
{
-return dev_storage + 2469;
+return dev_storage + 2535;
}
}
@@ -11344,7 +10230,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st86", 9) == 0)
{
{
-return dev_storage + 2468;
+return dev_storage + 2534;
}
}
@@ -11359,7 +10245,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st85", 9) == 0)
{
{
-return dev_storage + 2467;
+return dev_storage + 2533;
}
}
@@ -11374,7 +10260,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st84", 9) == 0)
{
{
-return dev_storage + 2466;
+return dev_storage + 2532;
}
}
@@ -11389,7 +10275,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st83", 9) == 0)
{
{
-return dev_storage + 2465;
+return dev_storage + 2531;
}
}
@@ -11404,7 +10290,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st82", 9) == 0)
{
{
-return dev_storage + 2464;
+return dev_storage + 2530;
}
}
@@ -11419,7 +10305,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st81", 9) == 0)
{
{
-return dev_storage + 2463;
+return dev_storage + 2529;
}
}
@@ -11434,7 +10320,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st80", 9) == 0)
{
{
-return dev_storage + 2462;
+return dev_storage + 2528;
}
}
@@ -11458,7 +10344,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st79", 9) == 0)
{
{
-return dev_storage + 2461;
+return dev_storage + 2527;
}
}
@@ -11473,7 +10359,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st78", 9) == 0)
{
{
-return dev_storage + 2460;
+return dev_storage + 2526;
}
}
@@ -11488,7 +10374,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st77", 9) == 0)
{
{
-return dev_storage + 2459;
+return dev_storage + 2525;
}
}
@@ -11503,7 +10389,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st76", 9) == 0)
{
{
-return dev_storage + 2458;
+return dev_storage + 2524;
}
}
@@ -11518,7 +10404,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st75", 9) == 0)
{
{
-return dev_storage + 2457;
+return dev_storage + 2523;
}
}
@@ -11533,7 +10419,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st74", 9) == 0)
{
{
-return dev_storage + 2456;
+return dev_storage + 2522;
}
}
@@ -11548,7 +10434,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st73", 9) == 0)
{
{
-return dev_storage + 2455;
+return dev_storage + 2521;
}
}
@@ -11563,7 +10449,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st72", 9) == 0)
{
{
-return dev_storage + 2454;
+return dev_storage + 2520;
}
}
@@ -11578,7 +10464,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st71", 9) == 0)
{
{
-return dev_storage + 2453;
+return dev_storage + 2519;
}
}
@@ -11593,7 +10479,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st70", 9) == 0)
{
{
-return dev_storage + 2452;
+return dev_storage + 2518;
}
}
@@ -11617,7 +10503,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st69", 9) == 0)
{
{
-return dev_storage + 2451;
+return dev_storage + 2517;
}
}
@@ -11632,7 +10518,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st68", 9) == 0)
{
{
-return dev_storage + 2450;
+return dev_storage + 2516;
}
}
@@ -11647,7 +10533,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st67", 9) == 0)
{
{
-return dev_storage + 2449;
+return dev_storage + 2515;
}
}
@@ -11662,7 +10548,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st66", 9) == 0)
{
{
-return dev_storage + 2448;
+return dev_storage + 2514;
}
}
@@ -11677,7 +10563,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st65", 9) == 0)
{
{
-return dev_storage + 2447;
+return dev_storage + 2513;
}
}
@@ -11692,7 +10578,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st64", 9) == 0)
{
{
-return dev_storage + 2446;
+return dev_storage + 2512;
}
}
@@ -11707,7 +10593,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st63", 9) == 0)
{
{
-return dev_storage + 2445;
+return dev_storage + 2511;
}
}
@@ -11722,7 +10608,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st62", 9) == 0)
{
{
-return dev_storage + 2444;
+return dev_storage + 2510;
}
}
@@ -11737,7 +10623,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st61", 9) == 0)
{
{
-return dev_storage + 2443;
+return dev_storage + 2509;
}
}
@@ -11752,7 +10638,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st60", 9) == 0)
{
{
-return dev_storage + 2442;
+return dev_storage + 2508;
}
}
@@ -11776,7 +10662,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st59", 9) == 0)
{
{
-return dev_storage + 2441;
+return dev_storage + 2507;
}
}
@@ -11791,7 +10677,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st58", 9) == 0)
{
{
-return dev_storage + 2440;
+return dev_storage + 2506;
}
}
@@ -11806,7 +10692,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st57", 9) == 0)
{
{
-return dev_storage + 2439;
+return dev_storage + 2505;
}
}
@@ -11821,7 +10707,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st56", 9) == 0)
{
{
-return dev_storage + 2438;
+return dev_storage + 2504;
}
}
@@ -11836,7 +10722,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st55", 9) == 0)
{
{
-return dev_storage + 2437;
+return dev_storage + 2503;
}
}
@@ -11851,7 +10737,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st54", 9) == 0)
{
{
-return dev_storage + 2436;
+return dev_storage + 2502;
}
}
@@ -11866,7 +10752,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st53", 9) == 0)
{
{
-return dev_storage + 2435;
+return dev_storage + 2501;
}
}
@@ -11881,7 +10767,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st52", 9) == 0)
{
{
-return dev_storage + 2434;
+return dev_storage + 2500;
}
}
@@ -11896,7 +10782,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st51", 9) == 0)
{
{
-return dev_storage + 2433;
+return dev_storage + 2499;
}
}
@@ -11911,7 +10797,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st50", 9) == 0)
{
{
-return dev_storage + 2432;
+return dev_storage + 2498;
}
}
@@ -11935,7 +10821,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st49", 9) == 0)
{
{
-return dev_storage + 2431;
+return dev_storage + 2497;
}
}
@@ -11950,7 +10836,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st48", 9) == 0)
{
{
-return dev_storage + 2430;
+return dev_storage + 2496;
}
}
@@ -11965,7 +10851,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st47", 9) == 0)
{
{
-return dev_storage + 2429;
+return dev_storage + 2495;
}
}
@@ -11980,7 +10866,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st46", 9) == 0)
{
{
-return dev_storage + 2428;
+return dev_storage + 2494;
}
}
@@ -11995,7 +10881,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st45", 9) == 0)
{
{
-return dev_storage + 2427;
+return dev_storage + 2493;
}
}
@@ -12010,7 +10896,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st44", 9) == 0)
{
{
-return dev_storage + 2426;
+return dev_storage + 2492;
}
}
@@ -12025,7 +10911,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st43", 9) == 0)
{
{
-return dev_storage + 2425;
+return dev_storage + 2491;
}
}
@@ -12040,7 +10926,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st42", 9) == 0)
{
{
-return dev_storage + 2424;
+return dev_storage + 2490;
}
}
@@ -12055,7 +10941,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st41", 9) == 0)
{
{
-return dev_storage + 2423;
+return dev_storage + 2489;
}
}
@@ -12070,7 +10956,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st40", 9) == 0)
{
{
-return dev_storage + 2422;
+return dev_storage + 2488;
}
}
@@ -12094,7 +10980,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st39", 9) == 0)
{
{
-return dev_storage + 2421;
+return dev_storage + 2487;
}
}
@@ -12109,7 +10995,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st38", 9) == 0)
{
{
-return dev_storage + 2420;
+return dev_storage + 2486;
}
}
@@ -12124,7 +11010,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st37", 9) == 0)
{
{
-return dev_storage + 2419;
+return dev_storage + 2485;
}
}
@@ -12139,7 +11025,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st36", 9) == 0)
{
{
-return dev_storage + 2418;
+return dev_storage + 2484;
}
}
@@ -12154,7 +11040,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st35", 9) == 0)
{
{
-return dev_storage + 2417;
+return dev_storage + 2483;
}
}
@@ -12169,7 +11055,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st34", 9) == 0)
{
{
-return dev_storage + 2416;
+return dev_storage + 2482;
}
}
@@ -12184,7 +11070,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st33", 9) == 0)
{
{
-return dev_storage + 2415;
+return dev_storage + 2481;
}
}
@@ -12199,7 +11085,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st32", 9) == 0)
{
{
-return dev_storage + 2414;
+return dev_storage + 2480;
}
}
@@ -12214,7 +11100,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st31", 9) == 0)
{
{
-return dev_storage + 2413;
+return dev_storage + 2479;
}
}
@@ -12229,7 +11115,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st30", 9) == 0)
{
{
-return dev_storage + 2412;
+return dev_storage + 2478;
}
}
@@ -12253,7 +11139,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st29", 9) == 0)
{
{
-return dev_storage + 2411;
+return dev_storage + 2477;
}
}
@@ -12268,7 +11154,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st28", 9) == 0)
{
{
-return dev_storage + 2410;
+return dev_storage + 2476;
}
}
@@ -12283,7 +11169,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st27", 9) == 0)
{
{
-return dev_storage + 2409;
+return dev_storage + 2475;
}
}
@@ -12298,7 +11184,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st26", 9) == 0)
{
{
-return dev_storage + 2408;
+return dev_storage + 2474;
}
}
@@ -12313,7 +11199,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st25", 9) == 0)
{
{
-return dev_storage + 2407;
+return dev_storage + 2473;
}
}
@@ -12328,7 +11214,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st24", 9) == 0)
{
{
-return dev_storage + 2406;
+return dev_storage + 2472;
}
}
@@ -12343,7 +11229,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st23", 9) == 0)
{
{
-return dev_storage + 2405;
+return dev_storage + 2471;
}
}
@@ -12358,7 +11244,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st22", 9) == 0)
{
{
-return dev_storage + 2404;
+return dev_storage + 2470;
}
}
@@ -12373,7 +11259,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st21", 9) == 0)
{
{
-return dev_storage + 2403;
+return dev_storage + 2469;
}
}
@@ -12388,7 +11274,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st20", 9) == 0)
{
{
-return dev_storage + 2402;
+return dev_storage + 2468;
}
}
@@ -12412,7 +11298,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st19", 9) == 0)
{
{
-return dev_storage + 2401;
+return dev_storage + 2467;
}
}
@@ -12427,7 +11313,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st18", 9) == 0)
{
{
-return dev_storage + 2400;
+return dev_storage + 2466;
}
}
@@ -12442,7 +11328,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st17", 9) == 0)
{
{
-return dev_storage + 2399;
+return dev_storage + 2465;
}
}
@@ -12457,7 +11343,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st16", 9) == 0)
{
{
-return dev_storage + 2398;
+return dev_storage + 2464;
}
}
@@ -12475,7 +11361,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st15", 9) == 0)
{
{
-return dev_storage + 2397;
+return dev_storage + 2463;
}
}
@@ -12490,7 +11376,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr15", 9) == 0)
{
{
-return dev_storage + 2381;
+return dev_storage + 2447;
}
}
@@ -12529,7 +11415,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st14", 9) == 0)
{
{
-return dev_storage + 2396;
+return dev_storage + 2462;
}
}
@@ -12544,7 +11430,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr14", 9) == 0)
{
{
-return dev_storage + 2380;
+return dev_storage + 2446;
}
}
@@ -12583,7 +11469,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st13", 9) == 0)
{
{
-return dev_storage + 2395;
+return dev_storage + 2461;
}
}
@@ -12598,7 +11484,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr13", 9) == 0)
{
{
-return dev_storage + 2379;
+return dev_storage + 2445;
}
}
@@ -12637,7 +11523,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st12", 9) == 0)
{
{
-return dev_storage + 2394;
+return dev_storage + 2460;
}
}
@@ -12652,7 +11538,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr12", 9) == 0)
{
{
-return dev_storage + 2378;
+return dev_storage + 2444;
}
}
@@ -12691,7 +11577,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st11", 9) == 0)
{
{
-return dev_storage + 2393;
+return dev_storage + 2459;
}
}
@@ -12706,7 +11592,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr11", 9) == 0)
{
{
-return dev_storage + 2377;
+return dev_storage + 2443;
}
}
@@ -12745,7 +11631,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st10", 9) == 0)
{
{
-return dev_storage + 2392;
+return dev_storage + 2458;
}
}
@@ -12760,7 +11646,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr10", 9) == 0)
{
{
-return dev_storage + 2376;
+return dev_storage + 2442;
}
}
@@ -12832,7 +11718,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz9", 10) == 0)
{
{
-return dev_storage + 1975;
+return dev_storage + 2041;
}
}
@@ -12847,7 +11733,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz9", 10) == 0)
{
{
-return dev_storage + 1559;
+return dev_storage + 1625;
}
}
@@ -12862,7 +11748,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz9", 10) == 0)
{
{
-return dev_storage + 1143;
+return dev_storage + 1209;
}
}
@@ -12886,7 +11772,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy9", 10) == 0)
{
{
-return dev_storage + 1960;
+return dev_storage + 2026;
}
}
@@ -12901,7 +11787,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby9", 10) == 0)
{
{
-return dev_storage + 1544;
+return dev_storage + 1610;
}
}
@@ -12916,7 +11802,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday9", 10) == 0)
{
{
-return dev_storage + 1128;
+return dev_storage + 1194;
}
}
@@ -12940,7 +11826,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx9", 10) == 0)
{
{
-return dev_storage + 2359;
+return dev_storage + 2425;
}
}
@@ -12955,7 +11841,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx9", 10) == 0)
{
{
-return dev_storage + 1945;
+return dev_storage + 2011;
}
}
@@ -12970,7 +11856,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx9", 10) == 0)
{
{
-return dev_storage + 1529;
+return dev_storage + 1595;
}
}
@@ -12985,7 +11871,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax9", 10) == 0)
{
{
-return dev_storage + 1113;
+return dev_storage + 1179;
}
}
@@ -13009,7 +11895,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw9", 10) == 0)
{
{
-return dev_storage + 2344;
+return dev_storage + 2410;
}
}
@@ -13024,7 +11910,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw9", 10) == 0)
{
{
-return dev_storage + 1930;
+return dev_storage + 1996;
}
}
@@ -13039,7 +11925,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw9", 10) == 0)
{
{
-return dev_storage + 1514;
+return dev_storage + 1580;
}
}
@@ -13054,7 +11940,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw9", 10) == 0)
{
{
-return dev_storage + 1098;
+return dev_storage + 1164;
}
}
@@ -13078,7 +11964,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv9", 10) == 0)
{
{
-return dev_storage + 2329;
+return dev_storage + 2395;
}
}
@@ -13093,7 +11979,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv9", 10) == 0)
{
{
-return dev_storage + 1915;
+return dev_storage + 1981;
}
}
@@ -13108,7 +11994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv9", 10) == 0)
{
{
-return dev_storage + 1499;
+return dev_storage + 1565;
}
}
@@ -13123,7 +12009,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav9", 10) == 0)
{
{
-return dev_storage + 1083;
+return dev_storage + 1149;
}
}
@@ -13147,7 +12033,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu9", 10) == 0)
{
{
-return dev_storage + 2314;
+return dev_storage + 2380;
}
}
@@ -13162,7 +12048,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu9", 10) == 0)
{
{
-return dev_storage + 1900;
+return dev_storage + 1966;
}
}
@@ -13177,7 +12063,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu9", 10) == 0)
{
{
-return dev_storage + 1484;
+return dev_storage + 1550;
}
}
@@ -13192,7 +12078,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau9", 10) == 0)
{
{
-return dev_storage + 1068;
+return dev_storage + 1134;
}
}
@@ -13216,7 +12102,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt9", 10) == 0)
{
{
-return dev_storage + 2299;
+return dev_storage + 2365;
}
}
@@ -13231,7 +12117,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct9", 10) == 0)
{
{
-return dev_storage + 1885;
+return dev_storage + 1951;
}
}
@@ -13246,7 +12132,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt9", 10) == 0)
{
{
-return dev_storage + 1469;
+return dev_storage + 1535;
}
}
@@ -13261,7 +12147,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat9", 10) == 0)
{
{
-return dev_storage + 1053;
+return dev_storage + 1119;
}
}
@@ -13300,7 +12186,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds9", 10) == 0)
{
{
-return dev_storage + 2284;
+return dev_storage + 2350;
}
}
@@ -13315,7 +12201,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs9", 10) == 0)
{
{
-return dev_storage + 1870;
+return dev_storage + 1936;
}
}
@@ -13330,7 +12216,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs9", 10) == 0)
{
{
-return dev_storage + 1454;
+return dev_storage + 1520;
}
}
@@ -13345,7 +12231,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas9", 10) == 0)
{
{
-return dev_storage + 1038;
+return dev_storage + 1104;
}
}
@@ -13369,7 +12255,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr9", 10) == 0)
{
{
-return dev_storage + 2269;
+return dev_storage + 2335;
}
}
@@ -13384,7 +12270,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr9", 10) == 0)
{
{
-return dev_storage + 1855;
+return dev_storage + 1921;
}
}
@@ -13399,7 +12285,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr9", 10) == 0)
{
{
-return dev_storage + 1439;
+return dev_storage + 1505;
}
}
@@ -13414,7 +12300,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar9", 10) == 0)
{
{
-return dev_storage + 1023;
+return dev_storage + 1089;
}
}
@@ -13438,7 +12324,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq9", 10) == 0)
{
{
-return dev_storage + 2254;
+return dev_storage + 2320;
}
}
@@ -13453,7 +12339,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq9", 10) == 0)
{
{
-return dev_storage + 1840;
+return dev_storage + 1906;
}
}
@@ -13468,7 +12354,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq9", 10) == 0)
{
{
-return dev_storage + 1424;
+return dev_storage + 1490;
}
}
@@ -13483,7 +12369,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq9", 10) == 0)
{
{
-return dev_storage + 1008;
+return dev_storage + 1074;
}
}
@@ -13507,7 +12393,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp9", 10) == 0)
{
{
-return dev_storage + 2239;
+return dev_storage + 2305;
}
}
@@ -13522,7 +12408,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp9", 10) == 0)
{
{
-return dev_storage + 1825;
+return dev_storage + 1891;
}
}
@@ -13537,7 +12423,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp9", 10) == 0)
{
{
-return dev_storage + 1409;
+return dev_storage + 1475;
}
}
@@ -13552,7 +12438,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap9", 10) == 0)
{
{
-return dev_storage + 993;
+return dev_storage + 1059;
}
}
@@ -13576,7 +12462,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo9", 10) == 0)
{
{
-return dev_storage + 2224;
+return dev_storage + 2290;
}
}
@@ -13591,7 +12477,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco9", 10) == 0)
{
{
-return dev_storage + 1810;
+return dev_storage + 1876;
}
}
@@ -13606,7 +12492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo9", 10) == 0)
{
{
-return dev_storage + 1394;
+return dev_storage + 1460;
}
}
@@ -13621,7 +12507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao9", 10) == 0)
{
{
-return dev_storage + 978;
+return dev_storage + 1044;
}
}
@@ -13645,7 +12531,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn9", 10) == 0)
{
{
-return dev_storage + 2209;
+return dev_storage + 2275;
}
}
@@ -13660,7 +12546,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn9", 10) == 0)
{
{
-return dev_storage + 1795;
+return dev_storage + 1861;
}
}
@@ -13675,7 +12561,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn9", 10) == 0)
{
{
-return dev_storage + 1379;
+return dev_storage + 1445;
}
}
@@ -13690,7 +12576,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan9", 10) == 0)
{
{
-return dev_storage + 963;
+return dev_storage + 1029;
}
}
@@ -13710,11 +12596,26 @@ return NULL;
case 'm':
switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym9", 10) == 0)
+ {
+{
+return dev_storage + 312;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'd':
if (strncmp (KR_keyword, "/dev/sddm9", 10) == 0)
{
{
-return dev_storage + 2194;
+return dev_storage + 2260;
}
}
@@ -13729,7 +12630,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm9", 10) == 0)
{
{
-return dev_storage + 1780;
+return dev_storage + 1846;
}
}
@@ -13744,7 +12645,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm9", 10) == 0)
{
{
-return dev_storage + 1364;
+return dev_storage + 1430;
}
}
@@ -13759,7 +12660,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam9", 10) == 0)
{
{
-return dev_storage + 948;
+return dev_storage + 1014;
}
}
@@ -13783,7 +12684,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl9", 10) == 0)
{
{
-return dev_storage + 2179;
+return dev_storage + 2245;
}
}
@@ -13798,7 +12699,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl9", 10) == 0)
{
{
-return dev_storage + 1765;
+return dev_storage + 1831;
}
}
@@ -13813,7 +12714,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl9", 10) == 0)
{
{
-return dev_storage + 1349;
+return dev_storage + 1415;
}
}
@@ -13828,7 +12729,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal9", 10) == 0)
{
{
-return dev_storage + 933;
+return dev_storage + 999;
}
}
@@ -13852,7 +12753,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk9", 10) == 0)
{
{
-return dev_storage + 2164;
+return dev_storage + 2230;
}
}
@@ -13867,7 +12768,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck9", 10) == 0)
{
{
-return dev_storage + 1750;
+return dev_storage + 1816;
}
}
@@ -13882,7 +12783,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk9", 10) == 0)
{
{
-return dev_storage + 1334;
+return dev_storage + 1400;
}
}
@@ -13897,7 +12798,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak9", 10) == 0)
{
{
-return dev_storage + 918;
+return dev_storage + 984;
}
}
@@ -13921,7 +12822,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj9", 10) == 0)
{
{
-return dev_storage + 2149;
+return dev_storage + 2215;
}
}
@@ -13936,7 +12837,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj9", 10) == 0)
{
{
-return dev_storage + 1735;
+return dev_storage + 1801;
}
}
@@ -13951,7 +12852,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj9", 10) == 0)
{
{
-return dev_storage + 1319;
+return dev_storage + 1385;
}
}
@@ -13966,7 +12867,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj9", 10) == 0)
{
{
-return dev_storage + 903;
+return dev_storage + 969;
}
}
@@ -13990,7 +12891,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi9", 10) == 0)
{
{
-return dev_storage + 2134;
+return dev_storage + 2200;
}
}
@@ -14005,7 +12906,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci9", 10) == 0)
{
{
-return dev_storage + 1720;
+return dev_storage + 1786;
}
}
@@ -14020,7 +12921,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi9", 10) == 0)
{
{
-return dev_storage + 1304;
+return dev_storage + 1370;
}
}
@@ -14035,7 +12936,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai9", 10) == 0)
{
{
-return dev_storage + 888;
+return dev_storage + 954;
}
}
@@ -14059,7 +12960,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh9", 10) == 0)
{
{
-return dev_storage + 2119;
+return dev_storage + 2185;
}
}
@@ -14074,7 +12975,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch9", 10) == 0)
{
{
-return dev_storage + 1705;
+return dev_storage + 1771;
}
}
@@ -14089,7 +12990,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh9", 10) == 0)
{
{
-return dev_storage + 1289;
+return dev_storage + 1355;
}
}
@@ -14104,7 +13005,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah9", 10) == 0)
{
{
-return dev_storage + 873;
+return dev_storage + 939;
}
}
@@ -14128,7 +13029,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg9", 10) == 0)
{
{
-return dev_storage + 2104;
+return dev_storage + 2170;
}
}
@@ -14143,7 +13044,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg9", 10) == 0)
{
{
-return dev_storage + 1690;
+return dev_storage + 1756;
}
}
@@ -14158,7 +13059,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg9", 10) == 0)
{
{
-return dev_storage + 1274;
+return dev_storage + 1340;
}
}
@@ -14173,7 +13074,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag9", 10) == 0)
{
{
-return dev_storage + 858;
+return dev_storage + 924;
}
}
@@ -14197,7 +13098,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf9", 10) == 0)
{
{
-return dev_storage + 2089;
+return dev_storage + 2155;
}
}
@@ -14212,7 +13113,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf9", 10) == 0)
{
{
-return dev_storage + 1675;
+return dev_storage + 1741;
}
}
@@ -14227,7 +13128,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf9", 10) == 0)
{
{
-return dev_storage + 1259;
+return dev_storage + 1325;
}
}
@@ -14242,7 +13143,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf9", 10) == 0)
{
{
-return dev_storage + 843;
+return dev_storage + 909;
}
}
@@ -14266,7 +13167,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde9", 10) == 0)
{
{
-return dev_storage + 2074;
+return dev_storage + 2140;
}
}
@@ -14281,7 +13182,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce9", 10) == 0)
{
{
-return dev_storage + 1660;
+return dev_storage + 1726;
}
}
@@ -14296,7 +13197,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe9", 10) == 0)
{
{
-return dev_storage + 1244;
+return dev_storage + 1310;
}
}
@@ -14311,7 +13212,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae9", 10) == 0)
{
{
-return dev_storage + 828;
+return dev_storage + 894;
}
}
@@ -14335,7 +13236,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd9", 10) == 0)
{
{
-return dev_storage + 2059;
+return dev_storage + 2125;
}
}
@@ -14350,7 +13251,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd9", 10) == 0)
{
{
-return dev_storage + 1645;
+return dev_storage + 1711;
}
}
@@ -14365,7 +13266,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd9", 10) == 0)
{
{
-return dev_storage + 1229;
+return dev_storage + 1295;
}
}
@@ -14380,7 +13281,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad9", 10) == 0)
{
{
-return dev_storage + 813;
+return dev_storage + 879;
}
}
@@ -14404,7 +13305,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc9", 10) == 0)
{
{
-return dev_storage + 2044;
+return dev_storage + 2110;
}
}
@@ -14419,7 +13320,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc9", 10) == 0)
{
{
-return dev_storage + 1630;
+return dev_storage + 1696;
}
}
@@ -14434,7 +13335,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc9", 10) == 0)
{
{
-return dev_storage + 1214;
+return dev_storage + 1280;
}
}
@@ -14449,7 +13350,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac9", 10) == 0)
{
{
-return dev_storage + 798;
+return dev_storage + 864;
}
}
@@ -14473,7 +13374,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb9", 10) == 0)
{
{
-return dev_storage + 2029;
+return dev_storage + 2095;
}
}
@@ -14488,7 +13389,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb9", 10) == 0)
{
{
-return dev_storage + 1615;
+return dev_storage + 1681;
}
}
@@ -14503,7 +13404,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb9", 10) == 0)
{
{
-return dev_storage + 1199;
+return dev_storage + 1265;
}
}
@@ -14518,7 +13419,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab9", 10) == 0)
{
{
-return dev_storage + 783;
+return dev_storage + 849;
}
}
@@ -14542,7 +13443,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda9", 10) == 0)
{
{
-return dev_storage + 2014;
+return dev_storage + 2080;
}
}
@@ -14557,7 +13458,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca9", 10) == 0)
{
{
-return dev_storage + 1600;
+return dev_storage + 1666;
}
}
@@ -14572,7 +13473,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba9", 10) == 0)
{
{
-return dev_storage + 1184;
+return dev_storage + 1250;
}
}
@@ -14587,7 +13488,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa9", 10) == 0)
{
{
-return dev_storage + 768;
+return dev_storage + 834;
}
}
@@ -14608,7 +13509,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS9", 10) == 0)
{
{
-return dev_storage + 2520;
+return dev_storage + 2586;
}
}
@@ -14623,7 +13524,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst99", 10) == 0)
{
{
-return dev_storage + 205;
+return dev_storage + 206;
}
}
@@ -14638,7 +13539,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst89", 10) == 0)
{
{
-return dev_storage + 195;
+return dev_storage + 196;
}
}
@@ -14653,7 +13554,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst79", 10) == 0)
{
{
-return dev_storage + 185;
+return dev_storage + 186;
}
}
@@ -14668,7 +13569,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst69", 10) == 0)
{
{
-return dev_storage + 175;
+return dev_storage + 176;
}
}
@@ -14686,7 +13587,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty59", 10) == 0)
{
{
-return dev_storage + 296;
+return dev_storage + 298;
}
}
@@ -14701,7 +13602,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst59", 10) == 0)
{
{
-return dev_storage + 165;
+return dev_storage + 166;
}
}
@@ -14725,7 +13626,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty49", 10) == 0)
{
{
-return dev_storage + 286;
+return dev_storage + 288;
}
}
@@ -14740,7 +13641,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst49", 10) == 0)
{
{
-return dev_storage + 155;
+return dev_storage + 156;
}
}
@@ -14764,7 +13665,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty39", 10) == 0)
{
{
-return dev_storage + 276;
+return dev_storage + 278;
}
}
@@ -14779,7 +13680,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst39", 10) == 0)
{
{
-return dev_storage + 145;
+return dev_storage + 146;
}
}
@@ -14803,7 +13704,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty29", 10) == 0)
{
{
-return dev_storage + 266;
+return dev_storage + 268;
}
}
@@ -14818,7 +13719,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst29", 10) == 0)
{
{
-return dev_storage + 135;
+return dev_storage + 136;
}
}
@@ -14842,7 +13743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st119", 10) == 0)
{
{
-return dev_storage + 2501;
+return dev_storage + 2567;
}
}
@@ -14857,7 +13758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty19", 10) == 0)
{
{
-return dev_storage + 256;
+return dev_storage + 258;
}
}
@@ -14872,7 +13773,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst19", 10) == 0)
{
{
-return dev_storage + 125;
+return dev_storage + 126;
}
}
@@ -14893,7 +13794,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st109", 10) == 0)
{
{
-return dev_storage + 2491;
+return dev_storage + 2557;
}
}
@@ -14920,7 +13821,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz8", 10) == 0)
{
{
-return dev_storage + 1974;
+return dev_storage + 2040;
}
}
@@ -14935,7 +13836,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz8", 10) == 0)
{
{
-return dev_storage + 1558;
+return dev_storage + 1624;
}
}
@@ -14950,7 +13851,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz8", 10) == 0)
{
{
-return dev_storage + 1142;
+return dev_storage + 1208;
}
}
@@ -14974,7 +13875,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy8", 10) == 0)
{
{
-return dev_storage + 1959;
+return dev_storage + 2025;
}
}
@@ -14989,7 +13890,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby8", 10) == 0)
{
{
-return dev_storage + 1543;
+return dev_storage + 1609;
}
}
@@ -15004,7 +13905,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday8", 10) == 0)
{
{
-return dev_storage + 1127;
+return dev_storage + 1193;
}
}
@@ -15028,7 +13929,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx8", 10) == 0)
{
{
-return dev_storage + 2358;
+return dev_storage + 2424;
}
}
@@ -15043,7 +13944,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx8", 10) == 0)
{
{
-return dev_storage + 1944;
+return dev_storage + 2010;
}
}
@@ -15058,7 +13959,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx8", 10) == 0)
{
{
-return dev_storage + 1528;
+return dev_storage + 1594;
}
}
@@ -15073,7 +13974,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax8", 10) == 0)
{
{
-return dev_storage + 1112;
+return dev_storage + 1178;
}
}
@@ -15097,7 +13998,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw8", 10) == 0)
{
{
-return dev_storage + 2343;
+return dev_storage + 2409;
}
}
@@ -15112,7 +14013,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw8", 10) == 0)
{
{
-return dev_storage + 1929;
+return dev_storage + 1995;
}
}
@@ -15127,7 +14028,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw8", 10) == 0)
{
{
-return dev_storage + 1513;
+return dev_storage + 1579;
}
}
@@ -15142,7 +14043,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw8", 10) == 0)
{
{
-return dev_storage + 1097;
+return dev_storage + 1163;
}
}
@@ -15166,7 +14067,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv8", 10) == 0)
{
{
-return dev_storage + 2328;
+return dev_storage + 2394;
}
}
@@ -15181,7 +14082,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv8", 10) == 0)
{
{
-return dev_storage + 1914;
+return dev_storage + 1980;
}
}
@@ -15196,7 +14097,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv8", 10) == 0)
{
{
-return dev_storage + 1498;
+return dev_storage + 1564;
}
}
@@ -15211,7 +14112,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav8", 10) == 0)
{
{
-return dev_storage + 1082;
+return dev_storage + 1148;
}
}
@@ -15235,7 +14136,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu8", 10) == 0)
{
{
-return dev_storage + 2313;
+return dev_storage + 2379;
}
}
@@ -15250,7 +14151,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu8", 10) == 0)
{
{
-return dev_storage + 1899;
+return dev_storage + 1965;
}
}
@@ -15265,7 +14166,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu8", 10) == 0)
{
{
-return dev_storage + 1483;
+return dev_storage + 1549;
}
}
@@ -15280,7 +14181,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau8", 10) == 0)
{
{
-return dev_storage + 1067;
+return dev_storage + 1133;
}
}
@@ -15304,7 +14205,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt8", 10) == 0)
{
{
-return dev_storage + 2298;
+return dev_storage + 2364;
}
}
@@ -15319,7 +14220,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct8", 10) == 0)
{
{
-return dev_storage + 1884;
+return dev_storage + 1950;
}
}
@@ -15334,7 +14235,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt8", 10) == 0)
{
{
-return dev_storage + 1468;
+return dev_storage + 1534;
}
}
@@ -15349,7 +14250,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat8", 10) == 0)
{
{
-return dev_storage + 1052;
+return dev_storage + 1118;
}
}
@@ -15388,7 +14289,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds8", 10) == 0)
{
{
-return dev_storage + 2283;
+return dev_storage + 2349;
}
}
@@ -15403,7 +14304,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs8", 10) == 0)
{
{
-return dev_storage + 1869;
+return dev_storage + 1935;
}
}
@@ -15418,7 +14319,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs8", 10) == 0)
{
{
-return dev_storage + 1453;
+return dev_storage + 1519;
}
}
@@ -15433,7 +14334,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas8", 10) == 0)
{
{
-return dev_storage + 1037;
+return dev_storage + 1103;
}
}
@@ -15457,7 +14358,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr8", 10) == 0)
{
{
-return dev_storage + 2268;
+return dev_storage + 2334;
}
}
@@ -15472,7 +14373,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr8", 10) == 0)
{
{
-return dev_storage + 1854;
+return dev_storage + 1920;
}
}
@@ -15487,7 +14388,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr8", 10) == 0)
{
{
-return dev_storage + 1438;
+return dev_storage + 1504;
}
}
@@ -15502,7 +14403,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar8", 10) == 0)
{
{
-return dev_storage + 1022;
+return dev_storage + 1088;
}
}
@@ -15526,7 +14427,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq8", 10) == 0)
{
{
-return dev_storage + 2253;
+return dev_storage + 2319;
}
}
@@ -15541,7 +14442,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq8", 10) == 0)
{
{
-return dev_storage + 1839;
+return dev_storage + 1905;
}
}
@@ -15556,7 +14457,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq8", 10) == 0)
{
{
-return dev_storage + 1423;
+return dev_storage + 1489;
}
}
@@ -15571,7 +14472,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq8", 10) == 0)
{
{
-return dev_storage + 1007;
+return dev_storage + 1073;
}
}
@@ -15595,7 +14496,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp8", 10) == 0)
{
{
-return dev_storage + 2238;
+return dev_storage + 2304;
}
}
@@ -15610,7 +14511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp8", 10) == 0)
{
{
-return dev_storage + 1824;
+return dev_storage + 1890;
}
}
@@ -15625,7 +14526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp8", 10) == 0)
{
{
-return dev_storage + 1408;
+return dev_storage + 1474;
}
}
@@ -15640,7 +14541,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap8", 10) == 0)
{
{
-return dev_storage + 992;
+return dev_storage + 1058;
}
}
@@ -15664,7 +14565,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo8", 10) == 0)
{
{
-return dev_storage + 2223;
+return dev_storage + 2289;
}
}
@@ -15679,7 +14580,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco8", 10) == 0)
{
{
-return dev_storage + 1809;
+return dev_storage + 1875;
}
}
@@ -15694,7 +14595,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo8", 10) == 0)
{
{
-return dev_storage + 1393;
+return dev_storage + 1459;
}
}
@@ -15709,7 +14610,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao8", 10) == 0)
{
{
-return dev_storage + 977;
+return dev_storage + 1043;
}
}
@@ -15733,7 +14634,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn8", 10) == 0)
{
{
-return dev_storage + 2208;
+return dev_storage + 2274;
}
}
@@ -15748,7 +14649,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn8", 10) == 0)
{
{
-return dev_storage + 1794;
+return dev_storage + 1860;
}
}
@@ -15763,7 +14664,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn8", 10) == 0)
{
{
-return dev_storage + 1378;
+return dev_storage + 1444;
}
}
@@ -15778,7 +14679,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan8", 10) == 0)
{
{
-return dev_storage + 962;
+return dev_storage + 1028;
}
}
@@ -15798,11 +14699,26 @@ return NULL;
case 'm':
switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym8", 10) == 0)
+ {
+{
+return dev_storage + 311;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'd':
if (strncmp (KR_keyword, "/dev/sddm8", 10) == 0)
{
{
-return dev_storage + 2193;
+return dev_storage + 2259;
}
}
@@ -15817,7 +14733,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm8", 10) == 0)
{
{
-return dev_storage + 1779;
+return dev_storage + 1845;
}
}
@@ -15832,7 +14748,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm8", 10) == 0)
{
{
-return dev_storage + 1363;
+return dev_storage + 1429;
}
}
@@ -15847,7 +14763,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam8", 10) == 0)
{
{
-return dev_storage + 947;
+return dev_storage + 1013;
}
}
@@ -15871,7 +14787,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl8", 10) == 0)
{
{
-return dev_storage + 2178;
+return dev_storage + 2244;
}
}
@@ -15886,7 +14802,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl8", 10) == 0)
{
{
-return dev_storage + 1764;
+return dev_storage + 1830;
}
}
@@ -15901,7 +14817,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl8", 10) == 0)
{
{
-return dev_storage + 1348;
+return dev_storage + 1414;
}
}
@@ -15916,7 +14832,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal8", 10) == 0)
{
{
-return dev_storage + 932;
+return dev_storage + 998;
}
}
@@ -15940,7 +14856,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk8", 10) == 0)
{
{
-return dev_storage + 2163;
+return dev_storage + 2229;
}
}
@@ -15955,7 +14871,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck8", 10) == 0)
{
{
-return dev_storage + 1749;
+return dev_storage + 1815;
}
}
@@ -15970,7 +14886,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk8", 10) == 0)
{
{
-return dev_storage + 1333;
+return dev_storage + 1399;
}
}
@@ -15985,7 +14901,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak8", 10) == 0)
{
{
-return dev_storage + 917;
+return dev_storage + 983;
}
}
@@ -16009,7 +14925,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj8", 10) == 0)
{
{
-return dev_storage + 2148;
+return dev_storage + 2214;
}
}
@@ -16024,7 +14940,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj8", 10) == 0)
{
{
-return dev_storage + 1734;
+return dev_storage + 1800;
}
}
@@ -16039,7 +14955,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj8", 10) == 0)
{
{
-return dev_storage + 1318;
+return dev_storage + 1384;
}
}
@@ -16054,7 +14970,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj8", 10) == 0)
{
{
-return dev_storage + 902;
+return dev_storage + 968;
}
}
@@ -16078,7 +14994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi8", 10) == 0)
{
{
-return dev_storage + 2133;
+return dev_storage + 2199;
}
}
@@ -16093,7 +15009,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci8", 10) == 0)
{
{
-return dev_storage + 1719;
+return dev_storage + 1785;
}
}
@@ -16108,7 +15024,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi8", 10) == 0)
{
{
-return dev_storage + 1303;
+return dev_storage + 1369;
}
}
@@ -16123,7 +15039,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai8", 10) == 0)
{
{
-return dev_storage + 887;
+return dev_storage + 953;
}
}
@@ -16147,7 +15063,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh8", 10) == 0)
{
{
-return dev_storage + 2118;
+return dev_storage + 2184;
}
}
@@ -16162,7 +15078,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch8", 10) == 0)
{
{
-return dev_storage + 1704;
+return dev_storage + 1770;
}
}
@@ -16177,7 +15093,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh8", 10) == 0)
{
{
-return dev_storage + 1288;
+return dev_storage + 1354;
}
}
@@ -16192,7 +15108,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah8", 10) == 0)
{
{
-return dev_storage + 872;
+return dev_storage + 938;
}
}
@@ -16216,7 +15132,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg8", 10) == 0)
{
{
-return dev_storage + 2103;
+return dev_storage + 2169;
}
}
@@ -16231,7 +15147,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg8", 10) == 0)
{
{
-return dev_storage + 1689;
+return dev_storage + 1755;
}
}
@@ -16246,7 +15162,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg8", 10) == 0)
{
{
-return dev_storage + 1273;
+return dev_storage + 1339;
}
}
@@ -16261,7 +15177,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag8", 10) == 0)
{
{
-return dev_storage + 857;
+return dev_storage + 923;
}
}
@@ -16285,7 +15201,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf8", 10) == 0)
{
{
-return dev_storage + 2088;
+return dev_storage + 2154;
}
}
@@ -16300,7 +15216,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf8", 10) == 0)
{
{
-return dev_storage + 1674;
+return dev_storage + 1740;
}
}
@@ -16315,7 +15231,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf8", 10) == 0)
{
{
-return dev_storage + 1258;
+return dev_storage + 1324;
}
}
@@ -16330,7 +15246,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf8", 10) == 0)
{
{
-return dev_storage + 842;
+return dev_storage + 908;
}
}
@@ -16354,7 +15270,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde8", 10) == 0)
{
{
-return dev_storage + 2073;
+return dev_storage + 2139;
}
}
@@ -16369,7 +15285,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce8", 10) == 0)
{
{
-return dev_storage + 1659;
+return dev_storage + 1725;
}
}
@@ -16384,7 +15300,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe8", 10) == 0)
{
{
-return dev_storage + 1243;
+return dev_storage + 1309;
}
}
@@ -16399,7 +15315,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae8", 10) == 0)
{
{
-return dev_storage + 827;
+return dev_storage + 893;
}
}
@@ -16423,7 +15339,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd8", 10) == 0)
{
{
-return dev_storage + 2058;
+return dev_storage + 2124;
}
}
@@ -16438,7 +15354,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd8", 10) == 0)
{
{
-return dev_storage + 1644;
+return dev_storage + 1710;
}
}
@@ -16453,7 +15369,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd8", 10) == 0)
{
{
-return dev_storage + 1228;
+return dev_storage + 1294;
}
}
@@ -16468,7 +15384,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad8", 10) == 0)
{
{
-return dev_storage + 812;
+return dev_storage + 878;
}
}
@@ -16492,7 +15408,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc8", 10) == 0)
{
{
-return dev_storage + 2043;
+return dev_storage + 2109;
}
}
@@ -16507,7 +15423,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc8", 10) == 0)
{
{
-return dev_storage + 1629;
+return dev_storage + 1695;
}
}
@@ -16522,7 +15438,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc8", 10) == 0)
{
{
-return dev_storage + 1213;
+return dev_storage + 1279;
}
}
@@ -16537,7 +15453,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac8", 10) == 0)
{
{
-return dev_storage + 797;
+return dev_storage + 863;
}
}
@@ -16561,7 +15477,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb8", 10) == 0)
{
{
-return dev_storage + 2028;
+return dev_storage + 2094;
}
}
@@ -16576,7 +15492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb8", 10) == 0)
{
{
-return dev_storage + 1614;
+return dev_storage + 1680;
}
}
@@ -16591,7 +15507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb8", 10) == 0)
{
{
-return dev_storage + 1198;
+return dev_storage + 1264;
}
}
@@ -16606,7 +15522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab8", 10) == 0)
{
{
-return dev_storage + 782;
+return dev_storage + 848;
}
}
@@ -16630,7 +15546,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda8", 10) == 0)
{
{
-return dev_storage + 2013;
+return dev_storage + 2079;
}
}
@@ -16645,7 +15561,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca8", 10) == 0)
{
{
-return dev_storage + 1599;
+return dev_storage + 1665;
}
}
@@ -16660,7 +15576,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba8", 10) == 0)
{
{
-return dev_storage + 1183;
+return dev_storage + 1249;
}
}
@@ -16675,7 +15591,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa8", 10) == 0)
{
{
-return dev_storage + 767;
+return dev_storage + 833;
}
}
@@ -16696,7 +15612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS8", 10) == 0)
{
{
-return dev_storage + 2519;
+return dev_storage + 2585;
}
}
@@ -16711,7 +15627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst98", 10) == 0)
{
{
-return dev_storage + 204;
+return dev_storage + 205;
}
}
@@ -16726,7 +15642,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst88", 10) == 0)
{
{
-return dev_storage + 194;
+return dev_storage + 195;
}
}
@@ -16741,7 +15657,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst78", 10) == 0)
{
{
-return dev_storage + 184;
+return dev_storage + 185;
}
}
@@ -16756,7 +15672,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst68", 10) == 0)
{
{
-return dev_storage + 174;
+return dev_storage + 175;
}
}
@@ -16774,7 +15690,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty58", 10) == 0)
{
{
-return dev_storage + 295;
+return dev_storage + 297;
}
}
@@ -16789,7 +15705,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst58", 10) == 0)
{
{
-return dev_storage + 164;
+return dev_storage + 165;
}
}
@@ -16813,7 +15729,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty48", 10) == 0)
{
{
-return dev_storage + 285;
+return dev_storage + 287;
}
}
@@ -16828,7 +15744,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst48", 10) == 0)
{
{
-return dev_storage + 154;
+return dev_storage + 155;
}
}
@@ -16852,7 +15768,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty38", 10) == 0)
{
{
-return dev_storage + 275;
+return dev_storage + 277;
}
}
@@ -16867,7 +15783,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst38", 10) == 0)
{
{
-return dev_storage + 144;
+return dev_storage + 145;
}
}
@@ -16891,7 +15807,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty28", 10) == 0)
{
{
-return dev_storage + 265;
+return dev_storage + 267;
}
}
@@ -16906,7 +15822,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst28", 10) == 0)
{
{
-return dev_storage + 134;
+return dev_storage + 135;
}
}
@@ -16930,7 +15846,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st118", 10) == 0)
{
{
-return dev_storage + 2500;
+return dev_storage + 2566;
}
}
@@ -16945,7 +15861,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty18", 10) == 0)
{
{
-return dev_storage + 255;
+return dev_storage + 257;
}
}
@@ -16960,7 +15876,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst18", 10) == 0)
{
{
-return dev_storage + 124;
+return dev_storage + 125;
}
}
@@ -16981,7 +15897,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st108", 10) == 0)
{
{
-return dev_storage + 2490;
+return dev_storage + 2556;
}
}
@@ -17008,7 +15924,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz7", 10) == 0)
{
{
-return dev_storage + 1973;
+return dev_storage + 2039;
}
}
@@ -17023,7 +15939,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz7", 10) == 0)
{
{
-return dev_storage + 1557;
+return dev_storage + 1623;
}
}
@@ -17038,7 +15954,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz7", 10) == 0)
{
{
-return dev_storage + 1141;
+return dev_storage + 1207;
}
}
@@ -17062,7 +15978,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy7", 10) == 0)
{
{
-return dev_storage + 1958;
+return dev_storage + 2024;
}
}
@@ -17077,7 +15993,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby7", 10) == 0)
{
{
-return dev_storage + 1542;
+return dev_storage + 1608;
}
}
@@ -17092,7 +16008,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday7", 10) == 0)
{
{
-return dev_storage + 1126;
+return dev_storage + 1192;
}
}
@@ -17116,7 +16032,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx7", 10) == 0)
{
{
-return dev_storage + 2357;
+return dev_storage + 2423;
}
}
@@ -17131,7 +16047,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx7", 10) == 0)
{
{
-return dev_storage + 1943;
+return dev_storage + 2009;
}
}
@@ -17146,7 +16062,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx7", 10) == 0)
{
{
-return dev_storage + 1527;
+return dev_storage + 1593;
}
}
@@ -17161,7 +16077,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax7", 10) == 0)
{
{
-return dev_storage + 1111;
+return dev_storage + 1177;
}
}
@@ -17185,7 +16101,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw7", 10) == 0)
{
{
-return dev_storage + 2342;
+return dev_storage + 2408;
}
}
@@ -17200,7 +16116,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw7", 10) == 0)
{
{
-return dev_storage + 1928;
+return dev_storage + 1994;
}
}
@@ -17215,7 +16131,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw7", 10) == 0)
{
{
-return dev_storage + 1512;
+return dev_storage + 1578;
}
}
@@ -17230,7 +16146,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw7", 10) == 0)
{
{
-return dev_storage + 1096;
+return dev_storage + 1162;
}
}
@@ -17254,7 +16170,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv7", 10) == 0)
{
{
-return dev_storage + 2327;
+return dev_storage + 2393;
}
}
@@ -17269,7 +16185,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv7", 10) == 0)
{
{
-return dev_storage + 1913;
+return dev_storage + 1979;
}
}
@@ -17284,7 +16200,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv7", 10) == 0)
{
{
-return dev_storage + 1497;
+return dev_storage + 1563;
}
}
@@ -17299,7 +16215,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav7", 10) == 0)
{
{
-return dev_storage + 1081;
+return dev_storage + 1147;
}
}
@@ -17323,7 +16239,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu7", 10) == 0)
{
{
-return dev_storage + 2312;
+return dev_storage + 2378;
}
}
@@ -17338,7 +16254,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu7", 10) == 0)
{
{
-return dev_storage + 1898;
+return dev_storage + 1964;
}
}
@@ -17353,7 +16269,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu7", 10) == 0)
{
{
-return dev_storage + 1482;
+return dev_storage + 1548;
}
}
@@ -17368,7 +16284,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau7", 10) == 0)
{
{
-return dev_storage + 1066;
+return dev_storage + 1132;
}
}
@@ -17392,7 +16308,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt7", 10) == 0)
{
{
-return dev_storage + 2297;
+return dev_storage + 2363;
}
}
@@ -17407,7 +16323,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct7", 10) == 0)
{
{
-return dev_storage + 1883;
+return dev_storage + 1949;
}
}
@@ -17422,7 +16338,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt7", 10) == 0)
{
{
-return dev_storage + 1467;
+return dev_storage + 1533;
}
}
@@ -17437,7 +16353,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat7", 10) == 0)
{
{
-return dev_storage + 1051;
+return dev_storage + 1117;
}
}
@@ -17476,7 +16392,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds7", 10) == 0)
{
{
-return dev_storage + 2282;
+return dev_storage + 2348;
}
}
@@ -17491,7 +16407,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs7", 10) == 0)
{
{
-return dev_storage + 1868;
+return dev_storage + 1934;
}
}
@@ -17506,7 +16422,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs7", 10) == 0)
{
{
-return dev_storage + 1452;
+return dev_storage + 1518;
}
}
@@ -17521,7 +16437,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas7", 10) == 0)
{
{
-return dev_storage + 1036;
+return dev_storage + 1102;
}
}
@@ -17545,7 +16461,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr7", 10) == 0)
{
{
-return dev_storage + 2267;
+return dev_storage + 2333;
}
}
@@ -17560,7 +16476,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr7", 10) == 0)
{
{
-return dev_storage + 1853;
+return dev_storage + 1919;
}
}
@@ -17575,7 +16491,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr7", 10) == 0)
{
{
-return dev_storage + 1437;
+return dev_storage + 1503;
}
}
@@ -17590,7 +16506,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar7", 10) == 0)
{
{
-return dev_storage + 1021;
+return dev_storage + 1087;
}
}
@@ -17614,7 +16530,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq7", 10) == 0)
{
{
-return dev_storage + 2252;
+return dev_storage + 2318;
}
}
@@ -17629,7 +16545,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq7", 10) == 0)
{
{
-return dev_storage + 1838;
+return dev_storage + 1904;
}
}
@@ -17644,7 +16560,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq7", 10) == 0)
{
{
-return dev_storage + 1422;
+return dev_storage + 1488;
}
}
@@ -17659,7 +16575,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq7", 10) == 0)
{
{
-return dev_storage + 1006;
+return dev_storage + 1072;
}
}
@@ -17683,7 +16599,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp7", 10) == 0)
{
{
-return dev_storage + 2237;
+return dev_storage + 2303;
}
}
@@ -17698,7 +16614,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp7", 10) == 0)
{
{
-return dev_storage + 1823;
+return dev_storage + 1889;
}
}
@@ -17713,7 +16629,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp7", 10) == 0)
{
{
-return dev_storage + 1407;
+return dev_storage + 1473;
}
}
@@ -17728,7 +16644,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap7", 10) == 0)
{
{
-return dev_storage + 991;
+return dev_storage + 1057;
}
}
@@ -17752,7 +16668,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo7", 10) == 0)
{
{
-return dev_storage + 2222;
+return dev_storage + 2288;
}
}
@@ -17767,7 +16683,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco7", 10) == 0)
{
{
-return dev_storage + 1808;
+return dev_storage + 1874;
}
}
@@ -17782,7 +16698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo7", 10) == 0)
{
{
-return dev_storage + 1392;
+return dev_storage + 1458;
}
}
@@ -17797,7 +16713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao7", 10) == 0)
{
{
-return dev_storage + 976;
+return dev_storage + 1042;
}
}
@@ -17821,7 +16737,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn7", 10) == 0)
{
{
-return dev_storage + 2207;
+return dev_storage + 2273;
}
}
@@ -17836,7 +16752,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn7", 10) == 0)
{
{
-return dev_storage + 1793;
+return dev_storage + 1859;
}
}
@@ -17851,7 +16767,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn7", 10) == 0)
{
{
-return dev_storage + 1377;
+return dev_storage + 1443;
}
}
@@ -17866,7 +16782,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan7", 10) == 0)
{
{
-return dev_storage + 961;
+return dev_storage + 1027;
}
}
@@ -17886,11 +16802,26 @@ return NULL;
case 'm':
switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym7", 10) == 0)
+ {
+{
+return dev_storage + 310;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'd':
if (strncmp (KR_keyword, "/dev/sddm7", 10) == 0)
{
{
-return dev_storage + 2192;
+return dev_storage + 2258;
}
}
@@ -17905,7 +16836,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm7", 10) == 0)
{
{
-return dev_storage + 1778;
+return dev_storage + 1844;
}
}
@@ -17920,7 +16851,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm7", 10) == 0)
{
{
-return dev_storage + 1362;
+return dev_storage + 1428;
}
}
@@ -17935,7 +16866,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam7", 10) == 0)
{
{
-return dev_storage + 946;
+return dev_storage + 1012;
}
}
@@ -17959,7 +16890,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl7", 10) == 0)
{
{
-return dev_storage + 2177;
+return dev_storage + 2243;
}
}
@@ -17974,7 +16905,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl7", 10) == 0)
{
{
-return dev_storage + 1763;
+return dev_storage + 1829;
}
}
@@ -17989,7 +16920,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl7", 10) == 0)
{
{
-return dev_storage + 1347;
+return dev_storage + 1413;
}
}
@@ -18004,7 +16935,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal7", 10) == 0)
{
{
-return dev_storage + 931;
+return dev_storage + 997;
}
}
@@ -18028,7 +16959,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk7", 10) == 0)
{
{
-return dev_storage + 2162;
+return dev_storage + 2228;
}
}
@@ -18043,7 +16974,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck7", 10) == 0)
{
{
-return dev_storage + 1748;
+return dev_storage + 1814;
}
}
@@ -18058,7 +16989,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk7", 10) == 0)
{
{
-return dev_storage + 1332;
+return dev_storage + 1398;
}
}
@@ -18073,7 +17004,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak7", 10) == 0)
{
{
-return dev_storage + 916;
+return dev_storage + 982;
}
}
@@ -18097,7 +17028,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj7", 10) == 0)
{
{
-return dev_storage + 2147;
+return dev_storage + 2213;
}
}
@@ -18112,7 +17043,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj7", 10) == 0)
{
{
-return dev_storage + 1733;
+return dev_storage + 1799;
}
}
@@ -18127,7 +17058,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj7", 10) == 0)
{
{
-return dev_storage + 1317;
+return dev_storage + 1383;
}
}
@@ -18142,7 +17073,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj7", 10) == 0)
{
{
-return dev_storage + 901;
+return dev_storage + 967;
}
}
@@ -18166,7 +17097,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi7", 10) == 0)
{
{
-return dev_storage + 2132;
+return dev_storage + 2198;
}
}
@@ -18181,7 +17112,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci7", 10) == 0)
{
{
-return dev_storage + 1718;
+return dev_storage + 1784;
}
}
@@ -18196,7 +17127,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi7", 10) == 0)
{
{
-return dev_storage + 1302;
+return dev_storage + 1368;
}
}
@@ -18211,7 +17142,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai7", 10) == 0)
{
{
-return dev_storage + 886;
+return dev_storage + 952;
}
}
@@ -18235,7 +17166,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh7", 10) == 0)
{
{
-return dev_storage + 2117;
+return dev_storage + 2183;
}
}
@@ -18250,7 +17181,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch7", 10) == 0)
{
{
-return dev_storage + 1703;
+return dev_storage + 1769;
}
}
@@ -18265,7 +17196,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh7", 10) == 0)
{
{
-return dev_storage + 1287;
+return dev_storage + 1353;
}
}
@@ -18280,7 +17211,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah7", 10) == 0)
{
{
-return dev_storage + 871;
+return dev_storage + 937;
}
}
@@ -18304,7 +17235,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg7", 10) == 0)
{
{
-return dev_storage + 2102;
+return dev_storage + 2168;
}
}
@@ -18319,7 +17250,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg7", 10) == 0)
{
{
-return dev_storage + 1688;
+return dev_storage + 1754;
}
}
@@ -18334,7 +17265,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg7", 10) == 0)
{
{
-return dev_storage + 1272;
+return dev_storage + 1338;
}
}
@@ -18349,7 +17280,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag7", 10) == 0)
{
{
-return dev_storage + 856;
+return dev_storage + 922;
}
}
@@ -18373,7 +17304,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf7", 10) == 0)
{
{
-return dev_storage + 2087;
+return dev_storage + 2153;
}
}
@@ -18388,7 +17319,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf7", 10) == 0)
{
{
-return dev_storage + 1673;
+return dev_storage + 1739;
}
}
@@ -18403,7 +17334,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf7", 10) == 0)
{
{
-return dev_storage + 1257;
+return dev_storage + 1323;
}
}
@@ -18418,7 +17349,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf7", 10) == 0)
{
{
-return dev_storage + 841;
+return dev_storage + 907;
}
}
@@ -18442,7 +17373,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde7", 10) == 0)
{
{
-return dev_storage + 2072;
+return dev_storage + 2138;
}
}
@@ -18457,7 +17388,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce7", 10) == 0)
{
{
-return dev_storage + 1658;
+return dev_storage + 1724;
}
}
@@ -18472,7 +17403,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe7", 10) == 0)
{
{
-return dev_storage + 1242;
+return dev_storage + 1308;
}
}
@@ -18487,7 +17418,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae7", 10) == 0)
{
{
-return dev_storage + 826;
+return dev_storage + 892;
}
}
@@ -18511,7 +17442,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd7", 10) == 0)
{
{
-return dev_storage + 2057;
+return dev_storage + 2123;
}
}
@@ -18526,7 +17457,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd7", 10) == 0)
{
{
-return dev_storage + 1643;
+return dev_storage + 1709;
}
}
@@ -18541,7 +17472,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd7", 10) == 0)
{
{
-return dev_storage + 1227;
+return dev_storage + 1293;
}
}
@@ -18556,7 +17487,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad7", 10) == 0)
{
{
-return dev_storage + 811;
+return dev_storage + 877;
}
}
@@ -18580,7 +17511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc7", 10) == 0)
{
{
-return dev_storage + 2042;
+return dev_storage + 2108;
}
}
@@ -18595,7 +17526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc7", 10) == 0)
{
{
-return dev_storage + 1628;
+return dev_storage + 1694;
}
}
@@ -18610,7 +17541,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc7", 10) == 0)
{
{
-return dev_storage + 1212;
+return dev_storage + 1278;
}
}
@@ -18625,7 +17556,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac7", 10) == 0)
{
{
-return dev_storage + 796;
+return dev_storage + 862;
}
}
@@ -18649,7 +17580,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb7", 10) == 0)
{
{
-return dev_storage + 2027;
+return dev_storage + 2093;
}
}
@@ -18664,7 +17595,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb7", 10) == 0)
{
{
-return dev_storage + 1613;
+return dev_storage + 1679;
}
}
@@ -18679,7 +17610,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb7", 10) == 0)
{
{
-return dev_storage + 1197;
+return dev_storage + 1263;
}
}
@@ -18694,7 +17625,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab7", 10) == 0)
{
{
-return dev_storage + 781;
+return dev_storage + 847;
}
}
@@ -18718,7 +17649,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda7", 10) == 0)
{
{
-return dev_storage + 2012;
+return dev_storage + 2078;
}
}
@@ -18733,7 +17664,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca7", 10) == 0)
{
{
-return dev_storage + 1598;
+return dev_storage + 1664;
}
}
@@ -18748,7 +17679,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba7", 10) == 0)
{
{
-return dev_storage + 1182;
+return dev_storage + 1248;
}
}
@@ -18763,7 +17694,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa7", 10) == 0)
{
{
-return dev_storage + 766;
+return dev_storage + 832;
}
}
@@ -18784,7 +17715,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS7", 10) == 0)
{
{
-return dev_storage + 2518;
+return dev_storage + 2584;
}
}
@@ -18799,7 +17730,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst97", 10) == 0)
{
{
-return dev_storage + 203;
+return dev_storage + 204;
}
}
@@ -18814,7 +17745,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst87", 10) == 0)
{
{
-return dev_storage + 193;
+return dev_storage + 194;
}
}
@@ -18829,7 +17760,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst77", 10) == 0)
{
{
-return dev_storage + 183;
+return dev_storage + 184;
}
}
@@ -18844,7 +17775,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst67", 10) == 0)
{
{
-return dev_storage + 173;
+return dev_storage + 174;
}
}
@@ -18862,7 +17793,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty57", 10) == 0)
{
{
-return dev_storage + 294;
+return dev_storage + 296;
}
}
@@ -18877,7 +17808,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst57", 10) == 0)
{
{
-return dev_storage + 163;
+return dev_storage + 164;
}
}
@@ -18901,7 +17832,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty47", 10) == 0)
{
{
-return dev_storage + 284;
+return dev_storage + 286;
}
}
@@ -18916,7 +17847,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst47", 10) == 0)
{
{
-return dev_storage + 153;
+return dev_storage + 154;
}
}
@@ -18940,7 +17871,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty37", 10) == 0)
{
{
-return dev_storage + 274;
+return dev_storage + 276;
}
}
@@ -18955,7 +17886,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst37", 10) == 0)
{
{
-return dev_storage + 143;
+return dev_storage + 144;
}
}
@@ -18979,7 +17910,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st127", 10) == 0)
{
{
-return dev_storage + 2509;
+return dev_storage + 2575;
}
}
@@ -18994,7 +17925,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty27", 10) == 0)
{
{
-return dev_storage + 264;
+return dev_storage + 266;
}
}
@@ -19009,7 +17940,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst27", 10) == 0)
{
{
-return dev_storage + 133;
+return dev_storage + 134;
}
}
@@ -19033,7 +17964,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st117", 10) == 0)
{
{
-return dev_storage + 2499;
+return dev_storage + 2565;
}
}
@@ -19048,7 +17979,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty17", 10) == 0)
{
{
-return dev_storage + 254;
+return dev_storage + 256;
}
}
@@ -19063,7 +17994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst17", 10) == 0)
{
{
-return dev_storage + 123;
+return dev_storage + 124;
}
}
@@ -19084,7 +18015,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st107", 10) == 0)
{
{
-return dev_storage + 2489;
+return dev_storage + 2555;
}
}
@@ -19111,7 +18042,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz6", 10) == 0)
{
{
-return dev_storage + 1972;
+return dev_storage + 2038;
}
}
@@ -19126,7 +18057,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz6", 10) == 0)
{
{
-return dev_storage + 1556;
+return dev_storage + 1622;
}
}
@@ -19141,7 +18072,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz6", 10) == 0)
{
{
-return dev_storage + 1140;
+return dev_storage + 1206;
}
}
@@ -19165,7 +18096,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy6", 10) == 0)
{
{
-return dev_storage + 1957;
+return dev_storage + 2023;
}
}
@@ -19180,7 +18111,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby6", 10) == 0)
{
{
-return dev_storage + 1541;
+return dev_storage + 1607;
}
}
@@ -19195,7 +18126,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday6", 10) == 0)
{
{
-return dev_storage + 1125;
+return dev_storage + 1191;
}
}
@@ -19219,7 +18150,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx6", 10) == 0)
{
{
-return dev_storage + 2356;
+return dev_storage + 2422;
}
}
@@ -19234,7 +18165,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx6", 10) == 0)
{
{
-return dev_storage + 1942;
+return dev_storage + 2008;
}
}
@@ -19249,7 +18180,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx6", 10) == 0)
{
{
-return dev_storage + 1526;
+return dev_storage + 1592;
}
}
@@ -19264,7 +18195,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax6", 10) == 0)
{
{
-return dev_storage + 1110;
+return dev_storage + 1176;
}
}
@@ -19288,7 +18219,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw6", 10) == 0)
{
{
-return dev_storage + 2341;
+return dev_storage + 2407;
}
}
@@ -19303,7 +18234,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw6", 10) == 0)
{
{
-return dev_storage + 1927;
+return dev_storage + 1993;
}
}
@@ -19318,7 +18249,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw6", 10) == 0)
{
{
-return dev_storage + 1511;
+return dev_storage + 1577;
}
}
@@ -19333,7 +18264,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw6", 10) == 0)
{
{
-return dev_storage + 1095;
+return dev_storage + 1161;
}
}
@@ -19357,7 +18288,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv6", 10) == 0)
{
{
-return dev_storage + 2326;
+return dev_storage + 2392;
}
}
@@ -19372,7 +18303,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv6", 10) == 0)
{
{
-return dev_storage + 1912;
+return dev_storage + 1978;
}
}
@@ -19387,7 +18318,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv6", 10) == 0)
{
{
-return dev_storage + 1496;
+return dev_storage + 1562;
}
}
@@ -19402,7 +18333,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav6", 10) == 0)
{
{
-return dev_storage + 1080;
+return dev_storage + 1146;
}
}
@@ -19426,7 +18357,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu6", 10) == 0)
{
{
-return dev_storage + 2311;
+return dev_storage + 2377;
}
}
@@ -19441,7 +18372,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu6", 10) == 0)
{
{
-return dev_storage + 1897;
+return dev_storage + 1963;
}
}
@@ -19456,7 +18387,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu6", 10) == 0)
{
{
-return dev_storage + 1481;
+return dev_storage + 1547;
}
}
@@ -19471,7 +18402,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau6", 10) == 0)
{
{
-return dev_storage + 1065;
+return dev_storage + 1131;
}
}
@@ -19495,7 +18426,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt6", 10) == 0)
{
{
-return dev_storage + 2296;
+return dev_storage + 2362;
}
}
@@ -19510,7 +18441,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct6", 10) == 0)
{
{
-return dev_storage + 1882;
+return dev_storage + 1948;
}
}
@@ -19525,7 +18456,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt6", 10) == 0)
{
{
-return dev_storage + 1466;
+return dev_storage + 1532;
}
}
@@ -19540,7 +18471,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat6", 10) == 0)
{
{
-return dev_storage + 1050;
+return dev_storage + 1116;
}
}
@@ -19579,7 +18510,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds6", 10) == 0)
{
{
-return dev_storage + 2281;
+return dev_storage + 2347;
}
}
@@ -19594,7 +18525,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs6", 10) == 0)
{
{
-return dev_storage + 1867;
+return dev_storage + 1933;
}
}
@@ -19609,7 +18540,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs6", 10) == 0)
{
{
-return dev_storage + 1451;
+return dev_storage + 1517;
}
}
@@ -19624,7 +18555,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas6", 10) == 0)
{
{
-return dev_storage + 1035;
+return dev_storage + 1101;
}
}
@@ -19648,7 +18579,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr6", 10) == 0)
{
{
-return dev_storage + 2266;
+return dev_storage + 2332;
}
}
@@ -19663,7 +18594,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr6", 10) == 0)
{
{
-return dev_storage + 1852;
+return dev_storage + 1918;
}
}
@@ -19678,7 +18609,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr6", 10) == 0)
{
{
-return dev_storage + 1436;
+return dev_storage + 1502;
}
}
@@ -19693,7 +18624,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar6", 10) == 0)
{
{
-return dev_storage + 1020;
+return dev_storage + 1086;
}
}
@@ -19717,7 +18648,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq6", 10) == 0)
{
{
-return dev_storage + 2251;
+return dev_storage + 2317;
}
}
@@ -19732,7 +18663,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq6", 10) == 0)
{
{
-return dev_storage + 1837;
+return dev_storage + 1903;
}
}
@@ -19747,7 +18678,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq6", 10) == 0)
{
{
-return dev_storage + 1421;
+return dev_storage + 1487;
}
}
@@ -19762,7 +18693,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq6", 10) == 0)
{
{
-return dev_storage + 1005;
+return dev_storage + 1071;
}
}
@@ -19786,7 +18717,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp6", 10) == 0)
{
{
-return dev_storage + 2236;
+return dev_storage + 2302;
}
}
@@ -19801,7 +18732,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp6", 10) == 0)
{
{
-return dev_storage + 1822;
+return dev_storage + 1888;
}
}
@@ -19816,7 +18747,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp6", 10) == 0)
{
{
-return dev_storage + 1406;
+return dev_storage + 1472;
}
}
@@ -19831,7 +18762,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap6", 10) == 0)
{
{
-return dev_storage + 990;
+return dev_storage + 1056;
}
}
@@ -19855,7 +18786,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo6", 10) == 0)
{
{
-return dev_storage + 2221;
+return dev_storage + 2287;
}
}
@@ -19870,7 +18801,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco6", 10) == 0)
{
{
-return dev_storage + 1807;
+return dev_storage + 1873;
}
}
@@ -19885,7 +18816,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo6", 10) == 0)
{
{
-return dev_storage + 1391;
+return dev_storage + 1457;
}
}
@@ -19900,7 +18831,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao6", 10) == 0)
{
{
-return dev_storage + 975;
+return dev_storage + 1041;
}
}
@@ -19924,7 +18855,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn6", 10) == 0)
{
{
-return dev_storage + 2206;
+return dev_storage + 2272;
}
}
@@ -19939,7 +18870,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn6", 10) == 0)
{
{
-return dev_storage + 1792;
+return dev_storage + 1858;
}
}
@@ -19954,7 +18885,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn6", 10) == 0)
{
{
-return dev_storage + 1376;
+return dev_storage + 1442;
}
}
@@ -19969,7 +18900,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan6", 10) == 0)
{
{
-return dev_storage + 960;
+return dev_storage + 1026;
}
}
@@ -19989,11 +18920,26 @@ return NULL;
case 'm':
switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym6", 10) == 0)
+ {
+{
+return dev_storage + 309;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'd':
if (strncmp (KR_keyword, "/dev/sddm6", 10) == 0)
{
{
-return dev_storage + 2191;
+return dev_storage + 2257;
}
}
@@ -20008,7 +18954,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm6", 10) == 0)
{
{
-return dev_storage + 1777;
+return dev_storage + 1843;
}
}
@@ -20023,7 +18969,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm6", 10) == 0)
{
{
-return dev_storage + 1361;
+return dev_storage + 1427;
}
}
@@ -20038,7 +18984,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam6", 10) == 0)
{
{
-return dev_storage + 945;
+return dev_storage + 1011;
}
}
@@ -20062,7 +19008,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl6", 10) == 0)
{
{
-return dev_storage + 2176;
+return dev_storage + 2242;
}
}
@@ -20077,7 +19023,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl6", 10) == 0)
{
{
-return dev_storage + 1762;
+return dev_storage + 1828;
}
}
@@ -20092,7 +19038,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl6", 10) == 0)
{
{
-return dev_storage + 1346;
+return dev_storage + 1412;
}
}
@@ -20107,7 +19053,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal6", 10) == 0)
{
{
-return dev_storage + 930;
+return dev_storage + 996;
}
}
@@ -20131,7 +19077,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk6", 10) == 0)
{
{
-return dev_storage + 2161;
+return dev_storage + 2227;
}
}
@@ -20146,7 +19092,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck6", 10) == 0)
{
{
-return dev_storage + 1747;
+return dev_storage + 1813;
}
}
@@ -20161,7 +19107,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk6", 10) == 0)
{
{
-return dev_storage + 1331;
+return dev_storage + 1397;
}
}
@@ -20176,7 +19122,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak6", 10) == 0)
{
{
-return dev_storage + 915;
+return dev_storage + 981;
}
}
@@ -20200,7 +19146,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj6", 10) == 0)
{
{
-return dev_storage + 2146;
+return dev_storage + 2212;
}
}
@@ -20215,7 +19161,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj6", 10) == 0)
{
{
-return dev_storage + 1732;
+return dev_storage + 1798;
}
}
@@ -20230,7 +19176,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj6", 10) == 0)
{
{
-return dev_storage + 1316;
+return dev_storage + 1382;
}
}
@@ -20245,7 +19191,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj6", 10) == 0)
{
{
-return dev_storage + 900;
+return dev_storage + 966;
}
}
@@ -20269,7 +19215,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi6", 10) == 0)
{
{
-return dev_storage + 2131;
+return dev_storage + 2197;
}
}
@@ -20284,7 +19230,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci6", 10) == 0)
{
{
-return dev_storage + 1717;
+return dev_storage + 1783;
}
}
@@ -20299,7 +19245,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi6", 10) == 0)
{
{
-return dev_storage + 1301;
+return dev_storage + 1367;
}
}
@@ -20314,7 +19260,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai6", 10) == 0)
{
{
-return dev_storage + 885;
+return dev_storage + 951;
}
}
@@ -20338,7 +19284,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh6", 10) == 0)
{
{
-return dev_storage + 2116;
+return dev_storage + 2182;
}
}
@@ -20353,7 +19299,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch6", 10) == 0)
{
{
-return dev_storage + 1702;
+return dev_storage + 1768;
}
}
@@ -20368,7 +19314,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh6", 10) == 0)
{
{
-return dev_storage + 1286;
+return dev_storage + 1352;
}
}
@@ -20383,7 +19329,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah6", 10) == 0)
{
{
-return dev_storage + 870;
+return dev_storage + 936;
}
}
@@ -20407,7 +19353,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg6", 10) == 0)
{
{
-return dev_storage + 2101;
+return dev_storage + 2167;
}
}
@@ -20422,7 +19368,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg6", 10) == 0)
{
{
-return dev_storage + 1687;
+return dev_storage + 1753;
}
}
@@ -20437,7 +19383,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg6", 10) == 0)
{
{
-return dev_storage + 1271;
+return dev_storage + 1337;
}
}
@@ -20452,7 +19398,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag6", 10) == 0)
{
{
-return dev_storage + 855;
+return dev_storage + 921;
}
}
@@ -20476,7 +19422,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf6", 10) == 0)
{
{
-return dev_storage + 2086;
+return dev_storage + 2152;
}
}
@@ -20491,7 +19437,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf6", 10) == 0)
{
{
-return dev_storage + 1672;
+return dev_storage + 1738;
}
}
@@ -20506,7 +19452,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf6", 10) == 0)
{
{
-return dev_storage + 1256;
+return dev_storage + 1322;
}
}
@@ -20521,7 +19467,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf6", 10) == 0)
{
{
-return dev_storage + 840;
+return dev_storage + 906;
}
}
@@ -20545,7 +19491,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde6", 10) == 0)
{
{
-return dev_storage + 2071;
+return dev_storage + 2137;
}
}
@@ -20560,7 +19506,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce6", 10) == 0)
{
{
-return dev_storage + 1657;
+return dev_storage + 1723;
}
}
@@ -20575,7 +19521,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe6", 10) == 0)
{
{
-return dev_storage + 1241;
+return dev_storage + 1307;
}
}
@@ -20590,7 +19536,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae6", 10) == 0)
{
{
-return dev_storage + 825;
+return dev_storage + 891;
}
}
@@ -20614,7 +19560,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd6", 10) == 0)
{
{
-return dev_storage + 2056;
+return dev_storage + 2122;
}
}
@@ -20629,7 +19575,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd6", 10) == 0)
{
{
-return dev_storage + 1642;
+return dev_storage + 1708;
}
}
@@ -20644,7 +19590,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd6", 10) == 0)
{
{
-return dev_storage + 1226;
+return dev_storage + 1292;
}
}
@@ -20659,7 +19605,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad6", 10) == 0)
{
{
-return dev_storage + 810;
+return dev_storage + 876;
}
}
@@ -20683,7 +19629,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc6", 10) == 0)
{
{
-return dev_storage + 2041;
+return dev_storage + 2107;
}
}
@@ -20698,7 +19644,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc6", 10) == 0)
{
{
-return dev_storage + 1627;
+return dev_storage + 1693;
}
}
@@ -20713,7 +19659,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc6", 10) == 0)
{
{
-return dev_storage + 1211;
+return dev_storage + 1277;
}
}
@@ -20728,7 +19674,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac6", 10) == 0)
{
{
-return dev_storage + 795;
+return dev_storage + 861;
}
}
@@ -20752,7 +19698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb6", 10) == 0)
{
{
-return dev_storage + 2026;
+return dev_storage + 2092;
}
}
@@ -20767,7 +19713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb6", 10) == 0)
{
{
-return dev_storage + 1612;
+return dev_storage + 1678;
}
}
@@ -20782,7 +19728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb6", 10) == 0)
{
{
-return dev_storage + 1196;
+return dev_storage + 1262;
}
}
@@ -20797,7 +19743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab6", 10) == 0)
{
{
-return dev_storage + 780;
+return dev_storage + 846;
}
}
@@ -20821,7 +19767,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda6", 10) == 0)
{
{
-return dev_storage + 2011;
+return dev_storage + 2077;
}
}
@@ -20836,7 +19782,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca6", 10) == 0)
{
{
-return dev_storage + 1597;
+return dev_storage + 1663;
}
}
@@ -20851,7 +19797,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba6", 10) == 0)
{
{
-return dev_storage + 1181;
+return dev_storage + 1247;
}
}
@@ -20866,7 +19812,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa6", 10) == 0)
{
{
-return dev_storage + 765;
+return dev_storage + 831;
}
}
@@ -20887,7 +19833,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS6", 10) == 0)
{
{
-return dev_storage + 2517;
+return dev_storage + 2583;
}
}
@@ -20902,7 +19848,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst96", 10) == 0)
{
{
-return dev_storage + 202;
+return dev_storage + 203;
}
}
@@ -20917,7 +19863,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst86", 10) == 0)
{
{
-return dev_storage + 192;
+return dev_storage + 193;
}
}
@@ -20932,7 +19878,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst76", 10) == 0)
{
{
-return dev_storage + 182;
+return dev_storage + 183;
}
}
@@ -20947,7 +19893,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst66", 10) == 0)
{
{
-return dev_storage + 172;
+return dev_storage + 173;
}
}
@@ -20965,7 +19911,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty56", 10) == 0)
{
{
-return dev_storage + 293;
+return dev_storage + 295;
}
}
@@ -20980,7 +19926,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst56", 10) == 0)
{
{
-return dev_storage + 162;
+return dev_storage + 163;
}
}
@@ -21004,7 +19950,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty46", 10) == 0)
{
{
-return dev_storage + 283;
+return dev_storage + 285;
}
}
@@ -21019,7 +19965,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst46", 10) == 0)
{
{
-return dev_storage + 152;
+return dev_storage + 153;
}
}
@@ -21043,7 +19989,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty36", 10) == 0)
{
{
-return dev_storage + 273;
+return dev_storage + 275;
}
}
@@ -21058,7 +20004,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst36", 10) == 0)
{
{
-return dev_storage + 142;
+return dev_storage + 143;
}
}
@@ -21082,7 +20028,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st126", 10) == 0)
{
{
-return dev_storage + 2508;
+return dev_storage + 2574;
}
}
@@ -21097,7 +20043,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty26", 10) == 0)
{
{
-return dev_storage + 263;
+return dev_storage + 265;
}
}
@@ -21112,7 +20058,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst26", 10) == 0)
{
{
-return dev_storage + 132;
+return dev_storage + 133;
}
}
@@ -21136,7 +20082,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st116", 10) == 0)
{
{
-return dev_storage + 2498;
+return dev_storage + 2564;
}
}
@@ -21151,7 +20097,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty16", 10) == 0)
{
{
-return dev_storage + 253;
+return dev_storage + 255;
}
}
@@ -21166,7 +20112,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst16", 10) == 0)
{
{
-return dev_storage + 122;
+return dev_storage + 123;
}
}
@@ -21202,7 +20148,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st106", 10) == 0)
{
{
-return dev_storage + 2488;
+return dev_storage + 2554;
}
}
@@ -21226,7 +20172,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz15", 10) == 0)
{
{
-return dev_storage + 733;
+return dev_storage + 799;
}
}
@@ -21240,11 +20186,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym5", 10) == 0)
+ {
+{
+return dev_storage + 308;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS5", 10) == 0)
{
{
-return dev_storage + 2516;
+return dev_storage + 2582;
}
}
@@ -21259,7 +20220,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty55", 10) == 0)
{
{
-return dev_storage + 292;
+return dev_storage + 294;
}
}
@@ -21274,7 +20235,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty45", 10) == 0)
{
{
-return dev_storage + 282;
+return dev_storage + 284;
}
}
@@ -21289,7 +20250,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty35", 10) == 0)
{
{
-return dev_storage + 272;
+return dev_storage + 274;
}
}
@@ -21304,7 +20265,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty25", 10) == 0)
{
{
-return dev_storage + 262;
+return dev_storage + 264;
}
}
@@ -21322,7 +20283,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy15", 10) == 0)
{
{
-return dev_storage + 718;
+return dev_storage + 784;
}
}
@@ -21337,7 +20298,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty15", 10) == 0)
{
{
-return dev_storage + 252;
+return dev_storage + 254;
}
}
@@ -21364,7 +20325,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx15", 10) == 0)
{
{
-return dev_storage + 703;
+return dev_storage + 769;
}
}
@@ -21379,7 +20340,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw15", 10) == 0)
{
{
-return dev_storage + 688;
+return dev_storage + 754;
}
}
@@ -21394,7 +20355,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv15", 10) == 0)
{
{
-return dev_storage + 673;
+return dev_storage + 739;
}
}
@@ -21409,7 +20370,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu15", 10) == 0)
{
{
-return dev_storage + 658;
+return dev_storage + 724;
}
}
@@ -21427,7 +20388,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst95", 10) == 0)
{
{
-return dev_storage + 201;
+return dev_storage + 202;
}
}
@@ -21442,7 +20403,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst85", 10) == 0)
{
{
-return dev_storage + 191;
+return dev_storage + 192;
}
}
@@ -21457,7 +20418,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst75", 10) == 0)
{
{
-return dev_storage + 181;
+return dev_storage + 182;
}
}
@@ -21472,7 +20433,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst65", 10) == 0)
{
{
-return dev_storage + 171;
+return dev_storage + 172;
}
}
@@ -21487,7 +20448,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst55", 10) == 0)
{
{
-return dev_storage + 161;
+return dev_storage + 162;
}
}
@@ -21502,7 +20463,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst45", 10) == 0)
{
{
-return dev_storage + 151;
+return dev_storage + 152;
}
}
@@ -21517,7 +20478,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst35", 10) == 0)
{
{
-return dev_storage + 141;
+return dev_storage + 142;
}
}
@@ -21532,7 +20493,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst25", 10) == 0)
{
{
-return dev_storage + 131;
+return dev_storage + 132;
}
}
@@ -21550,7 +20511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt15", 10) == 0)
{
{
-return dev_storage + 643;
+return dev_storage + 709;
}
}
@@ -21565,7 +20526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst15", 10) == 0)
{
{
-return dev_storage + 121;
+return dev_storage + 122;
}
}
@@ -21592,7 +20553,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds15", 10) == 0)
{
{
-return dev_storage + 628;
+return dev_storage + 694;
}
}
@@ -21607,7 +20568,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr15", 10) == 0)
{
{
-return dev_storage + 613;
+return dev_storage + 679;
}
}
@@ -21622,7 +20583,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq15", 10) == 0)
{
{
-return dev_storage + 598;
+return dev_storage + 664;
}
}
@@ -21637,7 +20598,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp15", 10) == 0)
{
{
-return dev_storage + 583;
+return dev_storage + 649;
}
}
@@ -21652,7 +20613,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo15", 10) == 0)
{
{
-return dev_storage + 568;
+return dev_storage + 634;
}
}
@@ -21670,7 +20631,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn15", 10) == 0)
{
{
-return dev_storage + 553;
+return dev_storage + 619;
}
}
@@ -21709,7 +20670,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm15", 10) == 0)
{
{
-return dev_storage + 538;
+return dev_storage + 604;
}
}
@@ -21745,7 +20706,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl15", 10) == 0)
{
{
-return dev_storage + 523;
+return dev_storage + 589;
}
}
@@ -21760,7 +20721,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk15", 10) == 0)
{
{
-return dev_storage + 508;
+return dev_storage + 574;
}
}
@@ -21775,7 +20736,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj15", 10) == 0)
{
{
-return dev_storage + 493;
+return dev_storage + 559;
}
}
@@ -21790,7 +20751,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi15", 10) == 0)
{
{
-return dev_storage + 478;
+return dev_storage + 544;
}
}
@@ -21805,7 +20766,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh15", 10) == 0)
{
{
-return dev_storage + 463;
+return dev_storage + 529;
}
}
@@ -21820,7 +20781,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg15", 10) == 0)
{
{
-return dev_storage + 448;
+return dev_storage + 514;
}
}
@@ -21835,7 +20796,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf15", 10) == 0)
{
{
-return dev_storage + 433;
+return dev_storage + 499;
}
}
@@ -21850,7 +20811,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde15", 10) == 0)
{
{
-return dev_storage + 418;
+return dev_storage + 484;
}
}
@@ -21868,7 +20829,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx5", 10) == 0)
{
{
-return dev_storage + 2355;
+return dev_storage + 2421;
}
}
@@ -21883,7 +20844,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw5", 10) == 0)
{
{
-return dev_storage + 2340;
+return dev_storage + 2406;
}
}
@@ -21898,7 +20859,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv5", 10) == 0)
{
{
-return dev_storage + 2325;
+return dev_storage + 2391;
}
}
@@ -21913,7 +20874,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu5", 10) == 0)
{
{
-return dev_storage + 2310;
+return dev_storage + 2376;
}
}
@@ -21928,7 +20889,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt5", 10) == 0)
{
{
-return dev_storage + 2295;
+return dev_storage + 2361;
}
}
@@ -21943,7 +20904,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds5", 10) == 0)
{
{
-return dev_storage + 2280;
+return dev_storage + 2346;
}
}
@@ -21958,7 +20919,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr5", 10) == 0)
{
{
-return dev_storage + 2265;
+return dev_storage + 2331;
}
}
@@ -21973,7 +20934,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq5", 10) == 0)
{
{
-return dev_storage + 2250;
+return dev_storage + 2316;
}
}
@@ -21988,7 +20949,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp5", 10) == 0)
{
{
-return dev_storage + 2235;
+return dev_storage + 2301;
}
}
@@ -22003,7 +20964,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo5", 10) == 0)
{
{
-return dev_storage + 2220;
+return dev_storage + 2286;
}
}
@@ -22018,7 +20979,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn5", 10) == 0)
{
{
-return dev_storage + 2205;
+return dev_storage + 2271;
}
}
@@ -22033,7 +20994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm5", 10) == 0)
{
{
-return dev_storage + 2190;
+return dev_storage + 2256;
}
}
@@ -22048,7 +21009,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl5", 10) == 0)
{
{
-return dev_storage + 2175;
+return dev_storage + 2241;
}
}
@@ -22063,7 +21024,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk5", 10) == 0)
{
{
-return dev_storage + 2160;
+return dev_storage + 2226;
}
}
@@ -22078,7 +21039,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj5", 10) == 0)
{
{
-return dev_storage + 2145;
+return dev_storage + 2211;
}
}
@@ -22093,7 +21054,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi5", 10) == 0)
{
{
-return dev_storage + 2130;
+return dev_storage + 2196;
}
}
@@ -22108,7 +21069,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh5", 10) == 0)
{
{
-return dev_storage + 2115;
+return dev_storage + 2181;
}
}
@@ -22123,7 +21084,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg5", 10) == 0)
{
{
-return dev_storage + 2100;
+return dev_storage + 2166;
}
}
@@ -22138,7 +21099,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf5", 10) == 0)
{
{
-return dev_storage + 2085;
+return dev_storage + 2151;
}
}
@@ -22153,7 +21114,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde5", 10) == 0)
{
{
-return dev_storage + 2070;
+return dev_storage + 2136;
}
}
@@ -22168,7 +21129,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd5", 10) == 0)
{
{
-return dev_storage + 2055;
+return dev_storage + 2121;
}
}
@@ -22183,7 +21144,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc5", 10) == 0)
{
{
-return dev_storage + 2040;
+return dev_storage + 2106;
}
}
@@ -22198,7 +21159,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb5", 10) == 0)
{
{
-return dev_storage + 2025;
+return dev_storage + 2091;
}
}
@@ -22213,7 +21174,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda5", 10) == 0)
{
{
-return dev_storage + 2010;
+return dev_storage + 2076;
}
}
@@ -22231,7 +21192,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd15", 10) == 0)
{
{
-return dev_storage + 403;
+return dev_storage + 469;
}
}
@@ -22246,7 +21207,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd15", 10) == 0)
{
{
-return dev_storage + 317;
+return dev_storage + 383;
}
}
@@ -22276,7 +21237,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz5", 10) == 0)
{
{
-return dev_storage + 1971;
+return dev_storage + 2037;
}
}
@@ -22291,7 +21252,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy5", 10) == 0)
{
{
-return dev_storage + 1956;
+return dev_storage + 2022;
}
}
@@ -22306,7 +21267,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx5", 10) == 0)
{
{
-return dev_storage + 1941;
+return dev_storage + 2007;
}
}
@@ -22321,7 +21282,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw5", 10) == 0)
{
{
-return dev_storage + 1926;
+return dev_storage + 1992;
}
}
@@ -22336,7 +21297,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv5", 10) == 0)
{
{
-return dev_storage + 1911;
+return dev_storage + 1977;
}
}
@@ -22351,7 +21312,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu5", 10) == 0)
{
{
-return dev_storage + 1896;
+return dev_storage + 1962;
}
}
@@ -22366,7 +21327,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct5", 10) == 0)
{
{
-return dev_storage + 1881;
+return dev_storage + 1947;
}
}
@@ -22381,7 +21342,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs5", 10) == 0)
{
{
-return dev_storage + 1866;
+return dev_storage + 1932;
}
}
@@ -22396,7 +21357,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr5", 10) == 0)
{
{
-return dev_storage + 1851;
+return dev_storage + 1917;
}
}
@@ -22411,7 +21372,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq5", 10) == 0)
{
{
-return dev_storage + 1836;
+return dev_storage + 1902;
}
}
@@ -22426,7 +21387,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp5", 10) == 0)
{
{
-return dev_storage + 1821;
+return dev_storage + 1887;
}
}
@@ -22441,7 +21402,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco5", 10) == 0)
{
{
-return dev_storage + 1806;
+return dev_storage + 1872;
}
}
@@ -22456,7 +21417,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn5", 10) == 0)
{
{
-return dev_storage + 1791;
+return dev_storage + 1857;
}
}
@@ -22471,7 +21432,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm5", 10) == 0)
{
{
-return dev_storage + 1776;
+return dev_storage + 1842;
}
}
@@ -22486,7 +21447,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl5", 10) == 0)
{
{
-return dev_storage + 1761;
+return dev_storage + 1827;
}
}
@@ -22501,7 +21462,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck5", 10) == 0)
{
{
-return dev_storage + 1746;
+return dev_storage + 1812;
}
}
@@ -22516,7 +21477,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj5", 10) == 0)
{
{
-return dev_storage + 1731;
+return dev_storage + 1797;
}
}
@@ -22531,7 +21492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci5", 10) == 0)
{
{
-return dev_storage + 1716;
+return dev_storage + 1782;
}
}
@@ -22546,7 +21507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch5", 10) == 0)
{
{
-return dev_storage + 1701;
+return dev_storage + 1767;
}
}
@@ -22561,7 +21522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg5", 10) == 0)
{
{
-return dev_storage + 1686;
+return dev_storage + 1752;
}
}
@@ -22576,7 +21537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf5", 10) == 0)
{
{
-return dev_storage + 1671;
+return dev_storage + 1737;
}
}
@@ -22591,7 +21552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce5", 10) == 0)
{
{
-return dev_storage + 1656;
+return dev_storage + 1722;
}
}
@@ -22606,7 +21567,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd5", 10) == 0)
{
{
-return dev_storage + 1641;
+return dev_storage + 1707;
}
}
@@ -22621,7 +21582,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc5", 10) == 0)
{
{
-return dev_storage + 1626;
+return dev_storage + 1692;
}
}
@@ -22636,7 +21597,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb5", 10) == 0)
{
{
-return dev_storage + 1611;
+return dev_storage + 1677;
}
}
@@ -22651,7 +21612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca5", 10) == 0)
{
{
-return dev_storage + 1596;
+return dev_storage + 1662;
}
}
@@ -22666,7 +21627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc15", 10) == 0)
{
{
-return dev_storage + 388;
+return dev_storage + 454;
}
}
@@ -22690,7 +21651,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz5", 10) == 0)
{
{
-return dev_storage + 1555;
+return dev_storage + 1621;
}
}
@@ -22705,7 +21666,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby5", 10) == 0)
{
{
-return dev_storage + 1540;
+return dev_storage + 1606;
}
}
@@ -22720,7 +21681,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx5", 10) == 0)
{
{
-return dev_storage + 1525;
+return dev_storage + 1591;
}
}
@@ -22735,7 +21696,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw5", 10) == 0)
{
{
-return dev_storage + 1510;
+return dev_storage + 1576;
}
}
@@ -22750,7 +21711,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv5", 10) == 0)
{
{
-return dev_storage + 1495;
+return dev_storage + 1561;
}
}
@@ -22765,7 +21726,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu5", 10) == 0)
{
{
-return dev_storage + 1480;
+return dev_storage + 1546;
}
}
@@ -22780,7 +21741,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt5", 10) == 0)
{
{
-return dev_storage + 1465;
+return dev_storage + 1531;
}
}
@@ -22795,7 +21756,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs5", 10) == 0)
{
{
-return dev_storage + 1450;
+return dev_storage + 1516;
}
}
@@ -22810,7 +21771,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr5", 10) == 0)
{
{
-return dev_storage + 1435;
+return dev_storage + 1501;
}
}
@@ -22825,7 +21786,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq5", 10) == 0)
{
{
-return dev_storage + 1420;
+return dev_storage + 1486;
}
}
@@ -22840,7 +21801,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp5", 10) == 0)
{
{
-return dev_storage + 1405;
+return dev_storage + 1471;
}
}
@@ -22855,7 +21816,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo5", 10) == 0)
{
{
-return dev_storage + 1390;
+return dev_storage + 1456;
}
}
@@ -22870,7 +21831,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn5", 10) == 0)
{
{
-return dev_storage + 1375;
+return dev_storage + 1441;
}
}
@@ -22885,7 +21846,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm5", 10) == 0)
{
{
-return dev_storage + 1360;
+return dev_storage + 1426;
}
}
@@ -22900,7 +21861,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl5", 10) == 0)
{
{
-return dev_storage + 1345;
+return dev_storage + 1411;
}
}
@@ -22915,7 +21876,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk5", 10) == 0)
{
{
-return dev_storage + 1330;
+return dev_storage + 1396;
}
}
@@ -22930,7 +21891,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj5", 10) == 0)
{
{
-return dev_storage + 1315;
+return dev_storage + 1381;
}
}
@@ -22945,7 +21906,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi5", 10) == 0)
{
{
-return dev_storage + 1300;
+return dev_storage + 1366;
}
}
@@ -22960,7 +21921,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh5", 10) == 0)
{
{
-return dev_storage + 1285;
+return dev_storage + 1351;
}
}
@@ -22975,7 +21936,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg5", 10) == 0)
{
{
-return dev_storage + 1270;
+return dev_storage + 1336;
}
}
@@ -22990,7 +21951,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf5", 10) == 0)
{
{
-return dev_storage + 1255;
+return dev_storage + 1321;
}
}
@@ -23005,7 +21966,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe5", 10) == 0)
{
{
-return dev_storage + 1240;
+return dev_storage + 1306;
}
}
@@ -23020,7 +21981,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd5", 10) == 0)
{
{
-return dev_storage + 1225;
+return dev_storage + 1291;
}
}
@@ -23035,7 +21996,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc5", 10) == 0)
{
{
-return dev_storage + 1210;
+return dev_storage + 1276;
}
}
@@ -23050,7 +22011,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb5", 10) == 0)
{
{
-return dev_storage + 1195;
+return dev_storage + 1261;
}
}
@@ -23065,7 +22026,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba5", 10) == 0)
{
{
-return dev_storage + 1180;
+return dev_storage + 1246;
}
}
@@ -23080,7 +22041,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb15", 10) == 0)
{
{
-return dev_storage + 373;
+return dev_storage + 439;
}
}
@@ -23104,7 +22065,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz5", 10) == 0)
{
{
-return dev_storage + 1139;
+return dev_storage + 1205;
}
}
@@ -23119,7 +22080,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday5", 10) == 0)
{
{
-return dev_storage + 1124;
+return dev_storage + 1190;
}
}
@@ -23134,7 +22095,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax5", 10) == 0)
{
{
-return dev_storage + 1109;
+return dev_storage + 1175;
}
}
@@ -23149,7 +22110,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw5", 10) == 0)
{
{
-return dev_storage + 1094;
+return dev_storage + 1160;
}
}
@@ -23164,7 +22125,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav5", 10) == 0)
{
{
-return dev_storage + 1079;
+return dev_storage + 1145;
}
}
@@ -23179,7 +22140,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau5", 10) == 0)
{
{
-return dev_storage + 1064;
+return dev_storage + 1130;
}
}
@@ -23194,7 +22155,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat5", 10) == 0)
{
{
-return dev_storage + 1049;
+return dev_storage + 1115;
}
}
@@ -23209,7 +22170,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas5", 10) == 0)
{
{
-return dev_storage + 1034;
+return dev_storage + 1100;
}
}
@@ -23224,7 +22185,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar5", 10) == 0)
{
{
-return dev_storage + 1019;
+return dev_storage + 1085;
}
}
@@ -23239,7 +22200,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq5", 10) == 0)
{
{
-return dev_storage + 1004;
+return dev_storage + 1070;
}
}
@@ -23254,7 +22215,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap5", 10) == 0)
{
{
-return dev_storage + 989;
+return dev_storage + 1055;
}
}
@@ -23269,7 +22230,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao5", 10) == 0)
{
{
-return dev_storage + 974;
+return dev_storage + 1040;
}
}
@@ -23284,7 +22245,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan5", 10) == 0)
{
{
-return dev_storage + 959;
+return dev_storage + 1025;
}
}
@@ -23299,7 +22260,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam5", 10) == 0)
{
{
-return dev_storage + 944;
+return dev_storage + 1010;
}
}
@@ -23314,7 +22275,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal5", 10) == 0)
{
{
-return dev_storage + 929;
+return dev_storage + 995;
}
}
@@ -23329,7 +22290,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak5", 10) == 0)
{
{
-return dev_storage + 914;
+return dev_storage + 980;
}
}
@@ -23344,7 +22305,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj5", 10) == 0)
{
{
-return dev_storage + 899;
+return dev_storage + 965;
}
}
@@ -23359,7 +22320,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai5", 10) == 0)
{
{
-return dev_storage + 884;
+return dev_storage + 950;
}
}
@@ -23374,7 +22335,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah5", 10) == 0)
{
{
-return dev_storage + 869;
+return dev_storage + 935;
}
}
@@ -23389,7 +22350,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag5", 10) == 0)
{
{
-return dev_storage + 854;
+return dev_storage + 920;
}
}
@@ -23404,7 +22365,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf5", 10) == 0)
{
{
-return dev_storage + 839;
+return dev_storage + 905;
}
}
@@ -23419,7 +22380,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae5", 10) == 0)
{
{
-return dev_storage + 824;
+return dev_storage + 890;
}
}
@@ -23434,7 +22395,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad5", 10) == 0)
{
{
-return dev_storage + 809;
+return dev_storage + 875;
}
}
@@ -23449,7 +22410,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac5", 10) == 0)
{
{
-return dev_storage + 794;
+return dev_storage + 860;
}
}
@@ -23464,7 +22425,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab5", 10) == 0)
{
{
-return dev_storage + 779;
+return dev_storage + 845;
}
}
@@ -23479,7 +22440,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa5", 10) == 0)
{
{
-return dev_storage + 764;
+return dev_storage + 830;
}
}
@@ -23494,7 +22455,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda15", 10) == 0)
{
{
-return dev_storage + 358;
+return dev_storage + 424;
}
}
@@ -23518,7 +22479,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st125", 10) == 0)
{
{
-return dev_storage + 2507;
+return dev_storage + 2573;
}
}
@@ -23533,7 +22494,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st115", 10) == 0)
{
{
-return dev_storage + 2497;
+return dev_storage + 2563;
}
}
@@ -23548,7 +22509,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st105", 10) == 0)
{
{
-return dev_storage + 2487;
+return dev_storage + 2553;
}
}
@@ -23578,7 +22539,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz14", 10) == 0)
{
{
-return dev_storage + 732;
+return dev_storage + 798;
}
}
@@ -23592,11 +22553,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym4", 10) == 0)
+ {
+{
+return dev_storage + 307;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS4", 10) == 0)
{
{
-return dev_storage + 2515;
+return dev_storage + 2581;
}
}
@@ -23611,7 +22587,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty54", 10) == 0)
{
{
-return dev_storage + 291;
+return dev_storage + 293;
}
}
@@ -23626,7 +22602,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty44", 10) == 0)
{
{
-return dev_storage + 281;
+return dev_storage + 283;
}
}
@@ -23641,7 +22617,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty34", 10) == 0)
{
{
-return dev_storage + 271;
+return dev_storage + 273;
}
}
@@ -23656,7 +22632,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty24", 10) == 0)
{
{
-return dev_storage + 261;
+return dev_storage + 263;
}
}
@@ -23674,7 +22650,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy14", 10) == 0)
{
{
-return dev_storage + 717;
+return dev_storage + 783;
}
}
@@ -23689,7 +22665,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty14", 10) == 0)
{
{
-return dev_storage + 251;
+return dev_storage + 253;
}
}
@@ -23716,7 +22692,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx14", 10) == 0)
{
{
-return dev_storage + 702;
+return dev_storage + 768;
}
}
@@ -23731,7 +22707,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw14", 10) == 0)
{
{
-return dev_storage + 687;
+return dev_storage + 753;
}
}
@@ -23746,7 +22722,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv14", 10) == 0)
{
{
-return dev_storage + 672;
+return dev_storage + 738;
}
}
@@ -23761,7 +22737,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu14", 10) == 0)
{
{
-return dev_storage + 657;
+return dev_storage + 723;
}
}
@@ -23779,7 +22755,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst94", 10) == 0)
{
{
-return dev_storage + 200;
+return dev_storage + 201;
}
}
@@ -23794,7 +22770,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst84", 10) == 0)
{
{
-return dev_storage + 190;
+return dev_storage + 191;
}
}
@@ -23809,7 +22785,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst74", 10) == 0)
{
{
-return dev_storage + 180;
+return dev_storage + 181;
}
}
@@ -23824,7 +22800,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst64", 10) == 0)
{
{
-return dev_storage + 170;
+return dev_storage + 171;
}
}
@@ -23839,7 +22815,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst54", 10) == 0)
{
{
-return dev_storage + 160;
+return dev_storage + 161;
}
}
@@ -23854,7 +22830,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst44", 10) == 0)
{
{
-return dev_storage + 150;
+return dev_storage + 151;
}
}
@@ -23869,7 +22845,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst34", 10) == 0)
{
{
-return dev_storage + 140;
+return dev_storage + 141;
}
}
@@ -23884,7 +22860,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst24", 10) == 0)
{
{
-return dev_storage + 130;
+return dev_storage + 131;
}
}
@@ -23902,7 +22878,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt14", 10) == 0)
{
{
-return dev_storage + 642;
+return dev_storage + 708;
}
}
@@ -23917,7 +22893,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst14", 10) == 0)
{
{
-return dev_storage + 120;
+return dev_storage + 121;
}
}
@@ -23944,7 +22920,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds14", 10) == 0)
{
{
-return dev_storage + 627;
+return dev_storage + 693;
}
}
@@ -23959,7 +22935,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr14", 10) == 0)
{
{
-return dev_storage + 612;
+return dev_storage + 678;
}
}
@@ -23974,7 +22950,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq14", 10) == 0)
{
{
-return dev_storage + 597;
+return dev_storage + 663;
}
}
@@ -23989,7 +22965,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp14", 10) == 0)
{
{
-return dev_storage + 582;
+return dev_storage + 648;
}
}
@@ -24004,7 +22980,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo14", 10) == 0)
{
{
-return dev_storage + 567;
+return dev_storage + 633;
}
}
@@ -24022,7 +22998,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn14", 10) == 0)
{
{
-return dev_storage + 552;
+return dev_storage + 618;
}
}
@@ -24061,7 +23037,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm14", 10) == 0)
{
{
-return dev_storage + 537;
+return dev_storage + 603;
}
}
@@ -24097,7 +23073,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl14", 10) == 0)
{
{
-return dev_storage + 522;
+return dev_storage + 588;
}
}
@@ -24112,7 +23088,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk14", 10) == 0)
{
{
-return dev_storage + 507;
+return dev_storage + 573;
}
}
@@ -24127,7 +23103,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj14", 10) == 0)
{
{
-return dev_storage + 492;
+return dev_storage + 558;
}
}
@@ -24142,7 +23118,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi14", 10) == 0)
{
{
-return dev_storage + 477;
+return dev_storage + 543;
}
}
@@ -24157,7 +23133,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh14", 10) == 0)
{
{
-return dev_storage + 462;
+return dev_storage + 528;
}
}
@@ -24172,7 +23148,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg14", 10) == 0)
{
{
-return dev_storage + 447;
+return dev_storage + 513;
}
}
@@ -24187,7 +23163,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf14", 10) == 0)
{
{
-return dev_storage + 432;
+return dev_storage + 498;
}
}
@@ -24202,7 +23178,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde14", 10) == 0)
{
{
-return dev_storage + 417;
+return dev_storage + 483;
}
}
@@ -24220,7 +23196,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx4", 10) == 0)
{
{
-return dev_storage + 2354;
+return dev_storage + 2420;
}
}
@@ -24235,7 +23211,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw4", 10) == 0)
{
{
-return dev_storage + 2339;
+return dev_storage + 2405;
}
}
@@ -24250,7 +23226,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv4", 10) == 0)
{
{
-return dev_storage + 2324;
+return dev_storage + 2390;
}
}
@@ -24265,7 +23241,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu4", 10) == 0)
{
{
-return dev_storage + 2309;
+return dev_storage + 2375;
}
}
@@ -24280,7 +23256,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt4", 10) == 0)
{
{
-return dev_storage + 2294;
+return dev_storage + 2360;
}
}
@@ -24295,7 +23271,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds4", 10) == 0)
{
{
-return dev_storage + 2279;
+return dev_storage + 2345;
}
}
@@ -24310,7 +23286,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr4", 10) == 0)
{
{
-return dev_storage + 2264;
+return dev_storage + 2330;
}
}
@@ -24325,7 +23301,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq4", 10) == 0)
{
{
-return dev_storage + 2249;
+return dev_storage + 2315;
}
}
@@ -24340,7 +23316,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp4", 10) == 0)
{
{
-return dev_storage + 2234;
+return dev_storage + 2300;
}
}
@@ -24355,7 +23331,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo4", 10) == 0)
{
{
-return dev_storage + 2219;
+return dev_storage + 2285;
}
}
@@ -24370,7 +23346,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn4", 10) == 0)
{
{
-return dev_storage + 2204;
+return dev_storage + 2270;
}
}
@@ -24385,7 +23361,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm4", 10) == 0)
{
{
-return dev_storage + 2189;
+return dev_storage + 2255;
}
}
@@ -24400,7 +23376,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl4", 10) == 0)
{
{
-return dev_storage + 2174;
+return dev_storage + 2240;
}
}
@@ -24415,7 +23391,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk4", 10) == 0)
{
{
-return dev_storage + 2159;
+return dev_storage + 2225;
}
}
@@ -24430,7 +23406,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj4", 10) == 0)
{
{
-return dev_storage + 2144;
+return dev_storage + 2210;
}
}
@@ -24445,7 +23421,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi4", 10) == 0)
{
{
-return dev_storage + 2129;
+return dev_storage + 2195;
}
}
@@ -24460,7 +23436,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh4", 10) == 0)
{
{
-return dev_storage + 2114;
+return dev_storage + 2180;
}
}
@@ -24475,7 +23451,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg4", 10) == 0)
{
{
-return dev_storage + 2099;
+return dev_storage + 2165;
}
}
@@ -24490,7 +23466,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf4", 10) == 0)
{
{
-return dev_storage + 2084;
+return dev_storage + 2150;
}
}
@@ -24505,7 +23481,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde4", 10) == 0)
{
{
-return dev_storage + 2069;
+return dev_storage + 2135;
}
}
@@ -24520,7 +23496,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd4", 10) == 0)
{
{
-return dev_storage + 2054;
+return dev_storage + 2120;
}
}
@@ -24535,7 +23511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc4", 10) == 0)
{
{
-return dev_storage + 2039;
+return dev_storage + 2105;
}
}
@@ -24550,7 +23526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb4", 10) == 0)
{
{
-return dev_storage + 2024;
+return dev_storage + 2090;
}
}
@@ -24565,7 +23541,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda4", 10) == 0)
{
{
-return dev_storage + 2009;
+return dev_storage + 2075;
}
}
@@ -24583,7 +23559,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd14", 10) == 0)
{
{
-return dev_storage + 402;
+return dev_storage + 468;
}
}
@@ -24598,7 +23574,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd14", 10) == 0)
{
{
-return dev_storage + 316;
+return dev_storage + 382;
}
}
@@ -24628,7 +23604,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz4", 10) == 0)
{
{
-return dev_storage + 1970;
+return dev_storage + 2036;
}
}
@@ -24643,7 +23619,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy4", 10) == 0)
{
{
-return dev_storage + 1955;
+return dev_storage + 2021;
}
}
@@ -24658,7 +23634,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx4", 10) == 0)
{
{
-return dev_storage + 1940;
+return dev_storage + 2006;
}
}
@@ -24673,7 +23649,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw4", 10) == 0)
{
{
-return dev_storage + 1925;
+return dev_storage + 1991;
}
}
@@ -24688,7 +23664,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv4", 10) == 0)
{
{
-return dev_storage + 1910;
+return dev_storage + 1976;
}
}
@@ -24703,7 +23679,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu4", 10) == 0)
{
{
-return dev_storage + 1895;
+return dev_storage + 1961;
}
}
@@ -24718,7 +23694,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct4", 10) == 0)
{
{
-return dev_storage + 1880;
+return dev_storage + 1946;
}
}
@@ -24733,7 +23709,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs4", 10) == 0)
{
{
-return dev_storage + 1865;
+return dev_storage + 1931;
}
}
@@ -24748,7 +23724,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr4", 10) == 0)
{
{
-return dev_storage + 1850;
+return dev_storage + 1916;
}
}
@@ -24763,7 +23739,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq4", 10) == 0)
{
{
-return dev_storage + 1835;
+return dev_storage + 1901;
}
}
@@ -24778,7 +23754,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp4", 10) == 0)
{
{
-return dev_storage + 1820;
+return dev_storage + 1886;
}
}
@@ -24793,7 +23769,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco4", 10) == 0)
{
{
-return dev_storage + 1805;
+return dev_storage + 1871;
}
}
@@ -24808,7 +23784,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn4", 10) == 0)
{
{
-return dev_storage + 1790;
+return dev_storage + 1856;
}
}
@@ -24823,7 +23799,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm4", 10) == 0)
{
{
-return dev_storage + 1775;
+return dev_storage + 1841;
}
}
@@ -24838,7 +23814,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl4", 10) == 0)
{
{
-return dev_storage + 1760;
+return dev_storage + 1826;
}
}
@@ -24853,7 +23829,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck4", 10) == 0)
{
{
-return dev_storage + 1745;
+return dev_storage + 1811;
}
}
@@ -24868,7 +23844,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj4", 10) == 0)
{
{
-return dev_storage + 1730;
+return dev_storage + 1796;
}
}
@@ -24883,7 +23859,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci4", 10) == 0)
{
{
-return dev_storage + 1715;
+return dev_storage + 1781;
}
}
@@ -24898,7 +23874,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch4", 10) == 0)
{
{
-return dev_storage + 1700;
+return dev_storage + 1766;
}
}
@@ -24913,7 +23889,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg4", 10) == 0)
{
{
-return dev_storage + 1685;
+return dev_storage + 1751;
}
}
@@ -24928,7 +23904,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf4", 10) == 0)
{
{
-return dev_storage + 1670;
+return dev_storage + 1736;
}
}
@@ -24943,7 +23919,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce4", 10) == 0)
{
{
-return dev_storage + 1655;
+return dev_storage + 1721;
}
}
@@ -24958,7 +23934,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd4", 10) == 0)
{
{
-return dev_storage + 1640;
+return dev_storage + 1706;
}
}
@@ -24973,7 +23949,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc4", 10) == 0)
{
{
-return dev_storage + 1625;
+return dev_storage + 1691;
}
}
@@ -24988,7 +23964,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb4", 10) == 0)
{
{
-return dev_storage + 1610;
+return dev_storage + 1676;
}
}
@@ -25003,7 +23979,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca4", 10) == 0)
{
{
-return dev_storage + 1595;
+return dev_storage + 1661;
}
}
@@ -25018,7 +23994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc14", 10) == 0)
{
{
-return dev_storage + 387;
+return dev_storage + 453;
}
}
@@ -25042,7 +24018,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz4", 10) == 0)
{
{
-return dev_storage + 1554;
+return dev_storage + 1620;
}
}
@@ -25057,7 +24033,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby4", 10) == 0)
{
{
-return dev_storage + 1539;
+return dev_storage + 1605;
}
}
@@ -25072,7 +24048,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx4", 10) == 0)
{
{
-return dev_storage + 1524;
+return dev_storage + 1590;
}
}
@@ -25087,7 +24063,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw4", 10) == 0)
{
{
-return dev_storage + 1509;
+return dev_storage + 1575;
}
}
@@ -25102,7 +24078,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv4", 10) == 0)
{
{
-return dev_storage + 1494;
+return dev_storage + 1560;
}
}
@@ -25117,7 +24093,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu4", 10) == 0)
{
{
-return dev_storage + 1479;
+return dev_storage + 1545;
}
}
@@ -25132,7 +24108,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt4", 10) == 0)
{
{
-return dev_storage + 1464;
+return dev_storage + 1530;
}
}
@@ -25147,7 +24123,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs4", 10) == 0)
{
{
-return dev_storage + 1449;
+return dev_storage + 1515;
}
}
@@ -25162,7 +24138,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr4", 10) == 0)
{
{
-return dev_storage + 1434;
+return dev_storage + 1500;
}
}
@@ -25177,7 +24153,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq4", 10) == 0)
{
{
-return dev_storage + 1419;
+return dev_storage + 1485;
}
}
@@ -25192,7 +24168,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp4", 10) == 0)
{
{
-return dev_storage + 1404;
+return dev_storage + 1470;
}
}
@@ -25207,7 +24183,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo4", 10) == 0)
{
{
-return dev_storage + 1389;
+return dev_storage + 1455;
}
}
@@ -25222,7 +24198,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn4", 10) == 0)
{
{
-return dev_storage + 1374;
+return dev_storage + 1440;
}
}
@@ -25237,7 +24213,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm4", 10) == 0)
{
{
-return dev_storage + 1359;
+return dev_storage + 1425;
}
}
@@ -25252,7 +24228,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl4", 10) == 0)
{
{
-return dev_storage + 1344;
+return dev_storage + 1410;
}
}
@@ -25267,7 +24243,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk4", 10) == 0)
{
{
-return dev_storage + 1329;
+return dev_storage + 1395;
}
}
@@ -25282,7 +24258,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj4", 10) == 0)
{
{
-return dev_storage + 1314;
+return dev_storage + 1380;
}
}
@@ -25297,7 +24273,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi4", 10) == 0)
{
{
-return dev_storage + 1299;
+return dev_storage + 1365;
}
}
@@ -25312,7 +24288,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh4", 10) == 0)
{
{
-return dev_storage + 1284;
+return dev_storage + 1350;
}
}
@@ -25327,7 +24303,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg4", 10) == 0)
{
{
-return dev_storage + 1269;
+return dev_storage + 1335;
}
}
@@ -25342,7 +24318,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf4", 10) == 0)
{
{
-return dev_storage + 1254;
+return dev_storage + 1320;
}
}
@@ -25357,7 +24333,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe4", 10) == 0)
{
{
-return dev_storage + 1239;
+return dev_storage + 1305;
}
}
@@ -25372,7 +24348,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd4", 10) == 0)
{
{
-return dev_storage + 1224;
+return dev_storage + 1290;
}
}
@@ -25387,7 +24363,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc4", 10) == 0)
{
{
-return dev_storage + 1209;
+return dev_storage + 1275;
}
}
@@ -25402,7 +24378,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb4", 10) == 0)
{
{
-return dev_storage + 1194;
+return dev_storage + 1260;
}
}
@@ -25417,7 +24393,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba4", 10) == 0)
{
{
-return dev_storage + 1179;
+return dev_storage + 1245;
}
}
@@ -25432,7 +24408,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb14", 10) == 0)
{
{
-return dev_storage + 372;
+return dev_storage + 438;
}
}
@@ -25456,7 +24432,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz4", 10) == 0)
{
{
-return dev_storage + 1138;
+return dev_storage + 1204;
}
}
@@ -25471,7 +24447,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday4", 10) == 0)
{
{
-return dev_storage + 1123;
+return dev_storage + 1189;
}
}
@@ -25486,7 +24462,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax4", 10) == 0)
{
{
-return dev_storage + 1108;
+return dev_storage + 1174;
}
}
@@ -25501,7 +24477,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw4", 10) == 0)
{
{
-return dev_storage + 1093;
+return dev_storage + 1159;
}
}
@@ -25516,7 +24492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav4", 10) == 0)
{
{
-return dev_storage + 1078;
+return dev_storage + 1144;
}
}
@@ -25531,7 +24507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau4", 10) == 0)
{
{
-return dev_storage + 1063;
+return dev_storage + 1129;
}
}
@@ -25546,7 +24522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat4", 10) == 0)
{
{
-return dev_storage + 1048;
+return dev_storage + 1114;
}
}
@@ -25561,7 +24537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas4", 10) == 0)
{
{
-return dev_storage + 1033;
+return dev_storage + 1099;
}
}
@@ -25576,7 +24552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar4", 10) == 0)
{
{
-return dev_storage + 1018;
+return dev_storage + 1084;
}
}
@@ -25591,7 +24567,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq4", 10) == 0)
{
{
-return dev_storage + 1003;
+return dev_storage + 1069;
}
}
@@ -25606,7 +24582,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap4", 10) == 0)
{
{
-return dev_storage + 988;
+return dev_storage + 1054;
}
}
@@ -25621,7 +24597,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao4", 10) == 0)
{
{
-return dev_storage + 973;
+return dev_storage + 1039;
}
}
@@ -25636,7 +24612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan4", 10) == 0)
{
{
-return dev_storage + 958;
+return dev_storage + 1024;
}
}
@@ -25651,7 +24627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam4", 10) == 0)
{
{
-return dev_storage + 943;
+return dev_storage + 1009;
}
}
@@ -25666,7 +24642,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal4", 10) == 0)
{
{
-return dev_storage + 928;
+return dev_storage + 994;
}
}
@@ -25681,7 +24657,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak4", 10) == 0)
{
{
-return dev_storage + 913;
+return dev_storage + 979;
}
}
@@ -25696,7 +24672,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj4", 10) == 0)
{
{
-return dev_storage + 898;
+return dev_storage + 964;
}
}
@@ -25711,7 +24687,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai4", 10) == 0)
{
{
-return dev_storage + 883;
+return dev_storage + 949;
}
}
@@ -25726,7 +24702,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah4", 10) == 0)
{
{
-return dev_storage + 868;
+return dev_storage + 934;
}
}
@@ -25741,7 +24717,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag4", 10) == 0)
{
{
-return dev_storage + 853;
+return dev_storage + 919;
}
}
@@ -25756,7 +24732,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf4", 10) == 0)
{
{
-return dev_storage + 838;
+return dev_storage + 904;
}
}
@@ -25771,7 +24747,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae4", 10) == 0)
{
{
-return dev_storage + 823;
+return dev_storage + 889;
}
}
@@ -25786,7 +24762,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad4", 10) == 0)
{
{
-return dev_storage + 808;
+return dev_storage + 874;
}
}
@@ -25801,7 +24777,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac4", 10) == 0)
{
{
-return dev_storage + 793;
+return dev_storage + 859;
}
}
@@ -25816,7 +24792,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab4", 10) == 0)
{
{
-return dev_storage + 778;
+return dev_storage + 844;
}
}
@@ -25831,7 +24807,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa4", 10) == 0)
{
{
-return dev_storage + 763;
+return dev_storage + 829;
}
}
@@ -25846,7 +24822,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda14", 10) == 0)
{
{
-return dev_storage + 357;
+return dev_storage + 423;
}
}
@@ -25870,7 +24846,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st124", 10) == 0)
{
{
-return dev_storage + 2506;
+return dev_storage + 2572;
}
}
@@ -25885,7 +24861,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st114", 10) == 0)
{
{
-return dev_storage + 2496;
+return dev_storage + 2562;
}
}
@@ -25900,7 +24876,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st104", 10) == 0)
{
{
-return dev_storage + 2486;
+return dev_storage + 2552;
}
}
@@ -25930,7 +24906,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz13", 10) == 0)
{
{
-return dev_storage + 731;
+return dev_storage + 797;
}
}
@@ -25944,11 +24920,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym3", 10) == 0)
+ {
+{
+return dev_storage + 306;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS3", 10) == 0)
{
{
-return dev_storage + 2514;
+return dev_storage + 2580;
}
}
@@ -25963,7 +24954,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty63", 10) == 0)
{
{
-return dev_storage + 300;
+return dev_storage + 302;
}
}
@@ -25978,7 +24969,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty53", 10) == 0)
{
{
-return dev_storage + 290;
+return dev_storage + 292;
}
}
@@ -25993,7 +24984,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty43", 10) == 0)
{
{
-return dev_storage + 280;
+return dev_storage + 282;
}
}
@@ -26008,7 +24999,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty33", 10) == 0)
{
{
-return dev_storage + 270;
+return dev_storage + 272;
}
}
@@ -26023,7 +25014,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty23", 10) == 0)
{
{
-return dev_storage + 260;
+return dev_storage + 262;
}
}
@@ -26041,7 +25032,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy13", 10) == 0)
{
{
-return dev_storage + 716;
+return dev_storage + 782;
}
}
@@ -26056,7 +25047,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty13", 10) == 0)
{
{
-return dev_storage + 250;
+return dev_storage + 252;
}
}
@@ -26083,7 +25074,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx13", 10) == 0)
{
{
-return dev_storage + 701;
+return dev_storage + 767;
}
}
@@ -26098,7 +25089,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw13", 10) == 0)
{
{
-return dev_storage + 686;
+return dev_storage + 752;
}
}
@@ -26113,7 +25104,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv13", 10) == 0)
{
{
-return dev_storage + 671;
+return dev_storage + 737;
}
}
@@ -26128,7 +25119,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu13", 10) == 0)
{
{
-return dev_storage + 656;
+return dev_storage + 722;
}
}
@@ -26146,7 +25137,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst93", 10) == 0)
{
{
-return dev_storage + 199;
+return dev_storage + 200;
}
}
@@ -26161,7 +25152,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst83", 10) == 0)
{
{
-return dev_storage + 189;
+return dev_storage + 190;
}
}
@@ -26176,7 +25167,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst73", 10) == 0)
{
{
-return dev_storage + 179;
+return dev_storage + 180;
}
}
@@ -26191,7 +25182,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst63", 10) == 0)
{
{
-return dev_storage + 169;
+return dev_storage + 170;
}
}
@@ -26206,7 +25197,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst53", 10) == 0)
{
{
-return dev_storage + 159;
+return dev_storage + 160;
}
}
@@ -26221,7 +25212,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst43", 10) == 0)
{
{
-return dev_storage + 149;
+return dev_storage + 150;
}
}
@@ -26236,7 +25227,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst33", 10) == 0)
{
{
-return dev_storage + 139;
+return dev_storage + 140;
}
}
@@ -26251,7 +25242,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst23", 10) == 0)
{
{
-return dev_storage + 129;
+return dev_storage + 130;
}
}
@@ -26269,7 +25260,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt13", 10) == 0)
{
{
-return dev_storage + 641;
+return dev_storage + 707;
}
}
@@ -26284,7 +25275,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst13", 10) == 0)
{
{
-return dev_storage + 119;
+return dev_storage + 120;
}
}
@@ -26311,7 +25302,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds13", 10) == 0)
{
{
-return dev_storage + 626;
+return dev_storage + 692;
}
}
@@ -26326,7 +25317,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr13", 10) == 0)
{
{
-return dev_storage + 611;
+return dev_storage + 677;
}
}
@@ -26341,7 +25332,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq13", 10) == 0)
{
{
-return dev_storage + 596;
+return dev_storage + 662;
}
}
@@ -26356,7 +25347,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp13", 10) == 0)
{
{
-return dev_storage + 581;
+return dev_storage + 647;
}
}
@@ -26371,7 +25362,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo13", 10) == 0)
{
{
-return dev_storage + 566;
+return dev_storage + 632;
}
}
@@ -26389,7 +25380,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn13", 10) == 0)
{
{
-return dev_storage + 551;
+return dev_storage + 617;
}
}
@@ -26428,7 +25419,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm13", 10) == 0)
{
{
-return dev_storage + 536;
+return dev_storage + 602;
}
}
@@ -26464,7 +25455,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl13", 10) == 0)
{
{
-return dev_storage + 521;
+return dev_storage + 587;
}
}
@@ -26479,7 +25470,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk13", 10) == 0)
{
{
-return dev_storage + 506;
+return dev_storage + 572;
}
}
@@ -26494,7 +25485,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj13", 10) == 0)
{
{
-return dev_storage + 491;
+return dev_storage + 557;
}
}
@@ -26509,7 +25500,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi13", 10) == 0)
{
{
-return dev_storage + 476;
+return dev_storage + 542;
}
}
@@ -26524,7 +25515,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh13", 10) == 0)
{
{
-return dev_storage + 461;
+return dev_storage + 527;
}
}
@@ -26539,7 +25530,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg13", 10) == 0)
{
{
-return dev_storage + 446;
+return dev_storage + 512;
}
}
@@ -26554,7 +25545,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf13", 10) == 0)
{
{
-return dev_storage + 431;
+return dev_storage + 497;
}
}
@@ -26569,7 +25560,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde13", 10) == 0)
{
{
-return dev_storage + 416;
+return dev_storage + 482;
}
}
@@ -26587,7 +25578,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx3", 10) == 0)
{
{
-return dev_storage + 2353;
+return dev_storage + 2419;
}
}
@@ -26602,7 +25593,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw3", 10) == 0)
{
{
-return dev_storage + 2338;
+return dev_storage + 2404;
}
}
@@ -26617,7 +25608,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv3", 10) == 0)
{
{
-return dev_storage + 2323;
+return dev_storage + 2389;
}
}
@@ -26632,7 +25623,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu3", 10) == 0)
{
{
-return dev_storage + 2308;
+return dev_storage + 2374;
}
}
@@ -26647,7 +25638,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt3", 10) == 0)
{
{
-return dev_storage + 2293;
+return dev_storage + 2359;
}
}
@@ -26662,7 +25653,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds3", 10) == 0)
{
{
-return dev_storage + 2278;
+return dev_storage + 2344;
}
}
@@ -26677,7 +25668,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr3", 10) == 0)
{
{
-return dev_storage + 2263;
+return dev_storage + 2329;
}
}
@@ -26692,7 +25683,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq3", 10) == 0)
{
{
-return dev_storage + 2248;
+return dev_storage + 2314;
}
}
@@ -26707,7 +25698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp3", 10) == 0)
{
{
-return dev_storage + 2233;
+return dev_storage + 2299;
}
}
@@ -26722,7 +25713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo3", 10) == 0)
{
{
-return dev_storage + 2218;
+return dev_storage + 2284;
}
}
@@ -26737,7 +25728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn3", 10) == 0)
{
{
-return dev_storage + 2203;
+return dev_storage + 2269;
}
}
@@ -26752,7 +25743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm3", 10) == 0)
{
{
-return dev_storage + 2188;
+return dev_storage + 2254;
}
}
@@ -26767,7 +25758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl3", 10) == 0)
{
{
-return dev_storage + 2173;
+return dev_storage + 2239;
}
}
@@ -26782,7 +25773,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk3", 10) == 0)
{
{
-return dev_storage + 2158;
+return dev_storage + 2224;
}
}
@@ -26797,7 +25788,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj3", 10) == 0)
{
{
-return dev_storage + 2143;
+return dev_storage + 2209;
}
}
@@ -26812,7 +25803,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi3", 10) == 0)
{
{
-return dev_storage + 2128;
+return dev_storage + 2194;
}
}
@@ -26827,7 +25818,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh3", 10) == 0)
{
{
-return dev_storage + 2113;
+return dev_storage + 2179;
}
}
@@ -26842,7 +25833,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg3", 10) == 0)
{
{
-return dev_storage + 2098;
+return dev_storage + 2164;
}
}
@@ -26857,7 +25848,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf3", 10) == 0)
{
{
-return dev_storage + 2083;
+return dev_storage + 2149;
}
}
@@ -26872,7 +25863,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde3", 10) == 0)
{
{
-return dev_storage + 2068;
+return dev_storage + 2134;
}
}
@@ -26887,7 +25878,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd3", 10) == 0)
{
{
-return dev_storage + 2053;
+return dev_storage + 2119;
}
}
@@ -26902,7 +25893,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc3", 10) == 0)
{
{
-return dev_storage + 2038;
+return dev_storage + 2104;
}
}
@@ -26917,7 +25908,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb3", 10) == 0)
{
{
-return dev_storage + 2023;
+return dev_storage + 2089;
}
}
@@ -26932,7 +25923,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda3", 10) == 0)
{
{
-return dev_storage + 2008;
+return dev_storage + 2074;
}
}
@@ -26950,7 +25941,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd13", 10) == 0)
{
{
-return dev_storage + 401;
+return dev_storage + 467;
}
}
@@ -26965,7 +25956,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd13", 10) == 0)
{
{
-return dev_storage + 315;
+return dev_storage + 381;
}
}
@@ -26995,7 +25986,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz3", 10) == 0)
{
{
-return dev_storage + 1969;
+return dev_storage + 2035;
}
}
@@ -27010,7 +26001,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy3", 10) == 0)
{
{
-return dev_storage + 1954;
+return dev_storage + 2020;
}
}
@@ -27025,7 +26016,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx3", 10) == 0)
{
{
-return dev_storage + 1939;
+return dev_storage + 2005;
}
}
@@ -27040,7 +26031,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw3", 10) == 0)
{
{
-return dev_storage + 1924;
+return dev_storage + 1990;
}
}
@@ -27055,7 +26046,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv3", 10) == 0)
{
{
-return dev_storage + 1909;
+return dev_storage + 1975;
}
}
@@ -27070,7 +26061,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu3", 10) == 0)
{
{
-return dev_storage + 1894;
+return dev_storage + 1960;
}
}
@@ -27085,7 +26076,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct3", 10) == 0)
{
{
-return dev_storage + 1879;
+return dev_storage + 1945;
}
}
@@ -27100,7 +26091,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs3", 10) == 0)
{
{
-return dev_storage + 1864;
+return dev_storage + 1930;
}
}
@@ -27115,7 +26106,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr3", 10) == 0)
{
{
-return dev_storage + 1849;
+return dev_storage + 1915;
}
}
@@ -27130,7 +26121,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq3", 10) == 0)
{
{
-return dev_storage + 1834;
+return dev_storage + 1900;
}
}
@@ -27145,7 +26136,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp3", 10) == 0)
{
{
-return dev_storage + 1819;
+return dev_storage + 1885;
}
}
@@ -27160,7 +26151,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco3", 10) == 0)
{
{
-return dev_storage + 1804;
+return dev_storage + 1870;
}
}
@@ -27175,7 +26166,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn3", 10) == 0)
{
{
-return dev_storage + 1789;
+return dev_storage + 1855;
}
}
@@ -27190,7 +26181,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm3", 10) == 0)
{
{
-return dev_storage + 1774;
+return dev_storage + 1840;
}
}
@@ -27205,7 +26196,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl3", 10) == 0)
{
{
-return dev_storage + 1759;
+return dev_storage + 1825;
}
}
@@ -27220,7 +26211,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck3", 10) == 0)
{
{
-return dev_storage + 1744;
+return dev_storage + 1810;
}
}
@@ -27235,7 +26226,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj3", 10) == 0)
{
{
-return dev_storage + 1729;
+return dev_storage + 1795;
}
}
@@ -27250,7 +26241,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci3", 10) == 0)
{
{
-return dev_storage + 1714;
+return dev_storage + 1780;
}
}
@@ -27265,7 +26256,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch3", 10) == 0)
{
{
-return dev_storage + 1699;
+return dev_storage + 1765;
}
}
@@ -27280,7 +26271,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg3", 10) == 0)
{
{
-return dev_storage + 1684;
+return dev_storage + 1750;
}
}
@@ -27295,7 +26286,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf3", 10) == 0)
{
{
-return dev_storage + 1669;
+return dev_storage + 1735;
}
}
@@ -27310,7 +26301,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce3", 10) == 0)
{
{
-return dev_storage + 1654;
+return dev_storage + 1720;
}
}
@@ -27325,7 +26316,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd3", 10) == 0)
{
{
-return dev_storage + 1639;
+return dev_storage + 1705;
}
}
@@ -27340,7 +26331,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc3", 10) == 0)
{
{
-return dev_storage + 1624;
+return dev_storage + 1690;
}
}
@@ -27355,7 +26346,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb3", 10) == 0)
{
{
-return dev_storage + 1609;
+return dev_storage + 1675;
}
}
@@ -27370,7 +26361,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca3", 10) == 0)
{
{
-return dev_storage + 1594;
+return dev_storage + 1660;
}
}
@@ -27385,7 +26376,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc13", 10) == 0)
{
{
-return dev_storage + 386;
+return dev_storage + 452;
}
}
@@ -27409,7 +26400,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz3", 10) == 0)
{
{
-return dev_storage + 1553;
+return dev_storage + 1619;
}
}
@@ -27424,7 +26415,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby3", 10) == 0)
{
{
-return dev_storage + 1538;
+return dev_storage + 1604;
}
}
@@ -27439,7 +26430,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx3", 10) == 0)
{
{
-return dev_storage + 1523;
+return dev_storage + 1589;
}
}
@@ -27454,7 +26445,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw3", 10) == 0)
{
{
-return dev_storage + 1508;
+return dev_storage + 1574;
}
}
@@ -27469,7 +26460,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv3", 10) == 0)
{
{
-return dev_storage + 1493;
+return dev_storage + 1559;
}
}
@@ -27484,7 +26475,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu3", 10) == 0)
{
{
-return dev_storage + 1478;
+return dev_storage + 1544;
}
}
@@ -27499,7 +26490,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt3", 10) == 0)
{
{
-return dev_storage + 1463;
+return dev_storage + 1529;
}
}
@@ -27514,7 +26505,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs3", 10) == 0)
{
{
-return dev_storage + 1448;
+return dev_storage + 1514;
}
}
@@ -27529,7 +26520,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr3", 10) == 0)
{
{
-return dev_storage + 1433;
+return dev_storage + 1499;
}
}
@@ -27544,7 +26535,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq3", 10) == 0)
{
{
-return dev_storage + 1418;
+return dev_storage + 1484;
}
}
@@ -27559,7 +26550,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp3", 10) == 0)
{
{
-return dev_storage + 1403;
+return dev_storage + 1469;
}
}
@@ -27574,7 +26565,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo3", 10) == 0)
{
{
-return dev_storage + 1388;
+return dev_storage + 1454;
}
}
@@ -27589,7 +26580,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn3", 10) == 0)
{
{
-return dev_storage + 1373;
+return dev_storage + 1439;
}
}
@@ -27604,7 +26595,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm3", 10) == 0)
{
{
-return dev_storage + 1358;
+return dev_storage + 1424;
}
}
@@ -27619,7 +26610,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl3", 10) == 0)
{
{
-return dev_storage + 1343;
+return dev_storage + 1409;
}
}
@@ -27634,7 +26625,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk3", 10) == 0)
{
{
-return dev_storage + 1328;
+return dev_storage + 1394;
}
}
@@ -27649,7 +26640,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj3", 10) == 0)
{
{
-return dev_storage + 1313;
+return dev_storage + 1379;
}
}
@@ -27664,7 +26655,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi3", 10) == 0)
{
{
-return dev_storage + 1298;
+return dev_storage + 1364;
}
}
@@ -27679,7 +26670,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh3", 10) == 0)
{
{
-return dev_storage + 1283;
+return dev_storage + 1349;
}
}
@@ -27694,7 +26685,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg3", 10) == 0)
{
{
-return dev_storage + 1268;
+return dev_storage + 1334;
}
}
@@ -27709,7 +26700,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf3", 10) == 0)
{
{
-return dev_storage + 1253;
+return dev_storage + 1319;
}
}
@@ -27724,7 +26715,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe3", 10) == 0)
{
{
-return dev_storage + 1238;
+return dev_storage + 1304;
}
}
@@ -27739,7 +26730,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd3", 10) == 0)
{
{
-return dev_storage + 1223;
+return dev_storage + 1289;
}
}
@@ -27754,7 +26745,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc3", 10) == 0)
{
{
-return dev_storage + 1208;
+return dev_storage + 1274;
}
}
@@ -27769,7 +26760,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb3", 10) == 0)
{
{
-return dev_storage + 1193;
+return dev_storage + 1259;
}
}
@@ -27784,7 +26775,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba3", 10) == 0)
{
{
-return dev_storage + 1178;
+return dev_storage + 1244;
}
}
@@ -27799,7 +26790,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb13", 10) == 0)
{
{
-return dev_storage + 371;
+return dev_storage + 437;
}
}
@@ -27823,7 +26814,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz3", 10) == 0)
{
{
-return dev_storage + 1137;
+return dev_storage + 1203;
}
}
@@ -27838,7 +26829,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday3", 10) == 0)
{
{
-return dev_storage + 1122;
+return dev_storage + 1188;
}
}
@@ -27853,7 +26844,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax3", 10) == 0)
{
{
-return dev_storage + 1107;
+return dev_storage + 1173;
}
}
@@ -27868,7 +26859,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw3", 10) == 0)
{
{
-return dev_storage + 1092;
+return dev_storage + 1158;
}
}
@@ -27883,7 +26874,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav3", 10) == 0)
{
{
-return dev_storage + 1077;
+return dev_storage + 1143;
}
}
@@ -27898,7 +26889,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau3", 10) == 0)
{
{
-return dev_storage + 1062;
+return dev_storage + 1128;
}
}
@@ -27913,7 +26904,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat3", 10) == 0)
{
{
-return dev_storage + 1047;
+return dev_storage + 1113;
}
}
@@ -27928,7 +26919,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas3", 10) == 0)
{
{
-return dev_storage + 1032;
+return dev_storage + 1098;
}
}
@@ -27943,7 +26934,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar3", 10) == 0)
{
{
-return dev_storage + 1017;
+return dev_storage + 1083;
}
}
@@ -27958,7 +26949,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq3", 10) == 0)
{
{
-return dev_storage + 1002;
+return dev_storage + 1068;
}
}
@@ -27973,7 +26964,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap3", 10) == 0)
{
{
-return dev_storage + 987;
+return dev_storage + 1053;
}
}
@@ -27988,7 +26979,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao3", 10) == 0)
{
{
-return dev_storage + 972;
+return dev_storage + 1038;
}
}
@@ -28003,7 +26994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan3", 10) == 0)
{
{
-return dev_storage + 957;
+return dev_storage + 1023;
}
}
@@ -28018,7 +27009,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam3", 10) == 0)
{
{
-return dev_storage + 942;
+return dev_storage + 1008;
}
}
@@ -28033,7 +27024,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal3", 10) == 0)
{
{
-return dev_storage + 927;
+return dev_storage + 993;
}
}
@@ -28048,7 +27039,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak3", 10) == 0)
{
{
-return dev_storage + 912;
+return dev_storage + 978;
}
}
@@ -28063,7 +27054,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj3", 10) == 0)
{
{
-return dev_storage + 897;
+return dev_storage + 963;
}
}
@@ -28078,7 +27069,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai3", 10) == 0)
{
{
-return dev_storage + 882;
+return dev_storage + 948;
}
}
@@ -28093,7 +27084,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah3", 10) == 0)
{
{
-return dev_storage + 867;
+return dev_storage + 933;
}
}
@@ -28108,7 +27099,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag3", 10) == 0)
{
{
-return dev_storage + 852;
+return dev_storage + 918;
}
}
@@ -28123,7 +27114,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf3", 10) == 0)
{
{
-return dev_storage + 837;
+return dev_storage + 903;
}
}
@@ -28138,7 +27129,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae3", 10) == 0)
{
{
-return dev_storage + 822;
+return dev_storage + 888;
}
}
@@ -28153,7 +27144,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad3", 10) == 0)
{
{
-return dev_storage + 807;
+return dev_storage + 873;
}
}
@@ -28168,7 +27159,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac3", 10) == 0)
{
{
-return dev_storage + 792;
+return dev_storage + 858;
}
}
@@ -28183,7 +27174,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab3", 10) == 0)
{
{
-return dev_storage + 777;
+return dev_storage + 843;
}
}
@@ -28198,7 +27189,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa3", 10) == 0)
{
{
-return dev_storage + 762;
+return dev_storage + 828;
}
}
@@ -28213,7 +27204,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda13", 10) == 0)
{
{
-return dev_storage + 356;
+return dev_storage + 422;
}
}
@@ -28237,7 +27228,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st123", 10) == 0)
{
{
-return dev_storage + 2505;
+return dev_storage + 2571;
}
}
@@ -28252,7 +27243,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st113", 10) == 0)
{
{
-return dev_storage + 2495;
+return dev_storage + 2561;
}
}
@@ -28267,7 +27258,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st103", 10) == 0)
{
{
-return dev_storage + 2485;
+return dev_storage + 2551;
}
}
@@ -28297,7 +27288,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz12", 10) == 0)
{
{
-return dev_storage + 730;
+return dev_storage + 796;
}
}
@@ -28311,11 +27302,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym2", 10) == 0)
+ {
+{
+return dev_storage + 305;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS2", 10) == 0)
{
{
-return dev_storage + 2513;
+return dev_storage + 2579;
}
}
@@ -28330,7 +27336,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty62", 10) == 0)
{
{
-return dev_storage + 299;
+return dev_storage + 301;
}
}
@@ -28345,7 +27351,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty52", 10) == 0)
{
{
-return dev_storage + 289;
+return dev_storage + 291;
}
}
@@ -28360,7 +27366,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty42", 10) == 0)
{
{
-return dev_storage + 279;
+return dev_storage + 281;
}
}
@@ -28375,7 +27381,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty32", 10) == 0)
{
{
-return dev_storage + 269;
+return dev_storage + 271;
}
}
@@ -28390,7 +27396,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty22", 10) == 0)
{
{
-return dev_storage + 259;
+return dev_storage + 261;
}
}
@@ -28408,7 +27414,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy12", 10) == 0)
{
{
-return dev_storage + 715;
+return dev_storage + 781;
}
}
@@ -28423,7 +27429,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty12", 10) == 0)
{
{
-return dev_storage + 249;
+return dev_storage + 251;
}
}
@@ -28450,7 +27456,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx12", 10) == 0)
{
{
-return dev_storage + 700;
+return dev_storage + 766;
}
}
@@ -28465,7 +27471,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw12", 10) == 0)
{
{
-return dev_storage + 685;
+return dev_storage + 751;
}
}
@@ -28480,7 +27486,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv12", 10) == 0)
{
{
-return dev_storage + 670;
+return dev_storage + 736;
}
}
@@ -28495,7 +27501,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu12", 10) == 0)
{
{
-return dev_storage + 655;
+return dev_storage + 721;
}
}
@@ -28513,7 +27519,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst92", 10) == 0)
{
{
-return dev_storage + 198;
+return dev_storage + 199;
}
}
@@ -28528,7 +27534,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst82", 10) == 0)
{
{
-return dev_storage + 188;
+return dev_storage + 189;
}
}
@@ -28543,7 +27549,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst72", 10) == 0)
{
{
-return dev_storage + 178;
+return dev_storage + 179;
}
}
@@ -28558,7 +27564,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst62", 10) == 0)
{
{
-return dev_storage + 168;
+return dev_storage + 169;
}
}
@@ -28573,7 +27579,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst52", 10) == 0)
{
{
-return dev_storage + 158;
+return dev_storage + 159;
}
}
@@ -28588,7 +27594,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst42", 10) == 0)
{
{
-return dev_storage + 148;
+return dev_storage + 149;
}
}
@@ -28603,7 +27609,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst32", 10) == 0)
{
{
-return dev_storage + 138;
+return dev_storage + 139;
}
}
@@ -28618,7 +27624,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst22", 10) == 0)
{
{
-return dev_storage + 128;
+return dev_storage + 129;
}
}
@@ -28636,7 +27642,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt12", 10) == 0)
{
{
-return dev_storage + 640;
+return dev_storage + 706;
}
}
@@ -28651,7 +27657,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst12", 10) == 0)
{
{
-return dev_storage + 118;
+return dev_storage + 119;
}
}
@@ -28678,7 +27684,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds12", 10) == 0)
{
{
-return dev_storage + 625;
+return dev_storage + 691;
}
}
@@ -28693,7 +27699,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr12", 10) == 0)
{
{
-return dev_storage + 610;
+return dev_storage + 676;
}
}
@@ -28708,7 +27714,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq12", 10) == 0)
{
{
-return dev_storage + 595;
+return dev_storage + 661;
}
}
@@ -28723,7 +27729,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp12", 10) == 0)
{
{
-return dev_storage + 580;
+return dev_storage + 646;
}
}
@@ -28738,7 +27744,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo12", 10) == 0)
{
{
-return dev_storage + 565;
+return dev_storage + 631;
}
}
@@ -28756,7 +27762,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn12", 10) == 0)
{
{
-return dev_storage + 550;
+return dev_storage + 616;
}
}
@@ -28795,7 +27801,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm12", 10) == 0)
{
{
-return dev_storage + 535;
+return dev_storage + 601;
}
}
@@ -28831,7 +27837,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl12", 10) == 0)
{
{
-return dev_storage + 520;
+return dev_storage + 586;
}
}
@@ -28846,7 +27852,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk12", 10) == 0)
{
{
-return dev_storage + 505;
+return dev_storage + 571;
}
}
@@ -28861,7 +27867,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj12", 10) == 0)
{
{
-return dev_storage + 490;
+return dev_storage + 556;
}
}
@@ -28876,7 +27882,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi12", 10) == 0)
{
{
-return dev_storage + 475;
+return dev_storage + 541;
}
}
@@ -28891,7 +27897,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh12", 10) == 0)
{
{
-return dev_storage + 460;
+return dev_storage + 526;
}
}
@@ -28906,7 +27912,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg12", 10) == 0)
{
{
-return dev_storage + 445;
+return dev_storage + 511;
}
}
@@ -28921,7 +27927,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf12", 10) == 0)
{
{
-return dev_storage + 430;
+return dev_storage + 496;
}
}
@@ -28936,7 +27942,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde12", 10) == 0)
{
{
-return dev_storage + 415;
+return dev_storage + 481;
}
}
@@ -28954,7 +27960,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx2", 10) == 0)
{
{
-return dev_storage + 2352;
+return dev_storage + 2418;
}
}
@@ -28969,7 +27975,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw2", 10) == 0)
{
{
-return dev_storage + 2337;
+return dev_storage + 2403;
}
}
@@ -28984,7 +27990,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv2", 10) == 0)
{
{
-return dev_storage + 2322;
+return dev_storage + 2388;
}
}
@@ -28999,7 +28005,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu2", 10) == 0)
{
{
-return dev_storage + 2307;
+return dev_storage + 2373;
}
}
@@ -29014,7 +28020,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt2", 10) == 0)
{
{
-return dev_storage + 2292;
+return dev_storage + 2358;
}
}
@@ -29029,7 +28035,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds2", 10) == 0)
{
{
-return dev_storage + 2277;
+return dev_storage + 2343;
}
}
@@ -29044,7 +28050,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr2", 10) == 0)
{
{
-return dev_storage + 2262;
+return dev_storage + 2328;
}
}
@@ -29059,7 +28065,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq2", 10) == 0)
{
{
-return dev_storage + 2247;
+return dev_storage + 2313;
}
}
@@ -29074,7 +28080,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp2", 10) == 0)
{
{
-return dev_storage + 2232;
+return dev_storage + 2298;
}
}
@@ -29089,7 +28095,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo2", 10) == 0)
{
{
-return dev_storage + 2217;
+return dev_storage + 2283;
}
}
@@ -29104,7 +28110,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn2", 10) == 0)
{
{
-return dev_storage + 2202;
+return dev_storage + 2268;
}
}
@@ -29119,7 +28125,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm2", 10) == 0)
{
{
-return dev_storage + 2187;
+return dev_storage + 2253;
}
}
@@ -29134,7 +28140,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl2", 10) == 0)
{
{
-return dev_storage + 2172;
+return dev_storage + 2238;
}
}
@@ -29149,7 +28155,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk2", 10) == 0)
{
{
-return dev_storage + 2157;
+return dev_storage + 2223;
}
}
@@ -29164,7 +28170,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj2", 10) == 0)
{
{
-return dev_storage + 2142;
+return dev_storage + 2208;
}
}
@@ -29179,7 +28185,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi2", 10) == 0)
{
{
-return dev_storage + 2127;
+return dev_storage + 2193;
}
}
@@ -29194,7 +28200,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh2", 10) == 0)
{
{
-return dev_storage + 2112;
+return dev_storage + 2178;
}
}
@@ -29209,7 +28215,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg2", 10) == 0)
{
{
-return dev_storage + 2097;
+return dev_storage + 2163;
}
}
@@ -29224,7 +28230,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf2", 10) == 0)
{
{
-return dev_storage + 2082;
+return dev_storage + 2148;
}
}
@@ -29239,7 +28245,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde2", 10) == 0)
{
{
-return dev_storage + 2067;
+return dev_storage + 2133;
}
}
@@ -29254,7 +28260,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd2", 10) == 0)
{
{
-return dev_storage + 2052;
+return dev_storage + 2118;
}
}
@@ -29269,7 +28275,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc2", 10) == 0)
{
{
-return dev_storage + 2037;
+return dev_storage + 2103;
}
}
@@ -29284,7 +28290,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb2", 10) == 0)
{
{
-return dev_storage + 2022;
+return dev_storage + 2088;
}
}
@@ -29299,7 +28305,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda2", 10) == 0)
{
{
-return dev_storage + 2007;
+return dev_storage + 2073;
}
}
@@ -29317,7 +28323,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd12", 10) == 0)
{
{
-return dev_storage + 400;
+return dev_storage + 466;
}
}
@@ -29332,7 +28338,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd12", 10) == 0)
{
{
-return dev_storage + 314;
+return dev_storage + 380;
}
}
@@ -29362,7 +28368,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz2", 10) == 0)
{
{
-return dev_storage + 1968;
+return dev_storage + 2034;
}
}
@@ -29377,7 +28383,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy2", 10) == 0)
{
{
-return dev_storage + 1953;
+return dev_storage + 2019;
}
}
@@ -29392,7 +28398,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx2", 10) == 0)
{
{
-return dev_storage + 1938;
+return dev_storage + 2004;
}
}
@@ -29407,7 +28413,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw2", 10) == 0)
{
{
-return dev_storage + 1923;
+return dev_storage + 1989;
}
}
@@ -29422,7 +28428,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv2", 10) == 0)
{
{
-return dev_storage + 1908;
+return dev_storage + 1974;
}
}
@@ -29437,7 +28443,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu2", 10) == 0)
{
{
-return dev_storage + 1893;
+return dev_storage + 1959;
}
}
@@ -29452,7 +28458,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct2", 10) == 0)
{
{
-return dev_storage + 1878;
+return dev_storage + 1944;
}
}
@@ -29467,7 +28473,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs2", 10) == 0)
{
{
-return dev_storage + 1863;
+return dev_storage + 1929;
}
}
@@ -29482,7 +28488,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr2", 10) == 0)
{
{
-return dev_storage + 1848;
+return dev_storage + 1914;
}
}
@@ -29497,7 +28503,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq2", 10) == 0)
{
{
-return dev_storage + 1833;
+return dev_storage + 1899;
}
}
@@ -29512,7 +28518,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp2", 10) == 0)
{
{
-return dev_storage + 1818;
+return dev_storage + 1884;
}
}
@@ -29527,7 +28533,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco2", 10) == 0)
{
{
-return dev_storage + 1803;
+return dev_storage + 1869;
}
}
@@ -29542,7 +28548,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn2", 10) == 0)
{
{
-return dev_storage + 1788;
+return dev_storage + 1854;
}
}
@@ -29557,7 +28563,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm2", 10) == 0)
{
{
-return dev_storage + 1773;
+return dev_storage + 1839;
}
}
@@ -29572,7 +28578,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl2", 10) == 0)
{
{
-return dev_storage + 1758;
+return dev_storage + 1824;
}
}
@@ -29587,7 +28593,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck2", 10) == 0)
{
{
-return dev_storage + 1743;
+return dev_storage + 1809;
}
}
@@ -29602,7 +28608,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj2", 10) == 0)
{
{
-return dev_storage + 1728;
+return dev_storage + 1794;
}
}
@@ -29617,7 +28623,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci2", 10) == 0)
{
{
-return dev_storage + 1713;
+return dev_storage + 1779;
}
}
@@ -29632,7 +28638,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch2", 10) == 0)
{
{
-return dev_storage + 1698;
+return dev_storage + 1764;
}
}
@@ -29647,7 +28653,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg2", 10) == 0)
{
{
-return dev_storage + 1683;
+return dev_storage + 1749;
}
}
@@ -29662,7 +28668,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf2", 10) == 0)
{
{
-return dev_storage + 1668;
+return dev_storage + 1734;
}
}
@@ -29677,7 +28683,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce2", 10) == 0)
{
{
-return dev_storage + 1653;
+return dev_storage + 1719;
}
}
@@ -29692,7 +28698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd2", 10) == 0)
{
{
-return dev_storage + 1638;
+return dev_storage + 1704;
}
}
@@ -29707,7 +28713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc2", 10) == 0)
{
{
-return dev_storage + 1623;
+return dev_storage + 1689;
}
}
@@ -29722,7 +28728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb2", 10) == 0)
{
{
-return dev_storage + 1608;
+return dev_storage + 1674;
}
}
@@ -29737,7 +28743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca2", 10) == 0)
{
{
-return dev_storage + 1593;
+return dev_storage + 1659;
}
}
@@ -29752,7 +28758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc12", 10) == 0)
{
{
-return dev_storage + 385;
+return dev_storage + 451;
}
}
@@ -29776,7 +28782,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz2", 10) == 0)
{
{
-return dev_storage + 1552;
+return dev_storage + 1618;
}
}
@@ -29791,7 +28797,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby2", 10) == 0)
{
{
-return dev_storage + 1537;
+return dev_storage + 1603;
}
}
@@ -29806,7 +28812,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx2", 10) == 0)
{
{
-return dev_storage + 1522;
+return dev_storage + 1588;
}
}
@@ -29821,7 +28827,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw2", 10) == 0)
{
{
-return dev_storage + 1507;
+return dev_storage + 1573;
}
}
@@ -29836,7 +28842,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv2", 10) == 0)
{
{
-return dev_storage + 1492;
+return dev_storage + 1558;
}
}
@@ -29851,7 +28857,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu2", 10) == 0)
{
{
-return dev_storage + 1477;
+return dev_storage + 1543;
}
}
@@ -29866,7 +28872,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt2", 10) == 0)
{
{
-return dev_storage + 1462;
+return dev_storage + 1528;
}
}
@@ -29881,7 +28887,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs2", 10) == 0)
{
{
-return dev_storage + 1447;
+return dev_storage + 1513;
}
}
@@ -29896,7 +28902,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr2", 10) == 0)
{
{
-return dev_storage + 1432;
+return dev_storage + 1498;
}
}
@@ -29911,7 +28917,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq2", 10) == 0)
{
{
-return dev_storage + 1417;
+return dev_storage + 1483;
}
}
@@ -29926,7 +28932,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp2", 10) == 0)
{
{
-return dev_storage + 1402;
+return dev_storage + 1468;
}
}
@@ -29941,7 +28947,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo2", 10) == 0)
{
{
-return dev_storage + 1387;
+return dev_storage + 1453;
}
}
@@ -29956,7 +28962,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn2", 10) == 0)
{
{
-return dev_storage + 1372;
+return dev_storage + 1438;
}
}
@@ -29971,7 +28977,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm2", 10) == 0)
{
{
-return dev_storage + 1357;
+return dev_storage + 1423;
}
}
@@ -29986,7 +28992,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl2", 10) == 0)
{
{
-return dev_storage + 1342;
+return dev_storage + 1408;
}
}
@@ -30001,7 +29007,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk2", 10) == 0)
{
{
-return dev_storage + 1327;
+return dev_storage + 1393;
}
}
@@ -30016,7 +29022,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj2", 10) == 0)
{
{
-return dev_storage + 1312;
+return dev_storage + 1378;
}
}
@@ -30031,7 +29037,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi2", 10) == 0)
{
{
-return dev_storage + 1297;
+return dev_storage + 1363;
}
}
@@ -30046,7 +29052,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh2", 10) == 0)
{
{
-return dev_storage + 1282;
+return dev_storage + 1348;
}
}
@@ -30061,7 +29067,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg2", 10) == 0)
{
{
-return dev_storage + 1267;
+return dev_storage + 1333;
}
}
@@ -30076,7 +29082,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf2", 10) == 0)
{
{
-return dev_storage + 1252;
+return dev_storage + 1318;
}
}
@@ -30091,7 +29097,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe2", 10) == 0)
{
{
-return dev_storage + 1237;
+return dev_storage + 1303;
}
}
@@ -30106,7 +29112,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd2", 10) == 0)
{
{
-return dev_storage + 1222;
+return dev_storage + 1288;
}
}
@@ -30121,7 +29127,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc2", 10) == 0)
{
{
-return dev_storage + 1207;
+return dev_storage + 1273;
}
}
@@ -30136,7 +29142,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb2", 10) == 0)
{
{
-return dev_storage + 1192;
+return dev_storage + 1258;
}
}
@@ -30151,7 +29157,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba2", 10) == 0)
{
{
-return dev_storage + 1177;
+return dev_storage + 1243;
}
}
@@ -30166,7 +29172,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb12", 10) == 0)
{
{
-return dev_storage + 370;
+return dev_storage + 436;
}
}
@@ -30190,7 +29196,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz2", 10) == 0)
{
{
-return dev_storage + 1136;
+return dev_storage + 1202;
}
}
@@ -30205,7 +29211,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday2", 10) == 0)
{
{
-return dev_storage + 1121;
+return dev_storage + 1187;
}
}
@@ -30220,7 +29226,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax2", 10) == 0)
{
{
-return dev_storage + 1106;
+return dev_storage + 1172;
}
}
@@ -30235,7 +29241,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw2", 10) == 0)
{
{
-return dev_storage + 1091;
+return dev_storage + 1157;
}
}
@@ -30250,7 +29256,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav2", 10) == 0)
{
{
-return dev_storage + 1076;
+return dev_storage + 1142;
}
}
@@ -30265,7 +29271,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau2", 10) == 0)
{
{
-return dev_storage + 1061;
+return dev_storage + 1127;
}
}
@@ -30280,7 +29286,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat2", 10) == 0)
{
{
-return dev_storage + 1046;
+return dev_storage + 1112;
}
}
@@ -30295,7 +29301,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas2", 10) == 0)
{
{
-return dev_storage + 1031;
+return dev_storage + 1097;
}
}
@@ -30310,7 +29316,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar2", 10) == 0)
{
{
-return dev_storage + 1016;
+return dev_storage + 1082;
}
}
@@ -30325,7 +29331,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq2", 10) == 0)
{
{
-return dev_storage + 1001;
+return dev_storage + 1067;
}
}
@@ -30340,7 +29346,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap2", 10) == 0)
{
{
-return dev_storage + 986;
+return dev_storage + 1052;
}
}
@@ -30355,7 +29361,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao2", 10) == 0)
{
{
-return dev_storage + 971;
+return dev_storage + 1037;
}
}
@@ -30370,7 +29376,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan2", 10) == 0)
{
{
-return dev_storage + 956;
+return dev_storage + 1022;
}
}
@@ -30385,7 +29391,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam2", 10) == 0)
{
{
-return dev_storage + 941;
+return dev_storage + 1007;
}
}
@@ -30400,7 +29406,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal2", 10) == 0)
{
{
-return dev_storage + 926;
+return dev_storage + 992;
}
}
@@ -30415,7 +29421,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak2", 10) == 0)
{
{
-return dev_storage + 911;
+return dev_storage + 977;
}
}
@@ -30430,7 +29436,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj2", 10) == 0)
{
{
-return dev_storage + 896;
+return dev_storage + 962;
}
}
@@ -30445,7 +29451,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai2", 10) == 0)
{
{
-return dev_storage + 881;
+return dev_storage + 947;
}
}
@@ -30460,7 +29466,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah2", 10) == 0)
{
{
-return dev_storage + 866;
+return dev_storage + 932;
}
}
@@ -30475,7 +29481,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag2", 10) == 0)
{
{
-return dev_storage + 851;
+return dev_storage + 917;
}
}
@@ -30490,7 +29496,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf2", 10) == 0)
{
{
-return dev_storage + 836;
+return dev_storage + 902;
}
}
@@ -30505,7 +29511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae2", 10) == 0)
{
{
-return dev_storage + 821;
+return dev_storage + 887;
}
}
@@ -30520,7 +29526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad2", 10) == 0)
{
{
-return dev_storage + 806;
+return dev_storage + 872;
}
}
@@ -30535,7 +29541,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac2", 10) == 0)
{
{
-return dev_storage + 791;
+return dev_storage + 857;
}
}
@@ -30550,7 +29556,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab2", 10) == 0)
{
{
-return dev_storage + 776;
+return dev_storage + 842;
}
}
@@ -30565,7 +29571,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa2", 10) == 0)
{
{
-return dev_storage + 761;
+return dev_storage + 827;
}
}
@@ -30580,7 +29586,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda12", 10) == 0)
{
{
-return dev_storage + 355;
+return dev_storage + 421;
}
}
@@ -30604,7 +29610,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st122", 10) == 0)
{
{
-return dev_storage + 2504;
+return dev_storage + 2570;
}
}
@@ -30619,7 +29625,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st112", 10) == 0)
{
{
-return dev_storage + 2494;
+return dev_storage + 2560;
}
}
@@ -30634,7 +29640,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st102", 10) == 0)
{
{
-return dev_storage + 2484;
+return dev_storage + 2550;
}
}
@@ -30664,7 +29670,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz11", 10) == 0)
{
{
-return dev_storage + 729;
+return dev_storage + 795;
}
}
@@ -30678,11 +29684,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym1", 10) == 0)
+ {
+{
+return dev_storage + 304;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS1", 10) == 0)
{
{
-return dev_storage + 2512;
+return dev_storage + 2578;
}
}
@@ -30697,7 +29718,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty61", 10) == 0)
{
{
-return dev_storage + 298;
+return dev_storage + 300;
}
}
@@ -30712,7 +29733,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty51", 10) == 0)
{
{
-return dev_storage + 288;
+return dev_storage + 290;
}
}
@@ -30727,7 +29748,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty41", 10) == 0)
{
{
-return dev_storage + 278;
+return dev_storage + 280;
}
}
@@ -30742,7 +29763,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty31", 10) == 0)
{
{
-return dev_storage + 268;
+return dev_storage + 270;
}
}
@@ -30757,7 +29778,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty21", 10) == 0)
{
{
-return dev_storage + 258;
+return dev_storage + 260;
}
}
@@ -30775,7 +29796,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy11", 10) == 0)
{
{
-return dev_storage + 714;
+return dev_storage + 780;
}
}
@@ -30790,7 +29811,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty11", 10) == 0)
{
{
-return dev_storage + 248;
+return dev_storage + 250;
}
}
@@ -30817,7 +29838,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx11", 10) == 0)
{
{
-return dev_storage + 699;
+return dev_storage + 765;
}
}
@@ -30832,7 +29853,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw11", 10) == 0)
{
{
-return dev_storage + 684;
+return dev_storage + 750;
}
}
@@ -30847,7 +29868,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv11", 10) == 0)
{
{
-return dev_storage + 669;
+return dev_storage + 735;
}
}
@@ -30862,7 +29883,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu11", 10) == 0)
{
{
-return dev_storage + 654;
+return dev_storage + 720;
}
}
@@ -30880,7 +29901,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst91", 10) == 0)
{
{
-return dev_storage + 197;
+return dev_storage + 198;
}
}
@@ -30895,7 +29916,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst81", 10) == 0)
{
{
-return dev_storage + 187;
+return dev_storage + 188;
}
}
@@ -30910,7 +29931,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst71", 10) == 0)
{
{
-return dev_storage + 177;
+return dev_storage + 178;
}
}
@@ -30925,7 +29946,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst61", 10) == 0)
{
{
-return dev_storage + 167;
+return dev_storage + 168;
}
}
@@ -30940,7 +29961,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst51", 10) == 0)
{
{
-return dev_storage + 157;
+return dev_storage + 158;
}
}
@@ -30955,7 +29976,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst41", 10) == 0)
{
{
-return dev_storage + 147;
+return dev_storage + 148;
}
}
@@ -30970,7 +29991,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst31", 10) == 0)
{
{
-return dev_storage + 137;
+return dev_storage + 138;
}
}
@@ -30985,7 +30006,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst21", 10) == 0)
{
{
-return dev_storage + 127;
+return dev_storage + 128;
}
}
@@ -31003,7 +30024,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt11", 10) == 0)
{
{
-return dev_storage + 639;
+return dev_storage + 705;
}
}
@@ -31018,7 +30039,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst11", 10) == 0)
{
{
-return dev_storage + 117;
+return dev_storage + 118;
}
}
@@ -31045,7 +30066,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds11", 10) == 0)
{
{
-return dev_storage + 624;
+return dev_storage + 690;
}
}
@@ -31060,7 +30081,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr11", 10) == 0)
{
{
-return dev_storage + 609;
+return dev_storage + 675;
}
}
@@ -31075,7 +30096,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq11", 10) == 0)
{
{
-return dev_storage + 594;
+return dev_storage + 660;
}
}
@@ -31090,7 +30111,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp11", 10) == 0)
{
{
-return dev_storage + 579;
+return dev_storage + 645;
}
}
@@ -31105,7 +30126,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo11", 10) == 0)
{
{
-return dev_storage + 564;
+return dev_storage + 630;
}
}
@@ -31123,7 +30144,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn11", 10) == 0)
{
{
-return dev_storage + 549;
+return dev_storage + 615;
}
}
@@ -31162,7 +30183,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm11", 10) == 0)
{
{
-return dev_storage + 534;
+return dev_storage + 600;
}
}
@@ -31198,7 +30219,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl11", 10) == 0)
{
{
-return dev_storage + 519;
+return dev_storage + 585;
}
}
@@ -31213,7 +30234,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk11", 10) == 0)
{
{
-return dev_storage + 504;
+return dev_storage + 570;
}
}
@@ -31228,7 +30249,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj11", 10) == 0)
{
{
-return dev_storage + 489;
+return dev_storage + 555;
}
}
@@ -31243,7 +30264,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi11", 10) == 0)
{
{
-return dev_storage + 474;
+return dev_storage + 540;
}
}
@@ -31258,7 +30279,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh11", 10) == 0)
{
{
-return dev_storage + 459;
+return dev_storage + 525;
}
}
@@ -31273,7 +30294,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg11", 10) == 0)
{
{
-return dev_storage + 444;
+return dev_storage + 510;
}
}
@@ -31288,7 +30309,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf11", 10) == 0)
{
{
-return dev_storage + 429;
+return dev_storage + 495;
}
}
@@ -31303,7 +30324,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde11", 10) == 0)
{
{
-return dev_storage + 414;
+return dev_storage + 480;
}
}
@@ -31321,7 +30342,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx1", 10) == 0)
{
{
-return dev_storage + 2351;
+return dev_storage + 2417;
}
}
@@ -31336,7 +30357,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw1", 10) == 0)
{
{
-return dev_storage + 2336;
+return dev_storage + 2402;
}
}
@@ -31351,7 +30372,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv1", 10) == 0)
{
{
-return dev_storage + 2321;
+return dev_storage + 2387;
}
}
@@ -31366,7 +30387,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu1", 10) == 0)
{
{
-return dev_storage + 2306;
+return dev_storage + 2372;
}
}
@@ -31381,7 +30402,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt1", 10) == 0)
{
{
-return dev_storage + 2291;
+return dev_storage + 2357;
}
}
@@ -31396,7 +30417,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds1", 10) == 0)
{
{
-return dev_storage + 2276;
+return dev_storage + 2342;
}
}
@@ -31411,7 +30432,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr1", 10) == 0)
{
{
-return dev_storage + 2261;
+return dev_storage + 2327;
}
}
@@ -31426,7 +30447,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq1", 10) == 0)
{
{
-return dev_storage + 2246;
+return dev_storage + 2312;
}
}
@@ -31441,7 +30462,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp1", 10) == 0)
{
{
-return dev_storage + 2231;
+return dev_storage + 2297;
}
}
@@ -31456,7 +30477,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo1", 10) == 0)
{
{
-return dev_storage + 2216;
+return dev_storage + 2282;
}
}
@@ -31471,7 +30492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn1", 10) == 0)
{
{
-return dev_storage + 2201;
+return dev_storage + 2267;
}
}
@@ -31486,7 +30507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm1", 10) == 0)
{
{
-return dev_storage + 2186;
+return dev_storage + 2252;
}
}
@@ -31501,7 +30522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl1", 10) == 0)
{
{
-return dev_storage + 2171;
+return dev_storage + 2237;
}
}
@@ -31516,7 +30537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk1", 10) == 0)
{
{
-return dev_storage + 2156;
+return dev_storage + 2222;
}
}
@@ -31531,7 +30552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj1", 10) == 0)
{
{
-return dev_storage + 2141;
+return dev_storage + 2207;
}
}
@@ -31546,7 +30567,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi1", 10) == 0)
{
{
-return dev_storage + 2126;
+return dev_storage + 2192;
}
}
@@ -31561,7 +30582,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh1", 10) == 0)
{
{
-return dev_storage + 2111;
+return dev_storage + 2177;
}
}
@@ -31576,7 +30597,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg1", 10) == 0)
{
{
-return dev_storage + 2096;
+return dev_storage + 2162;
}
}
@@ -31591,7 +30612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf1", 10) == 0)
{
{
-return dev_storage + 2081;
+return dev_storage + 2147;
}
}
@@ -31606,7 +30627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde1", 10) == 0)
{
{
-return dev_storage + 2066;
+return dev_storage + 2132;
}
}
@@ -31621,7 +30642,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd1", 10) == 0)
{
{
-return dev_storage + 2051;
+return dev_storage + 2117;
}
}
@@ -31636,7 +30657,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc1", 10) == 0)
{
{
-return dev_storage + 2036;
+return dev_storage + 2102;
}
}
@@ -31651,7 +30672,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb1", 10) == 0)
{
{
-return dev_storage + 2021;
+return dev_storage + 2087;
}
}
@@ -31666,7 +30687,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda1", 10) == 0)
{
{
-return dev_storage + 2006;
+return dev_storage + 2072;
}
}
@@ -31684,7 +30705,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd11", 10) == 0)
{
{
-return dev_storage + 399;
+return dev_storage + 465;
}
}
@@ -31699,7 +30720,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd11", 10) == 0)
{
{
-return dev_storage + 313;
+return dev_storage + 379;
}
}
@@ -31729,7 +30750,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz1", 10) == 0)
{
{
-return dev_storage + 1967;
+return dev_storage + 2033;
}
}
@@ -31744,7 +30765,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy1", 10) == 0)
{
{
-return dev_storage + 1952;
+return dev_storage + 2018;
}
}
@@ -31759,7 +30780,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx1", 10) == 0)
{
{
-return dev_storage + 1937;
+return dev_storage + 2003;
}
}
@@ -31774,7 +30795,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw1", 10) == 0)
{
{
-return dev_storage + 1922;
+return dev_storage + 1988;
}
}
@@ -31789,7 +30810,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv1", 10) == 0)
{
{
-return dev_storage + 1907;
+return dev_storage + 1973;
}
}
@@ -31804,7 +30825,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu1", 10) == 0)
{
{
-return dev_storage + 1892;
+return dev_storage + 1958;
}
}
@@ -31819,7 +30840,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct1", 10) == 0)
{
{
-return dev_storage + 1877;
+return dev_storage + 1943;
}
}
@@ -31834,7 +30855,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs1", 10) == 0)
{
{
-return dev_storage + 1862;
+return dev_storage + 1928;
}
}
@@ -31849,7 +30870,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr1", 10) == 0)
{
{
-return dev_storage + 1847;
+return dev_storage + 1913;
}
}
@@ -31864,7 +30885,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq1", 10) == 0)
{
{
-return dev_storage + 1832;
+return dev_storage + 1898;
}
}
@@ -31879,7 +30900,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp1", 10) == 0)
{
{
-return dev_storage + 1817;
+return dev_storage + 1883;
}
}
@@ -31894,7 +30915,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco1", 10) == 0)
{
{
-return dev_storage + 1802;
+return dev_storage + 1868;
}
}
@@ -31909,7 +30930,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn1", 10) == 0)
{
{
-return dev_storage + 1787;
+return dev_storage + 1853;
}
}
@@ -31924,7 +30945,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm1", 10) == 0)
{
{
-return dev_storage + 1772;
+return dev_storage + 1838;
}
}
@@ -31939,7 +30960,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl1", 10) == 0)
{
{
-return dev_storage + 1757;
+return dev_storage + 1823;
}
}
@@ -31954,7 +30975,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck1", 10) == 0)
{
{
-return dev_storage + 1742;
+return dev_storage + 1808;
}
}
@@ -31969,7 +30990,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj1", 10) == 0)
{
{
-return dev_storage + 1727;
+return dev_storage + 1793;
}
}
@@ -31984,7 +31005,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci1", 10) == 0)
{
{
-return dev_storage + 1712;
+return dev_storage + 1778;
}
}
@@ -31999,7 +31020,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch1", 10) == 0)
{
{
-return dev_storage + 1697;
+return dev_storage + 1763;
}
}
@@ -32014,7 +31035,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg1", 10) == 0)
{
{
-return dev_storage + 1682;
+return dev_storage + 1748;
}
}
@@ -32029,7 +31050,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf1", 10) == 0)
{
{
-return dev_storage + 1667;
+return dev_storage + 1733;
}
}
@@ -32044,7 +31065,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce1", 10) == 0)
{
{
-return dev_storage + 1652;
+return dev_storage + 1718;
}
}
@@ -32059,7 +31080,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd1", 10) == 0)
{
{
-return dev_storage + 1637;
+return dev_storage + 1703;
}
}
@@ -32074,7 +31095,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc1", 10) == 0)
{
{
-return dev_storage + 1622;
+return dev_storage + 1688;
}
}
@@ -32089,7 +31110,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb1", 10) == 0)
{
{
-return dev_storage + 1607;
+return dev_storage + 1673;
}
}
@@ -32104,7 +31125,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca1", 10) == 0)
{
{
-return dev_storage + 1592;
+return dev_storage + 1658;
}
}
@@ -32119,7 +31140,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc11", 10) == 0)
{
{
-return dev_storage + 384;
+return dev_storage + 450;
}
}
@@ -32143,7 +31164,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz1", 10) == 0)
{
{
-return dev_storage + 1551;
+return dev_storage + 1617;
}
}
@@ -32158,7 +31179,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby1", 10) == 0)
{
{
-return dev_storage + 1536;
+return dev_storage + 1602;
}
}
@@ -32173,7 +31194,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx1", 10) == 0)
{
{
-return dev_storage + 1521;
+return dev_storage + 1587;
}
}
@@ -32188,7 +31209,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw1", 10) == 0)
{
{
-return dev_storage + 1506;
+return dev_storage + 1572;
}
}
@@ -32203,7 +31224,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv1", 10) == 0)
{
{
-return dev_storage + 1491;
+return dev_storage + 1557;
}
}
@@ -32218,7 +31239,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu1", 10) == 0)
{
{
-return dev_storage + 1476;
+return dev_storage + 1542;
}
}
@@ -32233,7 +31254,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt1", 10) == 0)
{
{
-return dev_storage + 1461;
+return dev_storage + 1527;
}
}
@@ -32248,7 +31269,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs1", 10) == 0)
{
{
-return dev_storage + 1446;
+return dev_storage + 1512;
}
}
@@ -32263,7 +31284,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr1", 10) == 0)
{
{
-return dev_storage + 1431;
+return dev_storage + 1497;
}
}
@@ -32278,7 +31299,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq1", 10) == 0)
{
{
-return dev_storage + 1416;
+return dev_storage + 1482;
}
}
@@ -32293,7 +31314,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp1", 10) == 0)
{
{
-return dev_storage + 1401;
+return dev_storage + 1467;
}
}
@@ -32308,7 +31329,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo1", 10) == 0)
{
{
-return dev_storage + 1386;
+return dev_storage + 1452;
}
}
@@ -32323,7 +31344,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn1", 10) == 0)
{
{
-return dev_storage + 1371;
+return dev_storage + 1437;
}
}
@@ -32338,7 +31359,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm1", 10) == 0)
{
{
-return dev_storage + 1356;
+return dev_storage + 1422;
}
}
@@ -32353,7 +31374,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl1", 10) == 0)
{
{
-return dev_storage + 1341;
+return dev_storage + 1407;
}
}
@@ -32368,7 +31389,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk1", 10) == 0)
{
{
-return dev_storage + 1326;
+return dev_storage + 1392;
}
}
@@ -32383,7 +31404,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj1", 10) == 0)
{
{
-return dev_storage + 1311;
+return dev_storage + 1377;
}
}
@@ -32398,7 +31419,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi1", 10) == 0)
{
{
-return dev_storage + 1296;
+return dev_storage + 1362;
}
}
@@ -32413,7 +31434,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh1", 10) == 0)
{
{
-return dev_storage + 1281;
+return dev_storage + 1347;
}
}
@@ -32428,7 +31449,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg1", 10) == 0)
{
{
-return dev_storage + 1266;
+return dev_storage + 1332;
}
}
@@ -32443,7 +31464,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf1", 10) == 0)
{
{
-return dev_storage + 1251;
+return dev_storage + 1317;
}
}
@@ -32458,7 +31479,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe1", 10) == 0)
{
{
-return dev_storage + 1236;
+return dev_storage + 1302;
}
}
@@ -32473,7 +31494,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd1", 10) == 0)
{
{
-return dev_storage + 1221;
+return dev_storage + 1287;
}
}
@@ -32488,7 +31509,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc1", 10) == 0)
{
{
-return dev_storage + 1206;
+return dev_storage + 1272;
}
}
@@ -32503,7 +31524,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb1", 10) == 0)
{
{
-return dev_storage + 1191;
+return dev_storage + 1257;
}
}
@@ -32518,7 +31539,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba1", 10) == 0)
{
{
-return dev_storage + 1176;
+return dev_storage + 1242;
}
}
@@ -32533,7 +31554,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb11", 10) == 0)
{
{
-return dev_storage + 369;
+return dev_storage + 435;
}
}
@@ -32557,7 +31578,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz1", 10) == 0)
{
{
-return dev_storage + 1135;
+return dev_storage + 1201;
}
}
@@ -32572,7 +31593,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday1", 10) == 0)
{
{
-return dev_storage + 1120;
+return dev_storage + 1186;
}
}
@@ -32587,7 +31608,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax1", 10) == 0)
{
{
-return dev_storage + 1105;
+return dev_storage + 1171;
}
}
@@ -32602,7 +31623,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw1", 10) == 0)
{
{
-return dev_storage + 1090;
+return dev_storage + 1156;
}
}
@@ -32617,7 +31638,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav1", 10) == 0)
{
{
-return dev_storage + 1075;
+return dev_storage + 1141;
}
}
@@ -32632,7 +31653,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau1", 10) == 0)
{
{
-return dev_storage + 1060;
+return dev_storage + 1126;
}
}
@@ -32647,7 +31668,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat1", 10) == 0)
{
{
-return dev_storage + 1045;
+return dev_storage + 1111;
}
}
@@ -32662,7 +31683,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas1", 10) == 0)
{
{
-return dev_storage + 1030;
+return dev_storage + 1096;
}
}
@@ -32677,7 +31698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar1", 10) == 0)
{
{
-return dev_storage + 1015;
+return dev_storage + 1081;
}
}
@@ -32692,7 +31713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq1", 10) == 0)
{
{
-return dev_storage + 1000;
+return dev_storage + 1066;
}
}
@@ -32707,7 +31728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap1", 10) == 0)
{
{
-return dev_storage + 985;
+return dev_storage + 1051;
}
}
@@ -32722,7 +31743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao1", 10) == 0)
{
{
-return dev_storage + 970;
+return dev_storage + 1036;
}
}
@@ -32737,7 +31758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan1", 10) == 0)
{
{
-return dev_storage + 955;
+return dev_storage + 1021;
}
}
@@ -32752,7 +31773,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam1", 10) == 0)
{
{
-return dev_storage + 940;
+return dev_storage + 1006;
}
}
@@ -32767,7 +31788,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal1", 10) == 0)
{
{
-return dev_storage + 925;
+return dev_storage + 991;
}
}
@@ -32782,7 +31803,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak1", 10) == 0)
{
{
-return dev_storage + 910;
+return dev_storage + 976;
}
}
@@ -32797,7 +31818,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj1", 10) == 0)
{
{
-return dev_storage + 895;
+return dev_storage + 961;
}
}
@@ -32812,7 +31833,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai1", 10) == 0)
{
{
-return dev_storage + 880;
+return dev_storage + 946;
}
}
@@ -32827,7 +31848,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah1", 10) == 0)
{
{
-return dev_storage + 865;
+return dev_storage + 931;
}
}
@@ -32842,7 +31863,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag1", 10) == 0)
{
{
-return dev_storage + 850;
+return dev_storage + 916;
}
}
@@ -32857,7 +31878,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf1", 10) == 0)
{
{
-return dev_storage + 835;
+return dev_storage + 901;
}
}
@@ -32872,7 +31893,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae1", 10) == 0)
{
{
-return dev_storage + 820;
+return dev_storage + 886;
}
}
@@ -32887,7 +31908,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad1", 10) == 0)
{
{
-return dev_storage + 805;
+return dev_storage + 871;
}
}
@@ -32902,7 +31923,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac1", 10) == 0)
{
{
-return dev_storage + 790;
+return dev_storage + 856;
}
}
@@ -32917,7 +31938,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab1", 10) == 0)
{
{
-return dev_storage + 775;
+return dev_storage + 841;
}
}
@@ -32932,7 +31953,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa1", 10) == 0)
{
{
-return dev_storage + 760;
+return dev_storage + 826;
}
}
@@ -32947,7 +31968,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda11", 10) == 0)
{
{
-return dev_storage + 354;
+return dev_storage + 420;
}
}
@@ -32971,7 +31992,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st121", 10) == 0)
{
{
-return dev_storage + 2503;
+return dev_storage + 2569;
}
}
@@ -32986,7 +32007,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st111", 10) == 0)
{
{
-return dev_storage + 2493;
+return dev_storage + 2559;
}
}
@@ -33001,7 +32022,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st101", 10) == 0)
{
{
-return dev_storage + 2483;
+return dev_storage + 2549;
}
}
@@ -33031,7 +32052,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz10", 10) == 0)
{
{
-return dev_storage + 728;
+return dev_storage + 794;
}
}
@@ -33045,11 +32066,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym0", 10) == 0)
+ {
+{
+return dev_storage + 303;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS0", 10) == 0)
{
{
-return dev_storage + 2511;
+return dev_storage + 2577;
}
}
@@ -33064,7 +32100,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty60", 10) == 0)
{
{
-return dev_storage + 297;
+return dev_storage + 299;
}
}
@@ -33079,7 +32115,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty50", 10) == 0)
{
{
-return dev_storage + 287;
+return dev_storage + 289;
}
}
@@ -33094,7 +32130,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty40", 10) == 0)
{
{
-return dev_storage + 277;
+return dev_storage + 279;
}
}
@@ -33109,7 +32145,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty30", 10) == 0)
{
{
-return dev_storage + 267;
+return dev_storage + 269;
}
}
@@ -33124,7 +32160,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty20", 10) == 0)
{
{
-return dev_storage + 257;
+return dev_storage + 259;
}
}
@@ -33142,7 +32178,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy10", 10) == 0)
{
{
-return dev_storage + 713;
+return dev_storage + 779;
}
}
@@ -33157,7 +32193,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty10", 10) == 0)
{
{
-return dev_storage + 247;
+return dev_storage + 249;
}
}
@@ -33184,7 +32220,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx10", 10) == 0)
{
{
-return dev_storage + 698;
+return dev_storage + 764;
}
}
@@ -33199,7 +32235,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw10", 10) == 0)
{
{
-return dev_storage + 683;
+return dev_storage + 749;
}
}
@@ -33214,7 +32250,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv10", 10) == 0)
{
{
-return dev_storage + 668;
+return dev_storage + 734;
}
}
@@ -33229,7 +32265,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu10", 10) == 0)
{
{
-return dev_storage + 653;
+return dev_storage + 719;
}
}
@@ -33247,7 +32283,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst90", 10) == 0)
{
{
-return dev_storage + 196;
+return dev_storage + 197;
}
}
@@ -33262,7 +32298,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst80", 10) == 0)
{
{
-return dev_storage + 186;
+return dev_storage + 187;
}
}
@@ -33277,7 +32313,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst70", 10) == 0)
{
{
-return dev_storage + 176;
+return dev_storage + 177;
}
}
@@ -33292,7 +32328,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst60", 10) == 0)
{
{
-return dev_storage + 166;
+return dev_storage + 167;
}
}
@@ -33307,7 +32343,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst50", 10) == 0)
{
{
-return dev_storage + 156;
+return dev_storage + 157;
}
}
@@ -33322,7 +32358,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst40", 10) == 0)
{
{
-return dev_storage + 146;
+return dev_storage + 147;
}
}
@@ -33337,7 +32373,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst30", 10) == 0)
{
{
-return dev_storage + 136;
+return dev_storage + 137;
}
}
@@ -33352,7 +32388,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst20", 10) == 0)
{
{
-return dev_storage + 126;
+return dev_storage + 127;
}
}
@@ -33370,7 +32406,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt10", 10) == 0)
{
{
-return dev_storage + 638;
+return dev_storage + 704;
}
}
@@ -33385,7 +32421,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst10", 10) == 0)
{
{
-return dev_storage + 116;
+return dev_storage + 117;
}
}
@@ -33412,7 +32448,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds10", 10) == 0)
{
{
-return dev_storage + 623;
+return dev_storage + 689;
}
}
@@ -33427,7 +32463,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr10", 10) == 0)
{
{
-return dev_storage + 608;
+return dev_storage + 674;
}
}
@@ -33442,7 +32478,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq10", 10) == 0)
{
{
-return dev_storage + 593;
+return dev_storage + 659;
}
}
@@ -33457,7 +32493,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp10", 10) == 0)
{
{
-return dev_storage + 578;
+return dev_storage + 644;
}
}
@@ -33472,7 +32508,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo10", 10) == 0)
{
{
-return dev_storage + 563;
+return dev_storage + 629;
}
}
@@ -33490,7 +32526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn10", 10) == 0)
{
{
-return dev_storage + 548;
+return dev_storage + 614;
}
}
@@ -33529,7 +32565,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm10", 10) == 0)
{
{
-return dev_storage + 533;
+return dev_storage + 599;
}
}
@@ -33565,7 +32601,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl10", 10) == 0)
{
{
-return dev_storage + 518;
+return dev_storage + 584;
}
}
@@ -33580,7 +32616,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk10", 10) == 0)
{
{
-return dev_storage + 503;
+return dev_storage + 569;
}
}
@@ -33595,7 +32631,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj10", 10) == 0)
{
{
-return dev_storage + 488;
+return dev_storage + 554;
}
}
@@ -33610,7 +32646,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi10", 10) == 0)
{
{
-return dev_storage + 473;
+return dev_storage + 539;
}
}
@@ -33625,7 +32661,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh10", 10) == 0)
{
{
-return dev_storage + 458;
+return dev_storage + 524;
}
}
@@ -33640,7 +32676,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg10", 10) == 0)
{
{
-return dev_storage + 443;
+return dev_storage + 509;
}
}
@@ -33655,7 +32691,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf10", 10) == 0)
{
{
-return dev_storage + 428;
+return dev_storage + 494;
}
}
@@ -33670,7 +32706,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde10", 10) == 0)
{
{
-return dev_storage + 413;
+return dev_storage + 479;
}
}
@@ -33688,7 +32724,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd10", 10) == 0)
{
{
-return dev_storage + 398;
+return dev_storage + 464;
}
}
@@ -33703,7 +32739,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd10", 10) == 0)
{
{
-return dev_storage + 312;
+return dev_storage + 378;
}
}
@@ -33724,7 +32760,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc10", 10) == 0)
{
{
-return dev_storage + 383;
+return dev_storage + 449;
}
}
@@ -33739,7 +32775,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb10", 10) == 0)
{
{
-return dev_storage + 368;
+return dev_storage + 434;
}
}
@@ -33754,7 +32790,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda10", 10) == 0)
{
{
-return dev_storage + 353;
+return dev_storage + 419;
}
}
@@ -33772,7 +32808,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st120", 10) == 0)
{
{
-return dev_storage + 2502;
+return dev_storage + 2568;
}
}
@@ -33787,7 +32823,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st110", 10) == 0)
{
{
-return dev_storage + 2492;
+return dev_storage + 2558;
}
}
@@ -33802,7 +32838,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st100", 10) == 0)
{
{
-return dev_storage + 2482;
+return dev_storage + 2548;
}
}
@@ -33853,7 +32889,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/random", 11) == 0)
{
{
-return dev_storage + 301;
+return dev_storage + 367;
}
}
@@ -33874,7 +32910,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS59", 11) == 0)
{
{
-return dev_storage + 2570;
+return dev_storage + 2636;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym59", 11) == 0)
+ {
+{
+return dev_storage + 362;
}
}
@@ -33913,7 +32964,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS49", 11) == 0)
{
{
-return dev_storage + 2560;
+return dev_storage + 2626;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym49", 11) == 0)
+ {
+{
+return dev_storage + 352;
}
}
@@ -33952,7 +33018,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS39", 11) == 0)
{
{
-return dev_storage + 2550;
+return dev_storage + 2616;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym39", 11) == 0)
+ {
+{
+return dev_storage + 342;
}
}
@@ -33991,7 +33072,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS29", 11) == 0)
{
{
-return dev_storage + 2540;
+return dev_storage + 2606;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym29", 11) == 0)
+ {
+{
+return dev_storage + 332;
}
}
@@ -34030,7 +33126,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS19", 11) == 0)
{
{
-return dev_storage + 2530;
+return dev_storage + 2596;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym19", 11) == 0)
+ {
+{
+return dev_storage + 322;
}
}
@@ -34045,7 +33156,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst119", 11) == 0)
{
{
-return dev_storage + 225;
+return dev_storage + 226;
}
}
@@ -34081,7 +33192,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst109", 11) == 0)
{
{
-return dev_storage + 215;
+return dev_storage + 216;
}
}
@@ -34108,7 +33219,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS58", 11) == 0)
{
{
-return dev_storage + 2569;
+return dev_storage + 2635;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym58", 11) == 0)
+ {
+{
+return dev_storage + 361;
}
}
@@ -34147,7 +33273,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS48", 11) == 0)
{
{
-return dev_storage + 2559;
+return dev_storage + 2625;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym48", 11) == 0)
+ {
+{
+return dev_storage + 351;
}
}
@@ -34186,7 +33327,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS38", 11) == 0)
{
{
-return dev_storage + 2549;
+return dev_storage + 2615;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym38", 11) == 0)
+ {
+{
+return dev_storage + 341;
}
}
@@ -34225,7 +33381,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS28", 11) == 0)
{
{
-return dev_storage + 2539;
+return dev_storage + 2605;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym28", 11) == 0)
+ {
+{
+return dev_storage + 331;
}
}
@@ -34264,7 +33435,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS18", 11) == 0)
{
{
-return dev_storage + 2529;
+return dev_storage + 2595;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym18", 11) == 0)
+ {
+{
+return dev_storage + 321;
}
}
@@ -34279,7 +33465,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst118", 11) == 0)
{
{
-return dev_storage + 224;
+return dev_storage + 225;
}
}
@@ -34315,7 +33501,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst108", 11) == 0)
{
{
-return dev_storage + 214;
+return dev_storage + 215;
}
}
@@ -34342,7 +33528,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS57", 11) == 0)
{
{
-return dev_storage + 2568;
+return dev_storage + 2634;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym57", 11) == 0)
+ {
+{
+return dev_storage + 360;
}
}
@@ -34381,7 +33582,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS47", 11) == 0)
{
{
-return dev_storage + 2558;
+return dev_storage + 2624;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym47", 11) == 0)
+ {
+{
+return dev_storage + 350;
}
}
@@ -34420,7 +33636,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS37", 11) == 0)
{
{
-return dev_storage + 2548;
+return dev_storage + 2614;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym37", 11) == 0)
+ {
+{
+return dev_storage + 340;
}
}
@@ -34459,7 +33690,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS27", 11) == 0)
{
{
-return dev_storage + 2538;
+return dev_storage + 2604;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym27", 11) == 0)
+ {
+{
+return dev_storage + 330;
}
}
@@ -34474,7 +33720,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst127", 11) == 0)
{
{
-return dev_storage + 233;
+return dev_storage + 234;
}
}
@@ -34513,7 +33759,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS17", 11) == 0)
{
{
-return dev_storage + 2528;
+return dev_storage + 2594;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym17", 11) == 0)
+ {
+{
+return dev_storage + 320;
}
}
@@ -34528,7 +33789,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst117", 11) == 0)
{
{
-return dev_storage + 223;
+return dev_storage + 224;
}
}
@@ -34564,7 +33825,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst107", 11) == 0)
{
{
-return dev_storage + 213;
+return dev_storage + 214;
}
}
@@ -34591,7 +33852,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS56", 11) == 0)
{
{
-return dev_storage + 2567;
+return dev_storage + 2633;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym56", 11) == 0)
+ {
+{
+return dev_storage + 359;
}
}
@@ -34630,7 +33906,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS46", 11) == 0)
{
{
-return dev_storage + 2557;
+return dev_storage + 2623;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym46", 11) == 0)
+ {
+{
+return dev_storage + 349;
}
}
@@ -34669,7 +33960,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS36", 11) == 0)
{
{
-return dev_storage + 2547;
+return dev_storage + 2613;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym36", 11) == 0)
+ {
+{
+return dev_storage + 339;
}
}
@@ -34708,7 +34014,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS26", 11) == 0)
{
{
-return dev_storage + 2537;
+return dev_storage + 2603;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym26", 11) == 0)
+ {
+{
+return dev_storage + 329;
}
}
@@ -34723,7 +34044,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst126", 11) == 0)
{
{
-return dev_storage + 232;
+return dev_storage + 233;
}
}
@@ -34762,7 +34083,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS16", 11) == 0)
{
{
-return dev_storage + 2527;
+return dev_storage + 2593;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym16", 11) == 0)
+ {
+{
+return dev_storage + 319;
}
}
@@ -34777,7 +34113,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst116", 11) == 0)
{
{
-return dev_storage + 222;
+return dev_storage + 223;
}
}
@@ -34813,7 +34149,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst106", 11) == 0)
{
{
-return dev_storage + 212;
+return dev_storage + 213;
}
}
@@ -34834,78 +34170,171 @@ return NULL;
switch (KR_keyword [7])
{
case 'y':
- switch (KR_keyword [9])
+ switch (KR_keyword [5])
{
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS55", 11) == 0)
+ case 't':
+ switch (KR_keyword [9])
{
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS55", 11) == 0)
+ {
{
-return dev_storage + 2566;
+return dev_storage + 2632;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS45", 11) == 0)
- {
+ }
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS45", 11) == 0)
+ {
{
-return dev_storage + 2556;
+return dev_storage + 2622;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS35", 11) == 0)
- {
+ }
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS35", 11) == 0)
+ {
{
-return dev_storage + 2546;
+return dev_storage + 2612;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS25", 11) == 0)
- {
+ }
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS25", 11) == 0)
+ {
{
-return dev_storage + 2536;
+return dev_storage + 2602;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS15", 11) == 0)
- {
+ }
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS15", 11) == 0)
+ {
{
-return dev_storage + 2526;
+return dev_storage + 2592;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
+{
+return NULL;
}
}
- else
+ case 'p':
+ switch (KR_keyword [9])
{
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym55", 11) == 0)
+ {
+{
+return dev_storage + 358;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym45", 11) == 0)
+ {
+{
+return dev_storage + 348;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym35", 11) == 0)
+ {
+{
+return dev_storage + 338;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym25", 11) == 0)
+ {
+{
+return dev_storage + 328;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ptym15", 11) == 0)
+ {
+{
+return dev_storage + 318;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
@@ -34924,7 +34353,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst125", 11) == 0)
{
{
-return dev_storage + 231;
+return dev_storage + 232;
}
}
@@ -34939,7 +34368,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst115", 11) == 0)
{
{
-return dev_storage + 221;
+return dev_storage + 222;
}
}
@@ -34954,7 +34383,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst105", 11) == 0)
{
{
-return dev_storage + 211;
+return dev_storage + 212;
}
}
@@ -35062,7 +34491,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx15", 11) == 0)
{
{
-return dev_storage + 2365;
+return dev_storage + 2431;
}
}
@@ -35077,7 +34506,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw15", 11) == 0)
{
{
-return dev_storage + 2350;
+return dev_storage + 2416;
}
}
@@ -35092,7 +34521,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv15", 11) == 0)
{
{
-return dev_storage + 2335;
+return dev_storage + 2401;
}
}
@@ -35107,7 +34536,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu15", 11) == 0)
{
{
-return dev_storage + 2320;
+return dev_storage + 2386;
}
}
@@ -35122,7 +34551,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt15", 11) == 0)
{
{
-return dev_storage + 2305;
+return dev_storage + 2371;
}
}
@@ -35137,7 +34566,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds15", 11) == 0)
{
{
-return dev_storage + 2290;
+return dev_storage + 2356;
}
}
@@ -35152,7 +34581,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr15", 11) == 0)
{
{
-return dev_storage + 2275;
+return dev_storage + 2341;
}
}
@@ -35167,7 +34596,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq15", 11) == 0)
{
{
-return dev_storage + 2260;
+return dev_storage + 2326;
}
}
@@ -35182,7 +34611,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp15", 11) == 0)
{
{
-return dev_storage + 2245;
+return dev_storage + 2311;
}
}
@@ -35197,7 +34626,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo15", 11) == 0)
{
{
-return dev_storage + 2230;
+return dev_storage + 2296;
}
}
@@ -35212,7 +34641,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn15", 11) == 0)
{
{
-return dev_storage + 2215;
+return dev_storage + 2281;
}
}
@@ -35227,7 +34656,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm15", 11) == 0)
{
{
-return dev_storage + 2200;
+return dev_storage + 2266;
}
}
@@ -35242,7 +34671,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl15", 11) == 0)
{
{
-return dev_storage + 2185;
+return dev_storage + 2251;
}
}
@@ -35257,7 +34686,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk15", 11) == 0)
{
{
-return dev_storage + 2170;
+return dev_storage + 2236;
}
}
@@ -35272,7 +34701,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj15", 11) == 0)
{
{
-return dev_storage + 2155;
+return dev_storage + 2221;
}
}
@@ -35287,7 +34716,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi15", 11) == 0)
{
{
-return dev_storage + 2140;
+return dev_storage + 2206;
}
}
@@ -35302,7 +34731,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh15", 11) == 0)
{
{
-return dev_storage + 2125;
+return dev_storage + 2191;
}
}
@@ -35317,7 +34746,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg15", 11) == 0)
{
{
-return dev_storage + 2110;
+return dev_storage + 2176;
}
}
@@ -35332,7 +34761,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf15", 11) == 0)
{
{
-return dev_storage + 2095;
+return dev_storage + 2161;
}
}
@@ -35347,7 +34776,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde15", 11) == 0)
{
{
-return dev_storage + 2080;
+return dev_storage + 2146;
}
}
@@ -35362,7 +34791,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd15", 11) == 0)
{
{
-return dev_storage + 2065;
+return dev_storage + 2131;
}
}
@@ -35377,7 +34806,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc15", 11) == 0)
{
{
-return dev_storage + 2050;
+return dev_storage + 2116;
}
}
@@ -35392,7 +34821,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb15", 11) == 0)
{
{
-return dev_storage + 2035;
+return dev_storage + 2101;
}
}
@@ -35407,7 +34836,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda15", 11) == 0)
{
{
-return dev_storage + 2020;
+return dev_storage + 2086;
}
}
@@ -35431,7 +34860,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz15", 11) == 0)
{
{
-return dev_storage + 1981;
+return dev_storage + 2047;
}
}
@@ -35446,7 +34875,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy15", 11) == 0)
{
{
-return dev_storage + 1966;
+return dev_storage + 2032;
}
}
@@ -35461,7 +34890,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx15", 11) == 0)
{
{
-return dev_storage + 1951;
+return dev_storage + 2017;
}
}
@@ -35476,7 +34905,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw15", 11) == 0)
{
{
-return dev_storage + 1936;
+return dev_storage + 2002;
}
}
@@ -35491,7 +34920,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv15", 11) == 0)
{
{
-return dev_storage + 1921;
+return dev_storage + 1987;
}
}
@@ -35506,7 +34935,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu15", 11) == 0)
{
{
-return dev_storage + 1906;
+return dev_storage + 1972;
}
}
@@ -35521,7 +34950,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct15", 11) == 0)
{
{
-return dev_storage + 1891;
+return dev_storage + 1957;
}
}
@@ -35536,7 +34965,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs15", 11) == 0)
{
{
-return dev_storage + 1876;
+return dev_storage + 1942;
}
}
@@ -35551,7 +34980,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr15", 11) == 0)
{
{
-return dev_storage + 1861;
+return dev_storage + 1927;
}
}
@@ -35566,7 +34995,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq15", 11) == 0)
{
{
-return dev_storage + 1846;
+return dev_storage + 1912;
}
}
@@ -35581,7 +35010,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp15", 11) == 0)
{
{
-return dev_storage + 1831;
+return dev_storage + 1897;
}
}
@@ -35596,7 +35025,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco15", 11) == 0)
{
{
-return dev_storage + 1816;
+return dev_storage + 1882;
}
}
@@ -35611,7 +35040,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn15", 11) == 0)
{
{
-return dev_storage + 1801;
+return dev_storage + 1867;
}
}
@@ -35626,7 +35055,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm15", 11) == 0)
{
{
-return dev_storage + 1786;
+return dev_storage + 1852;
}
}
@@ -35641,7 +35070,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl15", 11) == 0)
{
{
-return dev_storage + 1771;
+return dev_storage + 1837;
}
}
@@ -35656,7 +35085,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck15", 11) == 0)
{
{
-return dev_storage + 1756;
+return dev_storage + 1822;
}
}
@@ -35671,7 +35100,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj15", 11) == 0)
{
{
-return dev_storage + 1741;
+return dev_storage + 1807;
}
}
@@ -35686,7 +35115,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci15", 11) == 0)
{
{
-return dev_storage + 1726;
+return dev_storage + 1792;
}
}
@@ -35701,7 +35130,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch15", 11) == 0)
{
{
-return dev_storage + 1711;
+return dev_storage + 1777;
}
}
@@ -35716,7 +35145,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg15", 11) == 0)
{
{
-return dev_storage + 1696;
+return dev_storage + 1762;
}
}
@@ -35731,7 +35160,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf15", 11) == 0)
{
{
-return dev_storage + 1681;
+return dev_storage + 1747;
}
}
@@ -35746,7 +35175,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce15", 11) == 0)
{
{
-return dev_storage + 1666;
+return dev_storage + 1732;
}
}
@@ -35761,7 +35190,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd15", 11) == 0)
{
{
-return dev_storage + 1651;
+return dev_storage + 1717;
}
}
@@ -35776,7 +35205,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc15", 11) == 0)
{
{
-return dev_storage + 1636;
+return dev_storage + 1702;
}
}
@@ -35791,7 +35220,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb15", 11) == 0)
{
{
-return dev_storage + 1621;
+return dev_storage + 1687;
}
}
@@ -35806,7 +35235,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca15", 11) == 0)
{
{
-return dev_storage + 1606;
+return dev_storage + 1672;
}
}
@@ -35830,7 +35259,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz15", 11) == 0)
{
{
-return dev_storage + 1565;
+return dev_storage + 1631;
}
}
@@ -35845,7 +35274,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby15", 11) == 0)
{
{
-return dev_storage + 1550;
+return dev_storage + 1616;
}
}
@@ -35860,7 +35289,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx15", 11) == 0)
{
{
-return dev_storage + 1535;
+return dev_storage + 1601;
}
}
@@ -35875,7 +35304,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw15", 11) == 0)
{
{
-return dev_storage + 1520;
+return dev_storage + 1586;
}
}
@@ -35890,7 +35319,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv15", 11) == 0)
{
{
-return dev_storage + 1505;
+return dev_storage + 1571;
}
}
@@ -35905,7 +35334,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu15", 11) == 0)
{
{
-return dev_storage + 1490;
+return dev_storage + 1556;
}
}
@@ -35920,7 +35349,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt15", 11) == 0)
{
{
-return dev_storage + 1475;
+return dev_storage + 1541;
}
}
@@ -35935,7 +35364,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs15", 11) == 0)
{
{
-return dev_storage + 1460;
+return dev_storage + 1526;
}
}
@@ -35950,7 +35379,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr15", 11) == 0)
{
{
-return dev_storage + 1445;
+return dev_storage + 1511;
}
}
@@ -35965,7 +35394,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq15", 11) == 0)
{
{
-return dev_storage + 1430;
+return dev_storage + 1496;
}
}
@@ -35980,7 +35409,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp15", 11) == 0)
{
{
-return dev_storage + 1415;
+return dev_storage + 1481;
}
}
@@ -35995,7 +35424,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo15", 11) == 0)
{
{
-return dev_storage + 1400;
+return dev_storage + 1466;
}
}
@@ -36010,7 +35439,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn15", 11) == 0)
{
{
-return dev_storage + 1385;
+return dev_storage + 1451;
}
}
@@ -36025,7 +35454,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm15", 11) == 0)
{
{
-return dev_storage + 1370;
+return dev_storage + 1436;
}
}
@@ -36040,7 +35469,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl15", 11) == 0)
{
{
-return dev_storage + 1355;
+return dev_storage + 1421;
}
}
@@ -36055,7 +35484,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk15", 11) == 0)
{
{
-return dev_storage + 1340;
+return dev_storage + 1406;
}
}
@@ -36070,7 +35499,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj15", 11) == 0)
{
{
-return dev_storage + 1325;
+return dev_storage + 1391;
}
}
@@ -36085,7 +35514,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi15", 11) == 0)
{
{
-return dev_storage + 1310;
+return dev_storage + 1376;
}
}
@@ -36100,7 +35529,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh15", 11) == 0)
{
{
-return dev_storage + 1295;
+return dev_storage + 1361;
}
}
@@ -36115,7 +35544,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg15", 11) == 0)
{
{
-return dev_storage + 1280;
+return dev_storage + 1346;
}
}
@@ -36130,7 +35559,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf15", 11) == 0)
{
{
-return dev_storage + 1265;
+return dev_storage + 1331;
}
}
@@ -36145,7 +35574,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe15", 11) == 0)
{
{
-return dev_storage + 1250;
+return dev_storage + 1316;
}
}
@@ -36160,7 +35589,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd15", 11) == 0)
{
{
-return dev_storage + 1235;
+return dev_storage + 1301;
}
}
@@ -36175,7 +35604,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc15", 11) == 0)
{
{
-return dev_storage + 1220;
+return dev_storage + 1286;
}
}
@@ -36190,7 +35619,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb15", 11) == 0)
{
{
-return dev_storage + 1205;
+return dev_storage + 1271;
}
}
@@ -36205,7 +35634,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba15", 11) == 0)
{
{
-return dev_storage + 1190;
+return dev_storage + 1256;
}
}
@@ -36229,7 +35658,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz15", 11) == 0)
{
{
-return dev_storage + 1149;
+return dev_storage + 1215;
}
}
@@ -36244,7 +35673,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday15", 11) == 0)
{
{
-return dev_storage + 1134;
+return dev_storage + 1200;
}
}
@@ -36259,7 +35688,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax15", 11) == 0)
{
{
-return dev_storage + 1119;
+return dev_storage + 1185;
}
}
@@ -36274,7 +35703,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw15", 11) == 0)
{
{
-return dev_storage + 1104;
+return dev_storage + 1170;
}
}
@@ -36289,7 +35718,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav15", 11) == 0)
{
{
-return dev_storage + 1089;
+return dev_storage + 1155;
}
}
@@ -36304,7 +35733,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau15", 11) == 0)
{
{
-return dev_storage + 1074;
+return dev_storage + 1140;
}
}
@@ -36319,7 +35748,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat15", 11) == 0)
{
{
-return dev_storage + 1059;
+return dev_storage + 1125;
}
}
@@ -36334,7 +35763,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas15", 11) == 0)
{
{
-return dev_storage + 1044;
+return dev_storage + 1110;
}
}
@@ -36349,7 +35778,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar15", 11) == 0)
{
{
-return dev_storage + 1029;
+return dev_storage + 1095;
}
}
@@ -36364,7 +35793,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq15", 11) == 0)
{
{
-return dev_storage + 1014;
+return dev_storage + 1080;
}
}
@@ -36379,7 +35808,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap15", 11) == 0)
{
{
-return dev_storage + 999;
+return dev_storage + 1065;
}
}
@@ -36394,7 +35823,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao15", 11) == 0)
{
{
-return dev_storage + 984;
+return dev_storage + 1050;
}
}
@@ -36409,7 +35838,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan15", 11) == 0)
{
{
-return dev_storage + 969;
+return dev_storage + 1035;
}
}
@@ -36424,7 +35853,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam15", 11) == 0)
{
{
-return dev_storage + 954;
+return dev_storage + 1020;
}
}
@@ -36439,7 +35868,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal15", 11) == 0)
{
{
-return dev_storage + 939;
+return dev_storage + 1005;
}
}
@@ -36454,7 +35883,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak15", 11) == 0)
{
{
-return dev_storage + 924;
+return dev_storage + 990;
}
}
@@ -36469,7 +35898,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj15", 11) == 0)
{
{
-return dev_storage + 909;
+return dev_storage + 975;
}
}
@@ -36484,7 +35913,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai15", 11) == 0)
{
{
-return dev_storage + 894;
+return dev_storage + 960;
}
}
@@ -36499,7 +35928,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah15", 11) == 0)
{
{
-return dev_storage + 879;
+return dev_storage + 945;
}
}
@@ -36514,7 +35943,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag15", 11) == 0)
{
{
-return dev_storage + 864;
+return dev_storage + 930;
}
}
@@ -36529,7 +35958,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf15", 11) == 0)
{
{
-return dev_storage + 849;
+return dev_storage + 915;
}
}
@@ -36544,7 +35973,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae15", 11) == 0)
{
{
-return dev_storage + 834;
+return dev_storage + 900;
}
}
@@ -36559,7 +35988,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad15", 11) == 0)
{
{
-return dev_storage + 819;
+return dev_storage + 885;
}
}
@@ -36574,7 +36003,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac15", 11) == 0)
{
{
-return dev_storage + 804;
+return dev_storage + 870;
}
}
@@ -36589,7 +36018,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab15", 11) == 0)
{
{
-return dev_storage + 789;
+return dev_storage + 855;
}
}
@@ -36604,7 +36033,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa15", 11) == 0)
{
{
-return dev_storage + 774;
+return dev_storage + 840;
}
}
@@ -36631,78 +36060,171 @@ return NULL;
switch (KR_keyword [7])
{
case 'y':
- switch (KR_keyword [9])
+ switch (KR_keyword [5])
{
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS54", 11) == 0)
+ case 't':
+ switch (KR_keyword [9])
{
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS54", 11) == 0)
+ {
{
-return dev_storage + 2565;
+return dev_storage + 2631;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS44", 11) == 0)
- {
+ }
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS44", 11) == 0)
+ {
{
-return dev_storage + 2555;
+return dev_storage + 2621;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS34", 11) == 0)
- {
+ }
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS34", 11) == 0)
+ {
{
-return dev_storage + 2545;
+return dev_storage + 2611;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS24", 11) == 0)
- {
+ }
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS24", 11) == 0)
+ {
{
-return dev_storage + 2535;
+return dev_storage + 2601;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS14", 11) == 0)
- {
+ }
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS14", 11) == 0)
+ {
{
-return dev_storage + 2525;
+return dev_storage + 2591;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
+{
+return NULL;
}
}
- else
+ case 'p':
+ switch (KR_keyword [9])
{
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym54", 11) == 0)
+ {
+{
+return dev_storage + 357;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym44", 11) == 0)
+ {
+{
+return dev_storage + 347;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym34", 11) == 0)
+ {
+{
+return dev_storage + 337;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym24", 11) == 0)
+ {
+{
+return dev_storage + 327;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ptym14", 11) == 0)
+ {
+{
+return dev_storage + 317;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
@@ -36721,7 +36243,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst124", 11) == 0)
{
{
-return dev_storage + 230;
+return dev_storage + 231;
}
}
@@ -36736,7 +36258,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst114", 11) == 0)
{
{
-return dev_storage + 220;
+return dev_storage + 221;
}
}
@@ -36751,7 +36273,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst104", 11) == 0)
{
{
-return dev_storage + 210;
+return dev_storage + 211;
}
}
@@ -36859,7 +36381,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx14", 11) == 0)
{
{
-return dev_storage + 2364;
+return dev_storage + 2430;
}
}
@@ -36874,7 +36396,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw14", 11) == 0)
{
{
-return dev_storage + 2349;
+return dev_storage + 2415;
}
}
@@ -36889,7 +36411,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv14", 11) == 0)
{
{
-return dev_storage + 2334;
+return dev_storage + 2400;
}
}
@@ -36904,7 +36426,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu14", 11) == 0)
{
{
-return dev_storage + 2319;
+return dev_storage + 2385;
}
}
@@ -36919,7 +36441,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt14", 11) == 0)
{
{
-return dev_storage + 2304;
+return dev_storage + 2370;
}
}
@@ -36934,7 +36456,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds14", 11) == 0)
{
{
-return dev_storage + 2289;
+return dev_storage + 2355;
}
}
@@ -36949,7 +36471,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr14", 11) == 0)
{
{
-return dev_storage + 2274;
+return dev_storage + 2340;
}
}
@@ -36964,7 +36486,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq14", 11) == 0)
{
{
-return dev_storage + 2259;
+return dev_storage + 2325;
}
}
@@ -36979,7 +36501,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp14", 11) == 0)
{
{
-return dev_storage + 2244;
+return dev_storage + 2310;
}
}
@@ -36994,7 +36516,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo14", 11) == 0)
{
{
-return dev_storage + 2229;
+return dev_storage + 2295;
}
}
@@ -37009,7 +36531,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn14", 11) == 0)
{
{
-return dev_storage + 2214;
+return dev_storage + 2280;
}
}
@@ -37024,7 +36546,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm14", 11) == 0)
{
{
-return dev_storage + 2199;
+return dev_storage + 2265;
}
}
@@ -37039,7 +36561,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl14", 11) == 0)
{
{
-return dev_storage + 2184;
+return dev_storage + 2250;
}
}
@@ -37054,7 +36576,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk14", 11) == 0)
{
{
-return dev_storage + 2169;
+return dev_storage + 2235;
}
}
@@ -37069,7 +36591,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj14", 11) == 0)
{
{
-return dev_storage + 2154;
+return dev_storage + 2220;
}
}
@@ -37084,7 +36606,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi14", 11) == 0)
{
{
-return dev_storage + 2139;
+return dev_storage + 2205;
}
}
@@ -37099,7 +36621,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh14", 11) == 0)
{
{
-return dev_storage + 2124;
+return dev_storage + 2190;
}
}
@@ -37114,7 +36636,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg14", 11) == 0)
{
{
-return dev_storage + 2109;
+return dev_storage + 2175;
}
}
@@ -37129,7 +36651,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf14", 11) == 0)
{
{
-return dev_storage + 2094;
+return dev_storage + 2160;
}
}
@@ -37144,7 +36666,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde14", 11) == 0)
{
{
-return dev_storage + 2079;
+return dev_storage + 2145;
}
}
@@ -37159,7 +36681,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd14", 11) == 0)
{
{
-return dev_storage + 2064;
+return dev_storage + 2130;
}
}
@@ -37174,7 +36696,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc14", 11) == 0)
{
{
-return dev_storage + 2049;
+return dev_storage + 2115;
}
}
@@ -37189,7 +36711,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb14", 11) == 0)
{
{
-return dev_storage + 2034;
+return dev_storage + 2100;
}
}
@@ -37204,7 +36726,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda14", 11) == 0)
{
{
-return dev_storage + 2019;
+return dev_storage + 2085;
}
}
@@ -37228,7 +36750,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz14", 11) == 0)
{
{
-return dev_storage + 1980;
+return dev_storage + 2046;
}
}
@@ -37243,7 +36765,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy14", 11) == 0)
{
{
-return dev_storage + 1965;
+return dev_storage + 2031;
}
}
@@ -37258,7 +36780,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx14", 11) == 0)
{
{
-return dev_storage + 1950;
+return dev_storage + 2016;
}
}
@@ -37273,7 +36795,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw14", 11) == 0)
{
{
-return dev_storage + 1935;
+return dev_storage + 2001;
}
}
@@ -37288,7 +36810,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv14", 11) == 0)
{
{
-return dev_storage + 1920;
+return dev_storage + 1986;
}
}
@@ -37303,7 +36825,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu14", 11) == 0)
{
{
-return dev_storage + 1905;
+return dev_storage + 1971;
}
}
@@ -37318,7 +36840,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct14", 11) == 0)
{
{
-return dev_storage + 1890;
+return dev_storage + 1956;
}
}
@@ -37333,7 +36855,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs14", 11) == 0)
{
{
-return dev_storage + 1875;
+return dev_storage + 1941;
}
}
@@ -37348,7 +36870,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr14", 11) == 0)
{
{
-return dev_storage + 1860;
+return dev_storage + 1926;
}
}
@@ -37363,7 +36885,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq14", 11) == 0)
{
{
-return dev_storage + 1845;
+return dev_storage + 1911;
}
}
@@ -37378,7 +36900,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp14", 11) == 0)
{
{
-return dev_storage + 1830;
+return dev_storage + 1896;
}
}
@@ -37393,7 +36915,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco14", 11) == 0)
{
{
-return dev_storage + 1815;
+return dev_storage + 1881;
}
}
@@ -37408,7 +36930,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn14", 11) == 0)
{
{
-return dev_storage + 1800;
+return dev_storage + 1866;
}
}
@@ -37423,7 +36945,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm14", 11) == 0)
{
{
-return dev_storage + 1785;
+return dev_storage + 1851;
}
}
@@ -37438,7 +36960,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl14", 11) == 0)
{
{
-return dev_storage + 1770;
+return dev_storage + 1836;
}
}
@@ -37453,7 +36975,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck14", 11) == 0)
{
{
-return dev_storage + 1755;
+return dev_storage + 1821;
}
}
@@ -37468,7 +36990,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj14", 11) == 0)
{
{
-return dev_storage + 1740;
+return dev_storage + 1806;
}
}
@@ -37483,7 +37005,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci14", 11) == 0)
{
{
-return dev_storage + 1725;
+return dev_storage + 1791;
}
}
@@ -37498,7 +37020,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch14", 11) == 0)
{
{
-return dev_storage + 1710;
+return dev_storage + 1776;
}
}
@@ -37513,7 +37035,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg14", 11) == 0)
{
{
-return dev_storage + 1695;
+return dev_storage + 1761;
}
}
@@ -37528,7 +37050,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf14", 11) == 0)
{
{
-return dev_storage + 1680;
+return dev_storage + 1746;
}
}
@@ -37543,7 +37065,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce14", 11) == 0)
{
{
-return dev_storage + 1665;
+return dev_storage + 1731;
}
}
@@ -37558,7 +37080,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd14", 11) == 0)
{
{
-return dev_storage + 1650;
+return dev_storage + 1716;
}
}
@@ -37573,7 +37095,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc14", 11) == 0)
{
{
-return dev_storage + 1635;
+return dev_storage + 1701;
}
}
@@ -37588,7 +37110,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb14", 11) == 0)
{
{
-return dev_storage + 1620;
+return dev_storage + 1686;
}
}
@@ -37603,7 +37125,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca14", 11) == 0)
{
{
-return dev_storage + 1605;
+return dev_storage + 1671;
}
}
@@ -37627,7 +37149,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz14", 11) == 0)
{
{
-return dev_storage + 1564;
+return dev_storage + 1630;
}
}
@@ -37642,7 +37164,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby14", 11) == 0)
{
{
-return dev_storage + 1549;
+return dev_storage + 1615;
}
}
@@ -37657,7 +37179,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx14", 11) == 0)
{
{
-return dev_storage + 1534;
+return dev_storage + 1600;
}
}
@@ -37672,7 +37194,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw14", 11) == 0)
{
{
-return dev_storage + 1519;
+return dev_storage + 1585;
}
}
@@ -37687,7 +37209,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv14", 11) == 0)
{
{
-return dev_storage + 1504;
+return dev_storage + 1570;
}
}
@@ -37702,7 +37224,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu14", 11) == 0)
{
{
-return dev_storage + 1489;
+return dev_storage + 1555;
}
}
@@ -37717,7 +37239,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt14", 11) == 0)
{
{
-return dev_storage + 1474;
+return dev_storage + 1540;
}
}
@@ -37732,7 +37254,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs14", 11) == 0)
{
{
-return dev_storage + 1459;
+return dev_storage + 1525;
}
}
@@ -37747,7 +37269,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr14", 11) == 0)
{
{
-return dev_storage + 1444;
+return dev_storage + 1510;
}
}
@@ -37762,7 +37284,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq14", 11) == 0)
{
{
-return dev_storage + 1429;
+return dev_storage + 1495;
}
}
@@ -37777,7 +37299,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp14", 11) == 0)
{
{
-return dev_storage + 1414;
+return dev_storage + 1480;
}
}
@@ -37792,7 +37314,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo14", 11) == 0)
{
{
-return dev_storage + 1399;
+return dev_storage + 1465;
}
}
@@ -37807,7 +37329,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn14", 11) == 0)
{
{
-return dev_storage + 1384;
+return dev_storage + 1450;
}
}
@@ -37822,7 +37344,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm14", 11) == 0)
{
{
-return dev_storage + 1369;
+return dev_storage + 1435;
}
}
@@ -37837,7 +37359,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl14", 11) == 0)
{
{
-return dev_storage + 1354;
+return dev_storage + 1420;
}
}
@@ -37852,7 +37374,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk14", 11) == 0)
{
{
-return dev_storage + 1339;
+return dev_storage + 1405;
}
}
@@ -37867,7 +37389,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj14", 11) == 0)
{
{
-return dev_storage + 1324;
+return dev_storage + 1390;
}
}
@@ -37882,7 +37404,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi14", 11) == 0)
{
{
-return dev_storage + 1309;
+return dev_storage + 1375;
}
}
@@ -37897,7 +37419,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh14", 11) == 0)
{
{
-return dev_storage + 1294;
+return dev_storage + 1360;
}
}
@@ -37912,7 +37434,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg14", 11) == 0)
{
{
-return dev_storage + 1279;
+return dev_storage + 1345;
}
}
@@ -37927,7 +37449,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf14", 11) == 0)
{
{
-return dev_storage + 1264;
+return dev_storage + 1330;
}
}
@@ -37942,7 +37464,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe14", 11) == 0)
{
{
-return dev_storage + 1249;
+return dev_storage + 1315;
}
}
@@ -37957,7 +37479,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd14", 11) == 0)
{
{
-return dev_storage + 1234;
+return dev_storage + 1300;
}
}
@@ -37972,7 +37494,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc14", 11) == 0)
{
{
-return dev_storage + 1219;
+return dev_storage + 1285;
}
}
@@ -37987,7 +37509,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb14", 11) == 0)
{
{
-return dev_storage + 1204;
+return dev_storage + 1270;
}
}
@@ -38002,7 +37524,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba14", 11) == 0)
{
{
-return dev_storage + 1189;
+return dev_storage + 1255;
}
}
@@ -38026,7 +37548,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz14", 11) == 0)
{
{
-return dev_storage + 1148;
+return dev_storage + 1214;
}
}
@@ -38041,7 +37563,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday14", 11) == 0)
{
{
-return dev_storage + 1133;
+return dev_storage + 1199;
}
}
@@ -38056,7 +37578,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax14", 11) == 0)
{
{
-return dev_storage + 1118;
+return dev_storage + 1184;
}
}
@@ -38071,7 +37593,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw14", 11) == 0)
{
{
-return dev_storage + 1103;
+return dev_storage + 1169;
}
}
@@ -38086,7 +37608,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav14", 11) == 0)
{
{
-return dev_storage + 1088;
+return dev_storage + 1154;
}
}
@@ -38101,7 +37623,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau14", 11) == 0)
{
{
-return dev_storage + 1073;
+return dev_storage + 1139;
}
}
@@ -38116,7 +37638,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat14", 11) == 0)
{
{
-return dev_storage + 1058;
+return dev_storage + 1124;
}
}
@@ -38131,7 +37653,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas14", 11) == 0)
{
{
-return dev_storage + 1043;
+return dev_storage + 1109;
}
}
@@ -38146,7 +37668,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar14", 11) == 0)
{
{
-return dev_storage + 1028;
+return dev_storage + 1094;
}
}
@@ -38161,7 +37683,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq14", 11) == 0)
{
{
-return dev_storage + 1013;
+return dev_storage + 1079;
}
}
@@ -38176,7 +37698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap14", 11) == 0)
{
{
-return dev_storage + 998;
+return dev_storage + 1064;
}
}
@@ -38191,7 +37713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao14", 11) == 0)
{
{
-return dev_storage + 983;
+return dev_storage + 1049;
}
}
@@ -38206,7 +37728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan14", 11) == 0)
{
{
-return dev_storage + 968;
+return dev_storage + 1034;
}
}
@@ -38221,7 +37743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam14", 11) == 0)
{
{
-return dev_storage + 953;
+return dev_storage + 1019;
}
}
@@ -38236,7 +37758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal14", 11) == 0)
{
{
-return dev_storage + 938;
+return dev_storage + 1004;
}
}
@@ -38251,7 +37773,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak14", 11) == 0)
{
{
-return dev_storage + 923;
+return dev_storage + 989;
}
}
@@ -38266,7 +37788,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj14", 11) == 0)
{
{
-return dev_storage + 908;
+return dev_storage + 974;
}
}
@@ -38281,7 +37803,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai14", 11) == 0)
{
{
-return dev_storage + 893;
+return dev_storage + 959;
}
}
@@ -38296,7 +37818,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah14", 11) == 0)
{
{
-return dev_storage + 878;
+return dev_storage + 944;
}
}
@@ -38311,7 +37833,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag14", 11) == 0)
{
{
-return dev_storage + 863;
+return dev_storage + 929;
}
}
@@ -38326,7 +37848,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf14", 11) == 0)
{
{
-return dev_storage + 848;
+return dev_storage + 914;
}
}
@@ -38341,7 +37863,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae14", 11) == 0)
{
{
-return dev_storage + 833;
+return dev_storage + 899;
}
}
@@ -38356,7 +37878,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad14", 11) == 0)
{
{
-return dev_storage + 818;
+return dev_storage + 884;
}
}
@@ -38371,7 +37893,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac14", 11) == 0)
{
{
-return dev_storage + 803;
+return dev_storage + 869;
}
}
@@ -38386,7 +37908,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab14", 11) == 0)
{
{
-return dev_storage + 788;
+return dev_storage + 854;
}
}
@@ -38401,7 +37923,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa14", 11) == 0)
{
{
-return dev_storage + 773;
+return dev_storage + 839;
}
}
@@ -38425,16 +37947,16 @@ return NULL;
}
}
case '3':
- switch (KR_keyword [7])
+ switch (KR_keyword [8])
{
- case 'y':
- switch (KR_keyword [9])
+ case 'z':
+ switch (KR_keyword [7])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/ttyS63", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcz13", 11) == 0)
{
{
-return dev_storage + 2574;
+return dev_storage + 2045;
}
}
@@ -38445,11 +37967,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS53", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbz13", 11) == 0)
{
{
-return dev_storage + 2564;
+return dev_storage + 1629;
}
}
@@ -38460,11 +37982,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS43", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaz13", 11) == 0)
{
{
-return dev_storage + 2554;
+return dev_storage + 1213;
}
}
@@ -38475,11 +37997,20 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS33", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'y':
+ switch (KR_keyword [7])
+ {
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcy13", 11) == 0)
{
{
-return dev_storage + 2544;
+return dev_storage + 2030;
}
}
@@ -38490,11 +38021,11 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS23", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdby13", 11) == 0)
{
{
-return dev_storage + 2534;
+return dev_storage + 1614;
}
}
@@ -38505,11 +38036,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sday13", 11) == 0)
{
{
-return dev_storage + 2524;
+return dev_storage + 1198;
}
}
@@ -38526,14 +38057,14 @@ return NULL;
}
}
- case 't':
- switch (KR_keyword [9])
+ case 'x':
+ switch (KR_keyword [7])
{
- case '2':
- if (strncmp (KR_keyword, "/dev/nst123", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddx13", 11) == 0)
{
{
-return dev_storage + 229;
+return dev_storage + 2429;
}
}
@@ -38544,11 +38075,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/nst113", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcx13", 11) == 0)
{
{
-return dev_storage + 219;
+return dev_storage + 2015;
}
}
@@ -38559,11 +38090,11 @@ return NULL;
}
}
- case '0':
- if (strncmp (KR_keyword, "/dev/nst103", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbx13", 11) == 0)
{
{
-return dev_storage + 209;
+return dev_storage + 1599;
}
}
@@ -38574,20 +38105,11 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case 'n':
- switch (KR_keyword [9])
- {
- case '6':
- if (strncmp (KR_keyword, "/dev/cons63", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdax13", 11) == 0)
{
{
-return dev_storage + 83;
+return dev_storage + 1183;
}
}
@@ -38598,26 +38120,20 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/cons53", 11) == 0)
- {
-{
-return dev_storage + 73;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
- case '4':
- if (strncmp (KR_keyword, "/dev/cons43", 11) == 0)
+ }
+ case 'w':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddw13", 11) == 0)
{
{
-return dev_storage + 63;
+return dev_storage + 2414;
}
}
@@ -38628,11 +38144,11 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/cons33", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcw13", 11) == 0)
{
{
-return dev_storage + 53;
+return dev_storage + 2000;
}
}
@@ -38643,11 +38159,11 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/cons23", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbw13", 11) == 0)
{
{
-return dev_storage + 43;
+return dev_storage + 1584;
}
}
@@ -38658,11 +38174,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/cons13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaw13", 11) == 0)
{
{
-return dev_storage + 33;
+return dev_storage + 1168;
}
}
@@ -38679,14 +38195,14 @@ return NULL;
}
}
- case 'd':
- switch (KR_keyword [8])
+ case 'v':
+ switch (KR_keyword [7])
{
- case 'x':
- if (strncmp (KR_keyword, "/dev/sddx13", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddv13", 11) == 0)
{
{
-return dev_storage + 2363;
+return dev_storage + 2399;
}
}
@@ -38697,11 +38213,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sddw13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcv13", 11) == 0)
{
{
-return dev_storage + 2348;
+return dev_storage + 1985;
}
}
@@ -38712,11 +38228,11 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sddv13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbv13", 11) == 0)
{
{
-return dev_storage + 2333;
+return dev_storage + 1569;
}
}
@@ -38727,11 +38243,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sddu13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdav13", 11) == 0)
{
{
-return dev_storage + 2318;
+return dev_storage + 1153;
}
}
@@ -38742,11 +38258,20 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sddt13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'u':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddu13", 11) == 0)
{
{
-return dev_storage + 2303;
+return dev_storage + 2384;
}
}
@@ -38757,11 +38282,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdds13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcu13", 11) == 0)
{
{
-return dev_storage + 2288;
+return dev_storage + 1970;
}
}
@@ -38772,11 +38297,11 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sddr13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbu13", 11) == 0)
{
{
-return dev_storage + 2273;
+return dev_storage + 1554;
}
}
@@ -38787,11 +38312,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sddq13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdau13", 11) == 0)
{
{
-return dev_storage + 2258;
+return dev_storage + 1138;
}
}
@@ -38802,11 +38327,20 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sddp13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 't':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddt13", 11) == 0)
{
{
-return dev_storage + 2243;
+return dev_storage + 2369;
}
}
@@ -38817,11 +38351,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sddo13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdct13", 11) == 0)
{
{
-return dev_storage + 2228;
+return dev_storage + 1955;
}
}
@@ -38832,11 +38366,11 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sddn13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbt13", 11) == 0)
{
{
-return dev_storage + 2213;
+return dev_storage + 1539;
}
}
@@ -38847,11 +38381,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sddm13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdat13", 11) == 0)
{
{
-return dev_storage + 2198;
+return dev_storage + 1123;
}
}
@@ -38862,11 +38396,20 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sddl13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 's':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/cons63", 11) == 0)
{
{
-return dev_storage + 2183;
+return dev_storage + 83;
}
}
@@ -38877,11 +38420,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sddk13", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/cons53", 11) == 0)
{
{
-return dev_storage + 2168;
+return dev_storage + 73;
}
}
@@ -38892,11 +38435,11 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sddj13", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/cons43", 11) == 0)
{
{
-return dev_storage + 2153;
+return dev_storage + 63;
}
}
@@ -38907,11 +38450,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sddi13", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/cons33", 11) == 0)
{
{
-return dev_storage + 2138;
+return dev_storage + 53;
}
}
@@ -38922,11 +38465,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sddh13", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/cons23", 11) == 0)
{
{
-return dev_storage + 2123;
+return dev_storage + 43;
}
}
@@ -38937,56 +38480,104 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sddg13", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'n':
+ if (strncmp (KR_keyword, "/dev/cons13", 11) == 0)
+ {
{
-return dev_storage + 2108;
+return dev_storage + 33;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case 'f':
- if (strncmp (KR_keyword, "/dev/sddf13", 11) == 0)
- {
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdds13", 11) == 0)
+ {
{
-return dev_storage + 2093;
+return dev_storage + 2354;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdde13", 11) == 0)
- {
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcs13", 11) == 0)
+ {
{
-return dev_storage + 2078;
+return dev_storage + 1940;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbs13", 11) == 0)
+ {
+{
+return dev_storage + 1524;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdas13", 11) == 0)
+ {
+{
+return dev_storage + 1108;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'r':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sddd13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddr13", 11) == 0)
{
{
-return dev_storage + 2063;
+return dev_storage + 2339;
}
}
@@ -38998,10 +38589,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sddc13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcr13", 11) == 0)
{
{
-return dev_storage + 2048;
+return dev_storage + 1925;
}
}
@@ -39013,10 +38604,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sddb13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbr13", 11) == 0)
{
{
-return dev_storage + 2033;
+return dev_storage + 1509;
}
}
@@ -39028,10 +38619,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdda13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdar13", 11) == 0)
{
{
-return dev_storage + 2018;
+return dev_storage + 1093;
}
}
@@ -39048,14 +38639,14 @@ return NULL;
}
}
- case 'c':
- switch (KR_keyword [8])
+ case 'q':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdcz13", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddq13", 11) == 0)
{
{
-return dev_storage + 1979;
+return dev_storage + 2324;
}
}
@@ -39066,11 +38657,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdcy13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcq13", 11) == 0)
{
{
-return dev_storage + 1964;
+return dev_storage + 1910;
}
}
@@ -39081,11 +38672,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdcx13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbq13", 11) == 0)
{
{
-return dev_storage + 1949;
+return dev_storage + 1494;
}
}
@@ -39096,11 +38687,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdcw13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaq13", 11) == 0)
{
{
-return dev_storage + 1934;
+return dev_storage + 1078;
}
}
@@ -39111,11 +38702,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdcv13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddp13", 11) == 0)
{
{
-return dev_storage + 1919;
+return dev_storage + 2309;
}
}
@@ -39126,11 +38726,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdcu13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcp13", 11) == 0)
{
{
-return dev_storage + 1904;
+return dev_storage + 1895;
}
}
@@ -39141,11 +38741,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdct13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbp13", 11) == 0)
{
{
-return dev_storage + 1889;
+return dev_storage + 1479;
}
}
@@ -39156,11 +38756,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdcs13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdap13", 11) == 0)
{
{
-return dev_storage + 1874;
+return dev_storage + 1063;
}
}
@@ -39171,11 +38771,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdcr13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'o':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddo13", 11) == 0)
{
{
-return dev_storage + 1859;
+return dev_storage + 2294;
}
}
@@ -39186,11 +38795,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdcq13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdco13", 11) == 0)
{
{
-return dev_storage + 1844;
+return dev_storage + 1880;
}
}
@@ -39201,11 +38810,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdcp13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbo13", 11) == 0)
{
{
-return dev_storage + 1829;
+return dev_storage + 1464;
}
}
@@ -39216,11 +38825,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdco13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdao13", 11) == 0)
{
{
-return dev_storage + 1814;
+return dev_storage + 1048;
}
}
@@ -39231,11 +38840,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdcn13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'n':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddn13", 11) == 0)
{
{
-return dev_storage + 1799;
+return dev_storage + 2279;
}
}
@@ -39246,11 +38864,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdcm13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcn13", 11) == 0)
{
{
-return dev_storage + 1784;
+return dev_storage + 1865;
}
}
@@ -39261,11 +38879,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdcl13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbn13", 11) == 0)
{
{
-return dev_storage + 1769;
+return dev_storage + 1449;
}
}
@@ -39276,11 +38894,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdck13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdan13", 11) == 0)
{
{
-return dev_storage + 1754;
+return dev_storage + 1033;
}
}
@@ -39291,11 +38909,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdcj13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'm':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ptym63", 11) == 0)
{
{
-return dev_storage + 1739;
+return dev_storage + 366;
}
}
@@ -39306,11 +38933,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdci13", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym53", 11) == 0)
{
{
-return dev_storage + 1724;
+return dev_storage + 356;
}
}
@@ -39321,11 +38948,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdch13", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym43", 11) == 0)
{
{
-return dev_storage + 1709;
+return dev_storage + 346;
}
}
@@ -39336,11 +38963,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdcg13", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym33", 11) == 0)
{
{
-return dev_storage + 1694;
+return dev_storage + 336;
}
}
@@ -39351,11 +38978,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdcf13", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym23", 11) == 0)
{
{
-return dev_storage + 1679;
+return dev_storage + 326;
}
}
@@ -39366,26 +38993,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdce13", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym13", 11) == 0)
+ {
{
-return dev_storage + 1664;
+return dev_storage + 316;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddm13", 11) == 0)
+ {
+{
+return dev_storage + 2264;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcm13", 11) == 0)
+ {
+{
+return dev_storage + 1850;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbm13", 11) == 0)
+ {
+{
+return dev_storage + 1434;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdam13", 11) == 0)
+ {
+{
+return dev_storage + 1018;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'l':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdcd13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddl13", 11) == 0)
{
{
-return dev_storage + 1649;
+return dev_storage + 2249;
}
}
@@ -39397,10 +39102,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdcc13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcl13", 11) == 0)
{
{
-return dev_storage + 1634;
+return dev_storage + 1835;
}
}
@@ -39412,10 +39117,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdcb13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbl13", 11) == 0)
{
{
-return dev_storage + 1619;
+return dev_storage + 1419;
}
}
@@ -39427,10 +39132,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdca13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdal13", 11) == 0)
{
{
-return dev_storage + 1604;
+return dev_storage + 1003;
}
}
@@ -39447,14 +39152,14 @@ return NULL;
}
}
- case 'b':
- switch (KR_keyword [8])
+ case 'k':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdbz13", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddk13", 11) == 0)
{
{
-return dev_storage + 1563;
+return dev_storage + 2234;
}
}
@@ -39465,11 +39170,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdby13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdck13", 11) == 0)
{
{
-return dev_storage + 1548;
+return dev_storage + 1820;
}
}
@@ -39480,11 +39185,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdbx13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbk13", 11) == 0)
{
{
-return dev_storage + 1533;
+return dev_storage + 1404;
}
}
@@ -39495,11 +39200,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdbw13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdak13", 11) == 0)
{
{
-return dev_storage + 1518;
+return dev_storage + 988;
}
}
@@ -39510,26 +39215,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdbv13", 11) == 0)
- {
-{
-return dev_storage + 1503;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdbu13", 11) == 0)
+ }
+ case 'j':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddj13", 11) == 0)
{
{
-return dev_storage + 1488;
+return dev_storage + 2219;
}
}
@@ -39540,11 +39239,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdbt13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcj13", 11) == 0)
{
{
-return dev_storage + 1473;
+return dev_storage + 1805;
}
}
@@ -39555,11 +39254,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdbs13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbj13", 11) == 0)
{
{
-return dev_storage + 1458;
+return dev_storage + 1389;
}
}
@@ -39570,11 +39269,11 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdbr13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaj13", 11) == 0)
{
{
-return dev_storage + 1443;
+return dev_storage + 973;
}
}
@@ -39585,11 +39284,20 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdbq13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'i':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddi13", 11) == 0)
{
{
-return dev_storage + 1428;
+return dev_storage + 2204;
}
}
@@ -39600,11 +39308,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdbp13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdci13", 11) == 0)
{
{
-return dev_storage + 1413;
+return dev_storage + 1790;
}
}
@@ -39615,11 +39323,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdbo13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbi13", 11) == 0)
{
{
-return dev_storage + 1398;
+return dev_storage + 1374;
}
}
@@ -39630,11 +39338,11 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdbn13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdai13", 11) == 0)
{
{
-return dev_storage + 1383;
+return dev_storage + 958;
}
}
@@ -39645,11 +39353,20 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdbm13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'h':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddh13", 11) == 0)
{
{
-return dev_storage + 1368;
+return dev_storage + 2189;
}
}
@@ -39660,11 +39377,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdbl13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdch13", 11) == 0)
{
{
-return dev_storage + 1353;
+return dev_storage + 1775;
}
}
@@ -39675,11 +39392,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdbk13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbh13", 11) == 0)
{
{
-return dev_storage + 1338;
+return dev_storage + 1359;
}
}
@@ -39690,11 +39407,11 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdbj13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdah13", 11) == 0)
{
{
-return dev_storage + 1323;
+return dev_storage + 943;
}
}
@@ -39705,11 +39422,20 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdbi13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'g':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddg13", 11) == 0)
{
{
-return dev_storage + 1308;
+return dev_storage + 2174;
}
}
@@ -39720,11 +39446,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdbh13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcg13", 11) == 0)
{
{
-return dev_storage + 1293;
+return dev_storage + 1760;
}
}
@@ -39735,11 +39461,11 @@ return NULL;
}
}
- case 'g':
+ case 'b':
if (strncmp (KR_keyword, "/dev/sdbg13", 11) == 0)
{
{
-return dev_storage + 1278;
+return dev_storage + 1344;
}
}
@@ -39750,11 +39476,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdbf13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdag13", 11) == 0)
{
{
-return dev_storage + 1263;
+return dev_storage + 928;
}
}
@@ -39765,26 +39491,20 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdbe13", 11) == 0)
- {
-{
-return dev_storage + 1248;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
+ }
+ case 'f':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdbd13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddf13", 11) == 0)
{
{
-return dev_storage + 1233;
+return dev_storage + 2159;
}
}
@@ -39796,10 +39516,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdbc13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcf13", 11) == 0)
{
{
-return dev_storage + 1218;
+return dev_storage + 1745;
}
}
@@ -39811,10 +39531,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdbb13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbf13", 11) == 0)
{
{
-return dev_storage + 1203;
+return dev_storage + 1329;
}
}
@@ -39826,10 +39546,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdba13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdaf13", 11) == 0)
{
{
-return dev_storage + 1188;
+return dev_storage + 913;
}
}
@@ -39846,14 +39566,14 @@ return NULL;
}
}
- case 'a':
- switch (KR_keyword [8])
+ case 'e':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdaz13", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdde13", 11) == 0)
{
{
-return dev_storage + 1147;
+return dev_storage + 2144;
}
}
@@ -39864,11 +39584,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sday13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdce13", 11) == 0)
{
{
-return dev_storage + 1132;
+return dev_storage + 1730;
}
}
@@ -39879,11 +39599,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdax13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbe13", 11) == 0)
{
{
-return dev_storage + 1117;
+return dev_storage + 1314;
}
}
@@ -39894,11 +39614,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdaw13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdae13", 11) == 0)
{
{
-return dev_storage + 1102;
+return dev_storage + 898;
}
}
@@ -39909,11 +39629,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdav13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddd13", 11) == 0)
{
{
-return dev_storage + 1087;
+return dev_storage + 2129;
}
}
@@ -39924,11 +39653,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdau13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcd13", 11) == 0)
{
{
-return dev_storage + 1072;
+return dev_storage + 1715;
}
}
@@ -39939,11 +39668,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdat13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbd13", 11) == 0)
{
{
-return dev_storage + 1057;
+return dev_storage + 1299;
}
}
@@ -39954,11 +39683,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdas13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdad13", 11) == 0)
{
{
-return dev_storage + 1042;
+return dev_storage + 883;
}
}
@@ -39969,11 +39698,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdar13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddc13", 11) == 0)
{
{
-return dev_storage + 1027;
+return dev_storage + 2114;
}
}
@@ -39984,11 +39722,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdaq13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcc13", 11) == 0)
{
{
-return dev_storage + 1012;
+return dev_storage + 1700;
}
}
@@ -39999,11 +39737,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdap13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbc13", 11) == 0)
{
{
-return dev_storage + 997;
+return dev_storage + 1284;
}
}
@@ -40014,11 +39752,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdao13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdac13", 11) == 0)
{
{
-return dev_storage + 982;
+return dev_storage + 868;
}
}
@@ -40029,11 +39767,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdan13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddb13", 11) == 0)
{
{
-return dev_storage + 967;
+return dev_storage + 2099;
}
}
@@ -40044,11 +39791,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdam13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcb13", 11) == 0)
{
{
-return dev_storage + 952;
+return dev_storage + 1685;
}
}
@@ -40059,11 +39806,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdal13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbb13", 11) == 0)
{
{
-return dev_storage + 937;
+return dev_storage + 1269;
}
}
@@ -40074,11 +39821,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdak13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdab13", 11) == 0)
{
{
-return dev_storage + 922;
+return dev_storage + 853;
}
}
@@ -40089,11 +39836,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdaj13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdda13", 11) == 0)
{
{
-return dev_storage + 907;
+return dev_storage + 2084;
}
}
@@ -40104,11 +39860,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdai13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdca13", 11) == 0)
{
{
-return dev_storage + 892;
+return dev_storage + 1670;
}
}
@@ -40119,11 +39875,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdah13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdba13", 11) == 0)
{
{
-return dev_storage + 877;
+return dev_storage + 1254;
}
}
@@ -40134,11 +39890,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdag13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaa13", 11) == 0)
{
{
-return dev_storage + 862;
+return dev_storage + 838;
}
}
@@ -40149,11 +39905,20 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdaf13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'S':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ttyS63", 11) == 0)
{
{
-return dev_storage + 847;
+return dev_storage + 2640;
}
}
@@ -40164,11 +39929,11 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdae13", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS53", 11) == 0)
{
{
-return dev_storage + 832;
+return dev_storage + 2630;
}
}
@@ -40179,11 +39944,11 @@ return NULL;
}
}
- case 'd':
- if (strncmp (KR_keyword, "/dev/sdad13", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS43", 11) == 0)
{
{
-return dev_storage + 817;
+return dev_storage + 2620;
}
}
@@ -40194,11 +39959,11 @@ return NULL;
}
}
- case 'c':
- if (strncmp (KR_keyword, "/dev/sdac13", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS33", 11) == 0)
{
{
-return dev_storage + 802;
+return dev_storage + 2610;
}
}
@@ -40209,11 +39974,11 @@ return NULL;
}
}
- case 'b':
- if (strncmp (KR_keyword, "/dev/sdab13", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS23", 11) == 0)
{
{
-return dev_storage + 787;
+return dev_storage + 2600;
}
}
@@ -40224,11 +39989,11 @@ return NULL;
}
}
- case 'a':
- if (strncmp (KR_keyword, "/dev/sdaa13", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS13", 11) == 0)
{
{
-return dev_storage + 772;
+return dev_storage + 2590;
}
}
@@ -40245,23 +40010,14 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case '2':
- switch (KR_keyword [7])
- {
- case 'y':
+ case '1':
switch (KR_keyword [9])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/ttyS62", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/nst123", 11) == 0)
{
{
-return dev_storage + 2573;
+return dev_storage + 230;
}
}
@@ -40272,11 +40028,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS52", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/nst113", 11) == 0)
{
{
-return dev_storage + 2563;
+return dev_storage + 220;
}
}
@@ -40287,11 +40043,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS42", 11) == 0)
+ case '0':
+ if (strncmp (KR_keyword, "/dev/nst103", 11) == 0)
{
{
-return dev_storage + 2553;
+return dev_storage + 210;
}
}
@@ -40302,11 +40058,29 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS32", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ default:
+{
+return NULL;
+
+}
+ }
+ case '2':
+ switch (KR_keyword [8])
+ {
+ case 'z':
+ switch (KR_keyword [7])
+ {
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcz12", 11) == 0)
{
{
-return dev_storage + 2543;
+return dev_storage + 2044;
}
}
@@ -40317,11 +40091,11 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS22", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbz12", 11) == 0)
{
{
-return dev_storage + 2533;
+return dev_storage + 1628;
}
}
@@ -40332,11 +40106,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaz12", 11) == 0)
{
{
-return dev_storage + 2523;
+return dev_storage + 1212;
}
}
@@ -40353,14 +40127,14 @@ return NULL;
}
}
- case 't':
- switch (KR_keyword [9])
+ case 'y':
+ switch (KR_keyword [7])
{
- case '2':
- if (strncmp (KR_keyword, "/dev/nst122", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcy12", 11) == 0)
{
{
-return dev_storage + 228;
+return dev_storage + 2029;
}
}
@@ -40371,11 +40145,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/nst112", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdby12", 11) == 0)
{
{
-return dev_storage + 218;
+return dev_storage + 1613;
}
}
@@ -40386,11 +40160,11 @@ return NULL;
}
}
- case '0':
- if (strncmp (KR_keyword, "/dev/nst102", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sday12", 11) == 0)
{
{
-return dev_storage + 208;
+return dev_storage + 1197;
}
}
@@ -40407,14 +40181,14 @@ return NULL;
}
}
- case 'n':
- switch (KR_keyword [9])
+ case 'x':
+ switch (KR_keyword [7])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/cons62", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddx12", 11) == 0)
{
{
-return dev_storage + 82;
+return dev_storage + 2428;
}
}
@@ -40425,11 +40199,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/cons52", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcx12", 11) == 0)
{
{
-return dev_storage + 72;
+return dev_storage + 2014;
}
}
@@ -40440,11 +40214,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/cons42", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbx12", 11) == 0)
{
{
-return dev_storage + 62;
+return dev_storage + 1598;
}
}
@@ -40455,11 +40229,11 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/cons32", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdax12", 11) == 0)
{
{
-return dev_storage + 52;
+return dev_storage + 1182;
}
}
@@ -40470,11 +40244,20 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/cons22", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'w':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddw12", 11) == 0)
{
{
-return dev_storage + 42;
+return dev_storage + 2413;
}
}
@@ -40485,11 +40268,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/cons12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcw12", 11) == 0)
{
{
-return dev_storage + 32;
+return dev_storage + 1999;
}
}
@@ -40500,20 +40283,11 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case 'd':
- switch (KR_keyword [8])
- {
- case 'x':
- if (strncmp (KR_keyword, "/dev/sddx12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbw12", 11) == 0)
{
{
-return dev_storage + 2362;
+return dev_storage + 1583;
}
}
@@ -40524,11 +40298,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sddw12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaw12", 11) == 0)
{
{
-return dev_storage + 2347;
+return dev_storage + 1167;
}
}
@@ -40539,11 +40313,20 @@ return NULL;
}
}
- case 'v':
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'v':
+ switch (KR_keyword [7])
+ {
+ case 'd':
if (strncmp (KR_keyword, "/dev/sddv12", 11) == 0)
{
{
-return dev_storage + 2332;
+return dev_storage + 2398;
}
}
@@ -40554,11 +40337,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sddu12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcv12", 11) == 0)
{
{
-return dev_storage + 2317;
+return dev_storage + 1984;
}
}
@@ -40569,11 +40352,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sddt12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbv12", 11) == 0)
{
{
-return dev_storage + 2302;
+return dev_storage + 1568;
}
}
@@ -40584,11 +40367,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdds12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdav12", 11) == 0)
{
{
-return dev_storage + 2287;
+return dev_storage + 1152;
}
}
@@ -40599,11 +40382,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sddr12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'u':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddu12", 11) == 0)
{
{
-return dev_storage + 2272;
+return dev_storage + 2383;
}
}
@@ -40614,11 +40406,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sddq12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcu12", 11) == 0)
{
{
-return dev_storage + 2257;
+return dev_storage + 1969;
}
}
@@ -40629,11 +40421,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sddp12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbu12", 11) == 0)
{
{
-return dev_storage + 2242;
+return dev_storage + 1553;
}
}
@@ -40644,11 +40436,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sddo12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdau12", 11) == 0)
{
{
-return dev_storage + 2227;
+return dev_storage + 1137;
}
}
@@ -40659,11 +40451,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sddn12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 't':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddt12", 11) == 0)
{
{
-return dev_storage + 2212;
+return dev_storage + 2368;
}
}
@@ -40674,11 +40475,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sddm12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdct12", 11) == 0)
{
{
-return dev_storage + 2197;
+return dev_storage + 1954;
}
}
@@ -40689,11 +40490,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sddl12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbt12", 11) == 0)
{
{
-return dev_storage + 2182;
+return dev_storage + 1538;
}
}
@@ -40704,11 +40505,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sddk12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdat12", 11) == 0)
{
{
-return dev_storage + 2167;
+return dev_storage + 1122;
}
}
@@ -40719,11 +40520,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sddj12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 's':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/cons62", 11) == 0)
{
{
-return dev_storage + 2152;
+return dev_storage + 82;
}
}
@@ -40734,11 +40544,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sddi12", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/cons52", 11) == 0)
{
{
-return dev_storage + 2137;
+return dev_storage + 72;
}
}
@@ -40749,11 +40559,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sddh12", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/cons42", 11) == 0)
{
{
-return dev_storage + 2122;
+return dev_storage + 62;
}
}
@@ -40764,11 +40574,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sddg12", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/cons32", 11) == 0)
{
{
-return dev_storage + 2107;
+return dev_storage + 52;
}
}
@@ -40779,11 +40589,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sddf12", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/cons22", 11) == 0)
{
{
-return dev_storage + 2092;
+return dev_storage + 42;
}
}
@@ -40794,26 +40604,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdde12", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'n':
+ if (strncmp (KR_keyword, "/dev/cons12", 11) == 0)
+ {
{
-return dev_storage + 2077;
+return dev_storage + 32;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdds12", 11) == 0)
+ {
+{
+return dev_storage + 2353;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcs12", 11) == 0)
+ {
+{
+return dev_storage + 1939;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbs12", 11) == 0)
+ {
+{
+return dev_storage + 1523;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdas12", 11) == 0)
+ {
+{
+return dev_storage + 1107;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'r':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sddd12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddr12", 11) == 0)
{
{
-return dev_storage + 2062;
+return dev_storage + 2338;
}
}
@@ -40825,10 +40713,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sddc12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcr12", 11) == 0)
{
{
-return dev_storage + 2047;
+return dev_storage + 1924;
}
}
@@ -40840,10 +40728,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sddb12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbr12", 11) == 0)
{
{
-return dev_storage + 2032;
+return dev_storage + 1508;
}
}
@@ -40855,10 +40743,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdda12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdar12", 11) == 0)
{
{
-return dev_storage + 2017;
+return dev_storage + 1092;
}
}
@@ -40875,14 +40763,14 @@ return NULL;
}
}
- case 'c':
- switch (KR_keyword [8])
+ case 'q':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdcz12", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddq12", 11) == 0)
{
{
-return dev_storage + 1978;
+return dev_storage + 2323;
}
}
@@ -40893,11 +40781,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdcy12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcq12", 11) == 0)
{
{
-return dev_storage + 1963;
+return dev_storage + 1909;
}
}
@@ -40908,11 +40796,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdcx12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbq12", 11) == 0)
{
{
-return dev_storage + 1948;
+return dev_storage + 1493;
}
}
@@ -40923,11 +40811,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdcw12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaq12", 11) == 0)
{
{
-return dev_storage + 1933;
+return dev_storage + 1077;
}
}
@@ -40938,11 +40826,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdcv12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddp12", 11) == 0)
{
{
-return dev_storage + 1918;
+return dev_storage + 2308;
}
}
@@ -40953,11 +40850,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdcu12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcp12", 11) == 0)
{
{
-return dev_storage + 1903;
+return dev_storage + 1894;
}
}
@@ -40968,11 +40865,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdct12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbp12", 11) == 0)
{
{
-return dev_storage + 1888;
+return dev_storage + 1478;
}
}
@@ -40983,11 +40880,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdcs12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdap12", 11) == 0)
{
{
-return dev_storage + 1873;
+return dev_storage + 1062;
}
}
@@ -40998,11 +40895,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdcr12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'o':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddo12", 11) == 0)
{
{
-return dev_storage + 1858;
+return dev_storage + 2293;
}
}
@@ -41013,11 +40919,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdcq12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdco12", 11) == 0)
{
{
-return dev_storage + 1843;
+return dev_storage + 1879;
}
}
@@ -41028,11 +40934,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdcp12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbo12", 11) == 0)
{
{
-return dev_storage + 1828;
+return dev_storage + 1463;
}
}
@@ -41043,11 +40949,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdco12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdao12", 11) == 0)
{
{
-return dev_storage + 1813;
+return dev_storage + 1047;
}
}
@@ -41058,11 +40964,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdcn12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'n':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddn12", 11) == 0)
{
{
-return dev_storage + 1798;
+return dev_storage + 2278;
}
}
@@ -41073,11 +40988,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdcm12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcn12", 11) == 0)
{
{
-return dev_storage + 1783;
+return dev_storage + 1864;
}
}
@@ -41088,11 +41003,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdcl12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbn12", 11) == 0)
{
{
-return dev_storage + 1768;
+return dev_storage + 1448;
}
}
@@ -41103,11 +41018,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdck12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdan12", 11) == 0)
{
{
-return dev_storage + 1753;
+return dev_storage + 1032;
}
}
@@ -41118,11 +41033,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdcj12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'm':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ptym62", 11) == 0)
{
{
-return dev_storage + 1738;
+return dev_storage + 365;
}
}
@@ -41133,11 +41057,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdci12", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym52", 11) == 0)
{
{
-return dev_storage + 1723;
+return dev_storage + 355;
}
}
@@ -41148,11 +41072,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdch12", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym42", 11) == 0)
{
{
-return dev_storage + 1708;
+return dev_storage + 345;
}
}
@@ -41163,11 +41087,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdcg12", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym32", 11) == 0)
{
{
-return dev_storage + 1693;
+return dev_storage + 335;
}
}
@@ -41178,11 +41102,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdcf12", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym22", 11) == 0)
{
{
-return dev_storage + 1678;
+return dev_storage + 325;
}
}
@@ -41193,26 +41117,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdce12", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym12", 11) == 0)
+ {
{
-return dev_storage + 1663;
+return dev_storage + 315;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddm12", 11) == 0)
+ {
+{
+return dev_storage + 2263;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcm12", 11) == 0)
+ {
+{
+return dev_storage + 1849;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbm12", 11) == 0)
+ {
+{
+return dev_storage + 1433;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdam12", 11) == 0)
+ {
+{
+return dev_storage + 1017;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'l':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdcd12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddl12", 11) == 0)
{
{
-return dev_storage + 1648;
+return dev_storage + 2248;
}
}
@@ -41224,10 +41226,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdcc12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcl12", 11) == 0)
{
{
-return dev_storage + 1633;
+return dev_storage + 1834;
}
}
@@ -41239,10 +41241,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdcb12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbl12", 11) == 0)
{
{
-return dev_storage + 1618;
+return dev_storage + 1418;
}
}
@@ -41254,10 +41256,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdca12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdal12", 11) == 0)
{
{
-return dev_storage + 1603;
+return dev_storage + 1002;
}
}
@@ -41274,14 +41276,14 @@ return NULL;
}
}
- case 'b':
- switch (KR_keyword [8])
+ case 'k':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdbz12", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddk12", 11) == 0)
{
{
-return dev_storage + 1562;
+return dev_storage + 2233;
}
}
@@ -41292,11 +41294,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdby12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdck12", 11) == 0)
{
{
-return dev_storage + 1547;
+return dev_storage + 1819;
}
}
@@ -41307,11 +41309,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdbx12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbk12", 11) == 0)
{
{
-return dev_storage + 1532;
+return dev_storage + 1403;
}
}
@@ -41322,11 +41324,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdbw12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdak12", 11) == 0)
{
{
-return dev_storage + 1517;
+return dev_storage + 987;
}
}
@@ -41337,26 +41339,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdbv12", 11) == 0)
- {
-{
-return dev_storage + 1502;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdbu12", 11) == 0)
+ }
+ case 'j':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddj12", 11) == 0)
{
{
-return dev_storage + 1487;
+return dev_storage + 2218;
}
}
@@ -41367,11 +41363,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdbt12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcj12", 11) == 0)
{
{
-return dev_storage + 1472;
+return dev_storage + 1804;
}
}
@@ -41382,11 +41378,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdbs12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbj12", 11) == 0)
{
{
-return dev_storage + 1457;
+return dev_storage + 1388;
}
}
@@ -41397,11 +41393,11 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdbr12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaj12", 11) == 0)
{
{
-return dev_storage + 1442;
+return dev_storage + 972;
}
}
@@ -41412,11 +41408,20 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdbq12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'i':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddi12", 11) == 0)
{
{
-return dev_storage + 1427;
+return dev_storage + 2203;
}
}
@@ -41427,11 +41432,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdbp12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdci12", 11) == 0)
{
{
-return dev_storage + 1412;
+return dev_storage + 1789;
}
}
@@ -41442,11 +41447,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdbo12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbi12", 11) == 0)
{
{
-return dev_storage + 1397;
+return dev_storage + 1373;
}
}
@@ -41457,11 +41462,11 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdbn12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdai12", 11) == 0)
{
{
-return dev_storage + 1382;
+return dev_storage + 957;
}
}
@@ -41472,11 +41477,20 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdbm12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'h':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddh12", 11) == 0)
{
{
-return dev_storage + 1367;
+return dev_storage + 2188;
}
}
@@ -41487,11 +41501,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdbl12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdch12", 11) == 0)
{
{
-return dev_storage + 1352;
+return dev_storage + 1774;
}
}
@@ -41502,11 +41516,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdbk12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbh12", 11) == 0)
{
{
-return dev_storage + 1337;
+return dev_storage + 1358;
}
}
@@ -41517,11 +41531,11 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdbj12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdah12", 11) == 0)
{
{
-return dev_storage + 1322;
+return dev_storage + 942;
}
}
@@ -41532,11 +41546,20 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdbi12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'g':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddg12", 11) == 0)
{
{
-return dev_storage + 1307;
+return dev_storage + 2173;
}
}
@@ -41547,11 +41570,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdbh12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcg12", 11) == 0)
{
{
-return dev_storage + 1292;
+return dev_storage + 1759;
}
}
@@ -41562,11 +41585,11 @@ return NULL;
}
}
- case 'g':
+ case 'b':
if (strncmp (KR_keyword, "/dev/sdbg12", 11) == 0)
{
{
-return dev_storage + 1277;
+return dev_storage + 1343;
}
}
@@ -41577,11 +41600,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdbf12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdag12", 11) == 0)
{
{
-return dev_storage + 1262;
+return dev_storage + 927;
}
}
@@ -41592,26 +41615,20 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdbe12", 11) == 0)
- {
-{
-return dev_storage + 1247;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
+ }
+ case 'f':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdbd12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddf12", 11) == 0)
{
{
-return dev_storage + 1232;
+return dev_storage + 2158;
}
}
@@ -41623,10 +41640,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdbc12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcf12", 11) == 0)
{
{
-return dev_storage + 1217;
+return dev_storage + 1744;
}
}
@@ -41638,10 +41655,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdbb12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbf12", 11) == 0)
{
{
-return dev_storage + 1202;
+return dev_storage + 1328;
}
}
@@ -41653,10 +41670,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdba12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdaf12", 11) == 0)
{
{
-return dev_storage + 1187;
+return dev_storage + 912;
}
}
@@ -41673,14 +41690,14 @@ return NULL;
}
}
- case 'a':
- switch (KR_keyword [8])
+ case 'e':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdaz12", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdde12", 11) == 0)
{
{
-return dev_storage + 1146;
+return dev_storage + 2143;
}
}
@@ -41691,11 +41708,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sday12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdce12", 11) == 0)
{
{
-return dev_storage + 1131;
+return dev_storage + 1729;
}
}
@@ -41706,11 +41723,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdax12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbe12", 11) == 0)
{
{
-return dev_storage + 1116;
+return dev_storage + 1313;
}
}
@@ -41721,11 +41738,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdaw12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdae12", 11) == 0)
{
{
-return dev_storage + 1101;
+return dev_storage + 897;
}
}
@@ -41736,11 +41753,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdav12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddd12", 11) == 0)
{
{
-return dev_storage + 1086;
+return dev_storage + 2128;
}
}
@@ -41751,11 +41777,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdau12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcd12", 11) == 0)
{
{
-return dev_storage + 1071;
+return dev_storage + 1714;
}
}
@@ -41766,11 +41792,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdat12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbd12", 11) == 0)
{
{
-return dev_storage + 1056;
+return dev_storage + 1298;
}
}
@@ -41781,11 +41807,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdas12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdad12", 11) == 0)
{
{
-return dev_storage + 1041;
+return dev_storage + 882;
}
}
@@ -41796,11 +41822,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdar12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddc12", 11) == 0)
{
{
-return dev_storage + 1026;
+return dev_storage + 2113;
}
}
@@ -41811,11 +41846,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdaq12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcc12", 11) == 0)
{
{
-return dev_storage + 1011;
+return dev_storage + 1699;
}
}
@@ -41826,11 +41861,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdap12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbc12", 11) == 0)
{
{
-return dev_storage + 996;
+return dev_storage + 1283;
}
}
@@ -41841,11 +41876,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdao12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdac12", 11) == 0)
{
{
-return dev_storage + 981;
+return dev_storage + 867;
}
}
@@ -41856,11 +41891,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdan12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddb12", 11) == 0)
{
{
-return dev_storage + 966;
+return dev_storage + 2098;
}
}
@@ -41871,11 +41915,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdam12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcb12", 11) == 0)
{
{
-return dev_storage + 951;
+return dev_storage + 1684;
}
}
@@ -41886,11 +41930,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdal12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbb12", 11) == 0)
{
{
-return dev_storage + 936;
+return dev_storage + 1268;
}
}
@@ -41901,11 +41945,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdak12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdab12", 11) == 0)
{
{
-return dev_storage + 921;
+return dev_storage + 852;
}
}
@@ -41916,11 +41960,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdaj12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdda12", 11) == 0)
{
{
-return dev_storage + 906;
+return dev_storage + 2083;
}
}
@@ -41931,11 +41984,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdai12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdca12", 11) == 0)
{
{
-return dev_storage + 891;
+return dev_storage + 1669;
}
}
@@ -41946,11 +41999,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdah12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdba12", 11) == 0)
{
{
-return dev_storage + 876;
+return dev_storage + 1253;
}
}
@@ -41961,11 +42014,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdag12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaa12", 11) == 0)
{
{
-return dev_storage + 861;
+return dev_storage + 837;
}
}
@@ -41976,11 +42029,20 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdaf12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'S':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ttyS62", 11) == 0)
{
{
-return dev_storage + 846;
+return dev_storage + 2639;
}
}
@@ -41991,11 +42053,11 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdae12", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS52", 11) == 0)
{
{
-return dev_storage + 831;
+return dev_storage + 2629;
}
}
@@ -42006,11 +42068,11 @@ return NULL;
}
}
- case 'd':
- if (strncmp (KR_keyword, "/dev/sdad12", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS42", 11) == 0)
{
{
-return dev_storage + 816;
+return dev_storage + 2619;
}
}
@@ -42021,11 +42083,11 @@ return NULL;
}
}
- case 'c':
- if (strncmp (KR_keyword, "/dev/sdac12", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS32", 11) == 0)
{
{
-return dev_storage + 801;
+return dev_storage + 2609;
}
}
@@ -42036,11 +42098,11 @@ return NULL;
}
}
- case 'b':
- if (strncmp (KR_keyword, "/dev/sdab12", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS22", 11) == 0)
{
{
-return dev_storage + 786;
+return dev_storage + 2599;
}
}
@@ -42051,11 +42113,11 @@ return NULL;
}
}
- case 'a':
- if (strncmp (KR_keyword, "/dev/sdaa12", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS12", 11) == 0)
{
{
-return dev_storage + 771;
+return dev_storage + 2589;
}
}
@@ -42072,23 +42134,14 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case '1':
- switch (KR_keyword [7])
- {
- case 'y':
+ case '1':
switch (KR_keyword [9])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/ttyS61", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/nst122", 11) == 0)
{
{
-return dev_storage + 2572;
+return dev_storage + 229;
}
}
@@ -42099,11 +42152,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS51", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/nst112", 11) == 0)
{
{
-return dev_storage + 2562;
+return dev_storage + 219;
}
}
@@ -42114,11 +42167,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS41", 11) == 0)
+ case '0':
+ if (strncmp (KR_keyword, "/dev/nst102", 11) == 0)
{
{
-return dev_storage + 2552;
+return dev_storage + 209;
}
}
@@ -42129,11 +42182,29 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS31", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ default:
+{
+return NULL;
+
+}
+ }
+ case '1':
+ switch (KR_keyword [8])
+ {
+ case 'z':
+ switch (KR_keyword [7])
+ {
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcz11", 11) == 0)
{
{
-return dev_storage + 2542;
+return dev_storage + 2043;
}
}
@@ -42144,11 +42215,11 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS21", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbz11", 11) == 0)
{
{
-return dev_storage + 2532;
+return dev_storage + 1627;
}
}
@@ -42159,11 +42230,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaz11", 11) == 0)
{
{
-return dev_storage + 2522;
+return dev_storage + 1211;
}
}
@@ -42180,14 +42251,14 @@ return NULL;
}
}
- case 't':
- switch (KR_keyword [9])
+ case 'y':
+ switch (KR_keyword [7])
{
- case '2':
- if (strncmp (KR_keyword, "/dev/nst121", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcy11", 11) == 0)
{
{
-return dev_storage + 227;
+return dev_storage + 2028;
}
}
@@ -42198,11 +42269,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/nst111", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdby11", 11) == 0)
{
{
-return dev_storage + 217;
+return dev_storage + 1612;
}
}
@@ -42213,11 +42284,11 @@ return NULL;
}
}
- case '0':
- if (strncmp (KR_keyword, "/dev/nst101", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sday11", 11) == 0)
{
{
-return dev_storage + 207;
+return dev_storage + 1196;
}
}
@@ -42234,14 +42305,14 @@ return NULL;
}
}
- case 'n':
- switch (KR_keyword [9])
+ case 'x':
+ switch (KR_keyword [7])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/cons61", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddx11", 11) == 0)
{
{
-return dev_storage + 81;
+return dev_storage + 2427;
}
}
@@ -42252,11 +42323,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/cons51", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcx11", 11) == 0)
{
{
-return dev_storage + 71;
+return dev_storage + 2013;
}
}
@@ -42267,11 +42338,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/cons41", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbx11", 11) == 0)
{
{
-return dev_storage + 61;
+return dev_storage + 1597;
}
}
@@ -42282,11 +42353,11 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/cons31", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdax11", 11) == 0)
{
{
-return dev_storage + 51;
+return dev_storage + 1181;
}
}
@@ -42297,11 +42368,20 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/cons21", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'w':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddw11", 11) == 0)
{
{
-return dev_storage + 41;
+return dev_storage + 2412;
}
}
@@ -42312,11 +42392,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/cons11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcw11", 11) == 0)
{
{
-return dev_storage + 31;
+return dev_storage + 1998;
}
}
@@ -42327,20 +42407,11 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case 'd':
- switch (KR_keyword [8])
- {
- case 'x':
- if (strncmp (KR_keyword, "/dev/sddx11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbw11", 11) == 0)
{
{
-return dev_storage + 2361;
+return dev_storage + 1582;
}
}
@@ -42351,11 +42422,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sddw11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaw11", 11) == 0)
{
{
-return dev_storage + 2346;
+return dev_storage + 1166;
}
}
@@ -42366,11 +42437,20 @@ return NULL;
}
}
- case 'v':
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'v':
+ switch (KR_keyword [7])
+ {
+ case 'd':
if (strncmp (KR_keyword, "/dev/sddv11", 11) == 0)
{
{
-return dev_storage + 2331;
+return dev_storage + 2397;
}
}
@@ -42381,11 +42461,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sddu11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcv11", 11) == 0)
{
{
-return dev_storage + 2316;
+return dev_storage + 1983;
}
}
@@ -42396,11 +42476,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sddt11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbv11", 11) == 0)
{
{
-return dev_storage + 2301;
+return dev_storage + 1567;
}
}
@@ -42411,11 +42491,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdds11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdav11", 11) == 0)
{
{
-return dev_storage + 2286;
+return dev_storage + 1151;
}
}
@@ -42426,11 +42506,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sddr11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'u':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddu11", 11) == 0)
{
{
-return dev_storage + 2271;
+return dev_storage + 2382;
}
}
@@ -42441,11 +42530,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sddq11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcu11", 11) == 0)
{
{
-return dev_storage + 2256;
+return dev_storage + 1968;
}
}
@@ -42456,11 +42545,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sddp11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbu11", 11) == 0)
{
{
-return dev_storage + 2241;
+return dev_storage + 1552;
}
}
@@ -42471,11 +42560,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sddo11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdau11", 11) == 0)
{
{
-return dev_storage + 2226;
+return dev_storage + 1136;
}
}
@@ -42486,11 +42575,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sddn11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 't':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddt11", 11) == 0)
{
{
-return dev_storage + 2211;
+return dev_storage + 2367;
}
}
@@ -42501,11 +42599,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sddm11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdct11", 11) == 0)
{
{
-return dev_storage + 2196;
+return dev_storage + 1953;
}
}
@@ -42516,11 +42614,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sddl11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbt11", 11) == 0)
{
{
-return dev_storage + 2181;
+return dev_storage + 1537;
}
}
@@ -42531,11 +42629,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sddk11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdat11", 11) == 0)
{
{
-return dev_storage + 2166;
+return dev_storage + 1121;
}
}
@@ -42546,11 +42644,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sddj11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 's':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/cons61", 11) == 0)
{
{
-return dev_storage + 2151;
+return dev_storage + 81;
}
}
@@ -42561,11 +42668,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sddi11", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/cons51", 11) == 0)
{
{
-return dev_storage + 2136;
+return dev_storage + 71;
}
}
@@ -42576,11 +42683,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sddh11", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/cons41", 11) == 0)
{
{
-return dev_storage + 2121;
+return dev_storage + 61;
}
}
@@ -42591,11 +42698,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sddg11", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/cons31", 11) == 0)
{
{
-return dev_storage + 2106;
+return dev_storage + 51;
}
}
@@ -42606,11 +42713,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sddf11", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/cons21", 11) == 0)
{
{
-return dev_storage + 2091;
+return dev_storage + 41;
}
}
@@ -42621,26 +42728,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdde11", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'n':
+ if (strncmp (KR_keyword, "/dev/cons11", 11) == 0)
+ {
{
-return dev_storage + 2076;
+return dev_storage + 31;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdds11", 11) == 0)
+ {
+{
+return dev_storage + 2352;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcs11", 11) == 0)
+ {
+{
+return dev_storage + 1938;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbs11", 11) == 0)
+ {
+{
+return dev_storage + 1522;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdas11", 11) == 0)
+ {
+{
+return dev_storage + 1106;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'r':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sddd11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddr11", 11) == 0)
{
{
-return dev_storage + 2061;
+return dev_storage + 2337;
}
}
@@ -42652,10 +42837,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sddc11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcr11", 11) == 0)
{
{
-return dev_storage + 2046;
+return dev_storage + 1923;
}
}
@@ -42667,10 +42852,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sddb11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbr11", 11) == 0)
{
{
-return dev_storage + 2031;
+return dev_storage + 1507;
}
}
@@ -42682,10 +42867,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdda11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdar11", 11) == 0)
{
{
-return dev_storage + 2016;
+return dev_storage + 1091;
}
}
@@ -42702,14 +42887,14 @@ return NULL;
}
}
- case 'c':
- switch (KR_keyword [8])
+ case 'q':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdcz11", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddq11", 11) == 0)
{
{
-return dev_storage + 1977;
+return dev_storage + 2322;
}
}
@@ -42720,11 +42905,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdcy11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcq11", 11) == 0)
{
{
-return dev_storage + 1962;
+return dev_storage + 1908;
}
}
@@ -42735,11 +42920,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdcx11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbq11", 11) == 0)
{
{
-return dev_storage + 1947;
+return dev_storage + 1492;
}
}
@@ -42750,11 +42935,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdcw11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaq11", 11) == 0)
{
{
-return dev_storage + 1932;
+return dev_storage + 1076;
}
}
@@ -42765,11 +42950,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdcv11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddp11", 11) == 0)
{
{
-return dev_storage + 1917;
+return dev_storage + 2307;
}
}
@@ -42780,11 +42974,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdcu11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcp11", 11) == 0)
{
{
-return dev_storage + 1902;
+return dev_storage + 1893;
}
}
@@ -42795,11 +42989,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdct11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbp11", 11) == 0)
{
{
-return dev_storage + 1887;
+return dev_storage + 1477;
}
}
@@ -42810,11 +43004,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdcs11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdap11", 11) == 0)
{
{
-return dev_storage + 1872;
+return dev_storage + 1061;
}
}
@@ -42825,11 +43019,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdcr11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'o':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddo11", 11) == 0)
{
{
-return dev_storage + 1857;
+return dev_storage + 2292;
}
}
@@ -42840,11 +43043,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdcq11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdco11", 11) == 0)
{
{
-return dev_storage + 1842;
+return dev_storage + 1878;
}
}
@@ -42855,11 +43058,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdcp11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbo11", 11) == 0)
{
{
-return dev_storage + 1827;
+return dev_storage + 1462;
}
}
@@ -42870,11 +43073,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdco11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdao11", 11) == 0)
{
{
-return dev_storage + 1812;
+return dev_storage + 1046;
}
}
@@ -42885,11 +43088,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdcn11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'n':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddn11", 11) == 0)
{
{
-return dev_storage + 1797;
+return dev_storage + 2277;
}
}
@@ -42900,11 +43112,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdcm11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcn11", 11) == 0)
{
{
-return dev_storage + 1782;
+return dev_storage + 1863;
}
}
@@ -42915,11 +43127,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdcl11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbn11", 11) == 0)
{
{
-return dev_storage + 1767;
+return dev_storage + 1447;
}
}
@@ -42930,11 +43142,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdck11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdan11", 11) == 0)
{
{
-return dev_storage + 1752;
+return dev_storage + 1031;
}
}
@@ -42945,11 +43157,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdcj11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'm':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ptym61", 11) == 0)
{
{
-return dev_storage + 1737;
+return dev_storage + 364;
}
}
@@ -42960,11 +43181,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdci11", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym51", 11) == 0)
{
{
-return dev_storage + 1722;
+return dev_storage + 354;
}
}
@@ -42975,11 +43196,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdch11", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym41", 11) == 0)
{
{
-return dev_storage + 1707;
+return dev_storage + 344;
}
}
@@ -42990,11 +43211,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdcg11", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym31", 11) == 0)
{
{
-return dev_storage + 1692;
+return dev_storage + 334;
}
}
@@ -43005,11 +43226,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdcf11", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym21", 11) == 0)
{
{
-return dev_storage + 1677;
+return dev_storage + 324;
}
}
@@ -43020,26 +43241,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdce11", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym11", 11) == 0)
+ {
{
-return dev_storage + 1662;
+return dev_storage + 314;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddm11", 11) == 0)
+ {
+{
+return dev_storage + 2262;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcm11", 11) == 0)
+ {
+{
+return dev_storage + 1848;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbm11", 11) == 0)
+ {
+{
+return dev_storage + 1432;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdam11", 11) == 0)
+ {
+{
+return dev_storage + 1016;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'l':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdcd11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddl11", 11) == 0)
{
{
-return dev_storage + 1647;
+return dev_storage + 2247;
}
}
@@ -43051,10 +43350,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdcc11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcl11", 11) == 0)
{
{
-return dev_storage + 1632;
+return dev_storage + 1833;
}
}
@@ -43066,10 +43365,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdcb11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbl11", 11) == 0)
{
{
-return dev_storage + 1617;
+return dev_storage + 1417;
}
}
@@ -43081,10 +43380,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdca11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdal11", 11) == 0)
{
{
-return dev_storage + 1602;
+return dev_storage + 1001;
}
}
@@ -43101,14 +43400,14 @@ return NULL;
}
}
- case 'b':
- switch (KR_keyword [8])
+ case 'k':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdbz11", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddk11", 11) == 0)
{
{
-return dev_storage + 1561;
+return dev_storage + 2232;
}
}
@@ -43119,11 +43418,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdby11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdck11", 11) == 0)
{
{
-return dev_storage + 1546;
+return dev_storage + 1818;
}
}
@@ -43134,11 +43433,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdbx11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbk11", 11) == 0)
{
{
-return dev_storage + 1531;
+return dev_storage + 1402;
}
}
@@ -43149,11 +43448,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdbw11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdak11", 11) == 0)
{
{
-return dev_storage + 1516;
+return dev_storage + 986;
}
}
@@ -43164,26 +43463,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdbv11", 11) == 0)
- {
-{
-return dev_storage + 1501;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdbu11", 11) == 0)
+ }
+ case 'j':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddj11", 11) == 0)
{
{
-return dev_storage + 1486;
+return dev_storage + 2217;
}
}
@@ -43194,11 +43487,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdbt11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcj11", 11) == 0)
{
{
-return dev_storage + 1471;
+return dev_storage + 1803;
}
}
@@ -43209,11 +43502,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdbs11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbj11", 11) == 0)
{
{
-return dev_storage + 1456;
+return dev_storage + 1387;
}
}
@@ -43224,11 +43517,11 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdbr11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaj11", 11) == 0)
{
{
-return dev_storage + 1441;
+return dev_storage + 971;
}
}
@@ -43239,11 +43532,20 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdbq11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'i':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddi11", 11) == 0)
{
{
-return dev_storage + 1426;
+return dev_storage + 2202;
}
}
@@ -43254,11 +43556,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdbp11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdci11", 11) == 0)
{
{
-return dev_storage + 1411;
+return dev_storage + 1788;
}
}
@@ -43269,11 +43571,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdbo11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbi11", 11) == 0)
{
{
-return dev_storage + 1396;
+return dev_storage + 1372;
}
}
@@ -43284,11 +43586,11 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdbn11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdai11", 11) == 0)
{
{
-return dev_storage + 1381;
+return dev_storage + 956;
}
}
@@ -43299,11 +43601,20 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdbm11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'h':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddh11", 11) == 0)
{
{
-return dev_storage + 1366;
+return dev_storage + 2187;
}
}
@@ -43314,11 +43625,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdbl11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdch11", 11) == 0)
{
{
-return dev_storage + 1351;
+return dev_storage + 1773;
}
}
@@ -43329,11 +43640,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdbk11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbh11", 11) == 0)
{
{
-return dev_storage + 1336;
+return dev_storage + 1357;
}
}
@@ -43344,11 +43655,11 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdbj11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdah11", 11) == 0)
{
{
-return dev_storage + 1321;
+return dev_storage + 941;
}
}
@@ -43359,11 +43670,20 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdbi11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'g':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddg11", 11) == 0)
{
{
-return dev_storage + 1306;
+return dev_storage + 2172;
}
}
@@ -43374,11 +43694,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdbh11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcg11", 11) == 0)
{
{
-return dev_storage + 1291;
+return dev_storage + 1758;
}
}
@@ -43389,11 +43709,11 @@ return NULL;
}
}
- case 'g':
+ case 'b':
if (strncmp (KR_keyword, "/dev/sdbg11", 11) == 0)
{
{
-return dev_storage + 1276;
+return dev_storage + 1342;
}
}
@@ -43404,11 +43724,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdbf11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdag11", 11) == 0)
{
{
-return dev_storage + 1261;
+return dev_storage + 926;
}
}
@@ -43419,26 +43739,20 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdbe11", 11) == 0)
- {
-{
-return dev_storage + 1246;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
+ }
+ case 'f':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdbd11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddf11", 11) == 0)
{
{
-return dev_storage + 1231;
+return dev_storage + 2157;
}
}
@@ -43450,10 +43764,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdbc11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcf11", 11) == 0)
{
{
-return dev_storage + 1216;
+return dev_storage + 1743;
}
}
@@ -43465,10 +43779,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdbb11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbf11", 11) == 0)
{
{
-return dev_storage + 1201;
+return dev_storage + 1327;
}
}
@@ -43480,10 +43794,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdba11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdaf11", 11) == 0)
{
{
-return dev_storage + 1186;
+return dev_storage + 911;
}
}
@@ -43500,14 +43814,14 @@ return NULL;
}
}
- case 'a':
- switch (KR_keyword [8])
+ case 'e':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdaz11", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdde11", 11) == 0)
{
{
-return dev_storage + 1145;
+return dev_storage + 2142;
}
}
@@ -43518,11 +43832,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sday11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdce11", 11) == 0)
{
{
-return dev_storage + 1130;
+return dev_storage + 1728;
}
}
@@ -43533,11 +43847,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdax11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbe11", 11) == 0)
{
{
-return dev_storage + 1115;
+return dev_storage + 1312;
}
}
@@ -43548,11 +43862,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdaw11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdae11", 11) == 0)
{
{
-return dev_storage + 1100;
+return dev_storage + 896;
}
}
@@ -43563,11 +43877,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdav11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddd11", 11) == 0)
{
{
-return dev_storage + 1085;
+return dev_storage + 2127;
}
}
@@ -43578,11 +43901,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdau11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcd11", 11) == 0)
{
{
-return dev_storage + 1070;
+return dev_storage + 1713;
}
}
@@ -43593,11 +43916,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdat11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbd11", 11) == 0)
{
{
-return dev_storage + 1055;
+return dev_storage + 1297;
}
}
@@ -43608,11 +43931,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdas11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdad11", 11) == 0)
{
{
-return dev_storage + 1040;
+return dev_storage + 881;
}
}
@@ -43623,11 +43946,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdar11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddc11", 11) == 0)
{
{
-return dev_storage + 1025;
+return dev_storage + 2112;
}
}
@@ -43638,11 +43970,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdaq11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcc11", 11) == 0)
{
{
-return dev_storage + 1010;
+return dev_storage + 1698;
}
}
@@ -43653,11 +43985,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdap11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbc11", 11) == 0)
{
{
-return dev_storage + 995;
+return dev_storage + 1282;
}
}
@@ -43668,11 +44000,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdao11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdac11", 11) == 0)
{
{
-return dev_storage + 980;
+return dev_storage + 866;
}
}
@@ -43683,11 +44015,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdan11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddb11", 11) == 0)
{
{
-return dev_storage + 965;
+return dev_storage + 2097;
}
}
@@ -43698,11 +44039,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdam11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcb11", 11) == 0)
{
{
-return dev_storage + 950;
+return dev_storage + 1683;
}
}
@@ -43713,11 +44054,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdal11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbb11", 11) == 0)
{
{
-return dev_storage + 935;
+return dev_storage + 1267;
}
}
@@ -43728,11 +44069,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdak11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdab11", 11) == 0)
{
{
-return dev_storage + 920;
+return dev_storage + 851;
}
}
@@ -43743,11 +44084,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdaj11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdda11", 11) == 0)
{
{
-return dev_storage + 905;
+return dev_storage + 2082;
}
}
@@ -43758,11 +44108,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdai11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdca11", 11) == 0)
{
{
-return dev_storage + 890;
+return dev_storage + 1668;
}
}
@@ -43773,11 +44123,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdah11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdba11", 11) == 0)
{
{
-return dev_storage + 875;
+return dev_storage + 1252;
}
}
@@ -43788,11 +44138,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdag11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaa11", 11) == 0)
{
{
-return dev_storage + 860;
+return dev_storage + 836;
}
}
@@ -43803,11 +44153,20 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdaf11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'S':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ttyS61", 11) == 0)
{
{
-return dev_storage + 845;
+return dev_storage + 2638;
}
}
@@ -43818,11 +44177,11 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdae11", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS51", 11) == 0)
{
{
-return dev_storage + 830;
+return dev_storage + 2628;
}
}
@@ -43833,11 +44192,11 @@ return NULL;
}
}
- case 'd':
- if (strncmp (KR_keyword, "/dev/sdad11", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS41", 11) == 0)
{
{
-return dev_storage + 815;
+return dev_storage + 2618;
}
}
@@ -43848,11 +44207,11 @@ return NULL;
}
}
- case 'c':
- if (strncmp (KR_keyword, "/dev/sdac11", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS31", 11) == 0)
{
{
-return dev_storage + 800;
+return dev_storage + 2608;
}
}
@@ -43863,11 +44222,11 @@ return NULL;
}
}
- case 'b':
- if (strncmp (KR_keyword, "/dev/sdab11", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS21", 11) == 0)
{
{
-return dev_storage + 785;
+return dev_storage + 2598;
}
}
@@ -43878,11 +44237,11 @@ return NULL;
}
}
- case 'a':
- if (strncmp (KR_keyword, "/dev/sdaa11", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS11", 11) == 0)
{
{
-return dev_storage + 770;
+return dev_storage + 2588;
}
}
@@ -43899,23 +44258,14 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case '0':
- switch (KR_keyword [7])
- {
- case 'y':
+ case '1':
switch (KR_keyword [9])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/ttyS60", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/nst121", 11) == 0)
{
{
-return dev_storage + 2571;
+return dev_storage + 228;
}
}
@@ -43926,11 +44276,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS50", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/nst111", 11) == 0)
{
{
-return dev_storage + 2561;
+return dev_storage + 218;
}
}
@@ -43941,11 +44291,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS40", 11) == 0)
+ case '0':
+ if (strncmp (KR_keyword, "/dev/nst101", 11) == 0)
{
{
-return dev_storage + 2551;
+return dev_storage + 208;
}
}
@@ -43956,11 +44306,29 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS30", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ default:
+{
+return NULL;
+
+}
+ }
+ case '0':
+ switch (KR_keyword [8])
+ {
+ case 'z':
+ switch (KR_keyword [7])
+ {
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcz10", 11) == 0)
{
{
-return dev_storage + 2541;
+return dev_storage + 2042;
}
}
@@ -43971,11 +44339,11 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS20", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbz10", 11) == 0)
{
{
-return dev_storage + 2531;
+return dev_storage + 1626;
}
}
@@ -43986,11 +44354,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaz10", 11) == 0)
{
{
-return dev_storage + 2521;
+return dev_storage + 1210;
}
}
@@ -44007,14 +44375,14 @@ return NULL;
}
}
- case 't':
- switch (KR_keyword [9])
+ case 'y':
+ switch (KR_keyword [7])
{
- case '2':
- if (strncmp (KR_keyword, "/dev/nst120", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcy10", 11) == 0)
{
{
-return dev_storage + 226;
+return dev_storage + 2027;
}
}
@@ -44025,11 +44393,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/nst110", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdby10", 11) == 0)
{
{
-return dev_storage + 216;
+return dev_storage + 1611;
}
}
@@ -44040,11 +44408,11 @@ return NULL;
}
}
- case '0':
- if (strncmp (KR_keyword, "/dev/nst100", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sday10", 11) == 0)
{
{
-return dev_storage + 206;
+return dev_storage + 1195;
}
}
@@ -44061,14 +44429,14 @@ return NULL;
}
}
- case 'n':
- switch (KR_keyword [9])
+ case 'x':
+ switch (KR_keyword [7])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/cons60", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddx10", 11) == 0)
{
{
-return dev_storage + 80;
+return dev_storage + 2426;
}
}
@@ -44079,11 +44447,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/cons50", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcx10", 11) == 0)
{
{
-return dev_storage + 70;
+return dev_storage + 2012;
}
}
@@ -44094,11 +44462,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/cons40", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbx10", 11) == 0)
{
{
-return dev_storage + 60;
+return dev_storage + 1596;
}
}
@@ -44109,11 +44477,11 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/cons30", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdax10", 11) == 0)
{
{
-return dev_storage + 50;
+return dev_storage + 1180;
}
}
@@ -44124,11 +44492,20 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/cons20", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'w':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddw10", 11) == 0)
{
{
-return dev_storage + 40;
+return dev_storage + 2411;
}
}
@@ -44139,11 +44516,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/cons10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcw10", 11) == 0)
{
{
-return dev_storage + 30;
+return dev_storage + 1997;
}
}
@@ -44154,20 +44531,11 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case 'd':
- switch (KR_keyword [8])
- {
- case 'x':
- if (strncmp (KR_keyword, "/dev/sddx10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbw10", 11) == 0)
{
{
-return dev_storage + 2360;
+return dev_storage + 1581;
}
}
@@ -44178,11 +44546,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sddw10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaw10", 11) == 0)
{
{
-return dev_storage + 2345;
+return dev_storage + 1165;
}
}
@@ -44193,11 +44561,20 @@ return NULL;
}
}
- case 'v':
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'v':
+ switch (KR_keyword [7])
+ {
+ case 'd':
if (strncmp (KR_keyword, "/dev/sddv10", 11) == 0)
{
{
-return dev_storage + 2330;
+return dev_storage + 2396;
}
}
@@ -44208,11 +44585,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sddu10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcv10", 11) == 0)
{
{
-return dev_storage + 2315;
+return dev_storage + 1982;
}
}
@@ -44223,11 +44600,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sddt10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbv10", 11) == 0)
{
{
-return dev_storage + 2300;
+return dev_storage + 1566;
}
}
@@ -44238,11 +44615,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdds10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdav10", 11) == 0)
{
{
-return dev_storage + 2285;
+return dev_storage + 1150;
}
}
@@ -44253,11 +44630,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sddr10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'u':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddu10", 11) == 0)
{
{
-return dev_storage + 2270;
+return dev_storage + 2381;
}
}
@@ -44268,11 +44654,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sddq10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcu10", 11) == 0)
{
{
-return dev_storage + 2255;
+return dev_storage + 1967;
}
}
@@ -44283,11 +44669,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sddp10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbu10", 11) == 0)
{
{
-return dev_storage + 2240;
+return dev_storage + 1551;
}
}
@@ -44298,11 +44684,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sddo10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdau10", 11) == 0)
{
{
-return dev_storage + 2225;
+return dev_storage + 1135;
}
}
@@ -44313,11 +44699,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sddn10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 't':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddt10", 11) == 0)
{
{
-return dev_storage + 2210;
+return dev_storage + 2366;
}
}
@@ -44328,11 +44723,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sddm10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdct10", 11) == 0)
{
{
-return dev_storage + 2195;
+return dev_storage + 1952;
}
}
@@ -44343,11 +44738,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sddl10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbt10", 11) == 0)
{
{
-return dev_storage + 2180;
+return dev_storage + 1536;
}
}
@@ -44358,11 +44753,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sddk10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdat10", 11) == 0)
{
{
-return dev_storage + 2165;
+return dev_storage + 1120;
}
}
@@ -44373,11 +44768,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sddj10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 's':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/cons60", 11) == 0)
{
{
-return dev_storage + 2150;
+return dev_storage + 80;
}
}
@@ -44388,11 +44792,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sddi10", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/cons50", 11) == 0)
{
{
-return dev_storage + 2135;
+return dev_storage + 70;
}
}
@@ -44403,11 +44807,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sddh10", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/cons40", 11) == 0)
{
{
-return dev_storage + 2120;
+return dev_storage + 60;
}
}
@@ -44418,11 +44822,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sddg10", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/cons30", 11) == 0)
{
{
-return dev_storage + 2105;
+return dev_storage + 50;
}
}
@@ -44433,11 +44837,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sddf10", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/cons20", 11) == 0)
{
{
-return dev_storage + 2090;
+return dev_storage + 40;
}
}
@@ -44448,26 +44852,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdde10", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'n':
+ if (strncmp (KR_keyword, "/dev/cons10", 11) == 0)
+ {
{
-return dev_storage + 2075;
+return dev_storage + 30;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdds10", 11) == 0)
+ {
+{
+return dev_storage + 2351;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcs10", 11) == 0)
+ {
+{
+return dev_storage + 1937;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbs10", 11) == 0)
+ {
+{
+return dev_storage + 1521;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdas10", 11) == 0)
+ {
+{
+return dev_storage + 1105;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'r':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sddd10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddr10", 11) == 0)
{
{
-return dev_storage + 2060;
+return dev_storage + 2336;
}
}
@@ -44479,10 +44961,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sddc10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcr10", 11) == 0)
{
{
-return dev_storage + 2045;
+return dev_storage + 1922;
}
}
@@ -44494,10 +44976,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sddb10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbr10", 11) == 0)
{
{
-return dev_storage + 2030;
+return dev_storage + 1506;
}
}
@@ -44509,10 +44991,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdda10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdar10", 11) == 0)
{
{
-return dev_storage + 2015;
+return dev_storage + 1090;
}
}
@@ -44529,14 +45011,14 @@ return NULL;
}
}
- case 'c':
- switch (KR_keyword [8])
+ case 'q':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdcz10", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddq10", 11) == 0)
{
{
-return dev_storage + 1976;
+return dev_storage + 2321;
}
}
@@ -44547,11 +45029,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdcy10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcq10", 11) == 0)
{
{
-return dev_storage + 1961;
+return dev_storage + 1907;
}
}
@@ -44562,11 +45044,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdcx10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbq10", 11) == 0)
{
{
-return dev_storage + 1946;
+return dev_storage + 1491;
}
}
@@ -44577,11 +45059,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdcw10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaq10", 11) == 0)
{
{
-return dev_storage + 1931;
+return dev_storage + 1075;
}
}
@@ -44592,11 +45074,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdcv10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddp10", 11) == 0)
{
{
-return dev_storage + 1916;
+return dev_storage + 2306;
}
}
@@ -44607,11 +45098,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdcu10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcp10", 11) == 0)
{
{
-return dev_storage + 1901;
+return dev_storage + 1892;
}
}
@@ -44622,11 +45113,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdct10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbp10", 11) == 0)
{
{
-return dev_storage + 1886;
+return dev_storage + 1476;
}
}
@@ -44637,11 +45128,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdcs10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdap10", 11) == 0)
{
{
-return dev_storage + 1871;
+return dev_storage + 1060;
}
}
@@ -44652,11 +45143,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdcr10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'o':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddo10", 11) == 0)
{
{
-return dev_storage + 1856;
+return dev_storage + 2291;
}
}
@@ -44667,11 +45167,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdcq10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdco10", 11) == 0)
{
{
-return dev_storage + 1841;
+return dev_storage + 1877;
}
}
@@ -44682,11 +45182,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdcp10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbo10", 11) == 0)
{
{
-return dev_storage + 1826;
+return dev_storage + 1461;
}
}
@@ -44697,11 +45197,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdco10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdao10", 11) == 0)
{
{
-return dev_storage + 1811;
+return dev_storage + 1045;
}
}
@@ -44712,11 +45212,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdcn10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'n':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddn10", 11) == 0)
{
{
-return dev_storage + 1796;
+return dev_storage + 2276;
}
}
@@ -44727,11 +45236,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdcm10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcn10", 11) == 0)
{
{
-return dev_storage + 1781;
+return dev_storage + 1862;
}
}
@@ -44742,11 +45251,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdcl10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbn10", 11) == 0)
{
{
-return dev_storage + 1766;
+return dev_storage + 1446;
}
}
@@ -44757,11 +45266,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdck10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdan10", 11) == 0)
{
{
-return dev_storage + 1751;
+return dev_storage + 1030;
}
}
@@ -44772,11 +45281,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdcj10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'm':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ptym60", 11) == 0)
{
{
-return dev_storage + 1736;
+return dev_storage + 363;
}
}
@@ -44787,11 +45305,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdci10", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym50", 11) == 0)
{
{
-return dev_storage + 1721;
+return dev_storage + 353;
}
}
@@ -44802,11 +45320,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdch10", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym40", 11) == 0)
{
{
-return dev_storage + 1706;
+return dev_storage + 343;
}
}
@@ -44817,11 +45335,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdcg10", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym30", 11) == 0)
{
{
-return dev_storage + 1691;
+return dev_storage + 333;
}
}
@@ -44832,11 +45350,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdcf10", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym20", 11) == 0)
{
{
-return dev_storage + 1676;
+return dev_storage + 323;
}
}
@@ -44847,26 +45365,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdce10", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym10", 11) == 0)
+ {
{
-return dev_storage + 1661;
+return dev_storage + 313;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddm10", 11) == 0)
+ {
+{
+return dev_storage + 2261;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcm10", 11) == 0)
+ {
+{
+return dev_storage + 1847;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbm10", 11) == 0)
+ {
+{
+return dev_storage + 1431;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdam10", 11) == 0)
+ {
+{
+return dev_storage + 1015;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'l':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdcd10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddl10", 11) == 0)
{
{
-return dev_storage + 1646;
+return dev_storage + 2246;
}
}
@@ -44878,10 +45474,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdcc10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcl10", 11) == 0)
{
{
-return dev_storage + 1631;
+return dev_storage + 1832;
}
}
@@ -44893,10 +45489,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdcb10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbl10", 11) == 0)
{
{
-return dev_storage + 1616;
+return dev_storage + 1416;
}
}
@@ -44908,10 +45504,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdca10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdal10", 11) == 0)
{
{
-return dev_storage + 1601;
+return dev_storage + 1000;
}
}
@@ -44928,14 +45524,14 @@ return NULL;
}
}
- case 'b':
- switch (KR_keyword [8])
+ case 'k':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdbz10", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddk10", 11) == 0)
{
{
-return dev_storage + 1560;
+return dev_storage + 2231;
}
}
@@ -44946,11 +45542,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdby10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdck10", 11) == 0)
{
{
-return dev_storage + 1545;
+return dev_storage + 1817;
}
}
@@ -44961,11 +45557,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdbx10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbk10", 11) == 0)
{
{
-return dev_storage + 1530;
+return dev_storage + 1401;
}
}
@@ -44976,11 +45572,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdbw10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdak10", 11) == 0)
{
{
-return dev_storage + 1515;
+return dev_storage + 985;
}
}
@@ -44991,11 +45587,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdbv10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'j':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddj10", 11) == 0)
{
{
-return dev_storage + 1500;
+return dev_storage + 2216;
}
}
@@ -45006,11 +45611,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdbu10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcj10", 11) == 0)
{
{
-return dev_storage + 1485;
+return dev_storage + 1802;
}
}
@@ -45021,11 +45626,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdbt10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbj10", 11) == 0)
{
{
-return dev_storage + 1470;
+return dev_storage + 1386;
}
}
@@ -45036,11 +45641,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdbs10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaj10", 11) == 0)
{
{
-return dev_storage + 1455;
+return dev_storage + 970;
}
}
@@ -45051,11 +45656,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdbr10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'i':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddi10", 11) == 0)
{
{
-return dev_storage + 1440;
+return dev_storage + 2201;
}
}
@@ -45066,11 +45680,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdbq10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdci10", 11) == 0)
{
{
-return dev_storage + 1425;
+return dev_storage + 1787;
}
}
@@ -45081,11 +45695,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdbp10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbi10", 11) == 0)
{
{
-return dev_storage + 1410;
+return dev_storage + 1371;
}
}
@@ -45096,11 +45710,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdbo10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdai10", 11) == 0)
{
{
-return dev_storage + 1395;
+return dev_storage + 955;
}
}
@@ -45111,11 +45725,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdbn10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'h':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddh10", 11) == 0)
{
{
-return dev_storage + 1380;
+return dev_storage + 2186;
}
}
@@ -45126,11 +45749,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdbm10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdch10", 11) == 0)
{
{
-return dev_storage + 1365;
+return dev_storage + 1772;
}
}
@@ -45141,11 +45764,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdbl10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbh10", 11) == 0)
{
{
-return dev_storage + 1350;
+return dev_storage + 1356;
}
}
@@ -45156,11 +45779,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdbk10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdah10", 11) == 0)
{
{
-return dev_storage + 1335;
+return dev_storage + 940;
}
}
@@ -45171,11 +45794,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdbj10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'g':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddg10", 11) == 0)
{
{
-return dev_storage + 1320;
+return dev_storage + 2171;
}
}
@@ -45186,11 +45818,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdbi10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcg10", 11) == 0)
{
{
-return dev_storage + 1305;
+return dev_storage + 1757;
}
}
@@ -45201,11 +45833,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdbh10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbg10", 11) == 0)
{
{
-return dev_storage + 1290;
+return dev_storage + 1341;
}
}
@@ -45216,11 +45848,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdbg10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdag10", 11) == 0)
{
{
-return dev_storage + 1275;
+return dev_storage + 925;
}
}
@@ -45231,11 +45863,20 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdbf10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'f':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddf10", 11) == 0)
{
{
-return dev_storage + 1260;
+return dev_storage + 2156;
}
}
@@ -45246,11 +45887,11 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdbe10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcf10", 11) == 0)
{
{
-return dev_storage + 1245;
+return dev_storage + 1742;
}
}
@@ -45261,11 +45902,11 @@ return NULL;
}
}
- case 'd':
- if (strncmp (KR_keyword, "/dev/sdbd10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbf10", 11) == 0)
{
{
-return dev_storage + 1230;
+return dev_storage + 1326;
}
}
@@ -45276,11 +45917,11 @@ return NULL;
}
}
- case 'c':
- if (strncmp (KR_keyword, "/dev/sdbc10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaf10", 11) == 0)
{
{
-return dev_storage + 1215;
+return dev_storage + 910;
}
}
@@ -45291,11 +45932,20 @@ return NULL;
}
}
- case 'b':
- if (strncmp (KR_keyword, "/dev/sdbb10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'e':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdde10", 11) == 0)
{
{
-return dev_storage + 1200;
+return dev_storage + 2141;
}
}
@@ -45306,11 +45956,11 @@ return NULL;
}
}
- case 'a':
- if (strncmp (KR_keyword, "/dev/sdba10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdce10", 11) == 0)
{
{
-return dev_storage + 1185;
+return dev_storage + 1727;
}
}
@@ -45321,20 +45971,26 @@ return NULL;
}
}
- default:
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbe10", 11) == 0)
+ {
+{
+return dev_storage + 1311;
+
+}
+ }
+ else
+ {
{
return NULL;
}
- }
- case 'a':
- switch (KR_keyword [8])
- {
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdaz10", 11) == 0)
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdae10", 11) == 0)
{
{
-return dev_storage + 1144;
+return dev_storage + 895;
}
}
@@ -45345,11 +46001,20 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sday10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddd10", 11) == 0)
{
{
-return dev_storage + 1129;
+return dev_storage + 2126;
}
}
@@ -45360,11 +46025,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdax10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcd10", 11) == 0)
{
{
-return dev_storage + 1114;
+return dev_storage + 1712;
}
}
@@ -45375,11 +46040,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdaw10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbd10", 11) == 0)
{
{
-return dev_storage + 1099;
+return dev_storage + 1296;
}
}
@@ -45390,11 +46055,11 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdav10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdad10", 11) == 0)
{
{
-return dev_storage + 1084;
+return dev_storage + 880;
}
}
@@ -45405,11 +46070,20 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdau10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddc10", 11) == 0)
{
{
-return dev_storage + 1069;
+return dev_storage + 2111;
}
}
@@ -45420,11 +46094,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdat10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcc10", 11) == 0)
{
{
-return dev_storage + 1054;
+return dev_storage + 1697;
}
}
@@ -45435,11 +46109,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdas10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbc10", 11) == 0)
{
{
-return dev_storage + 1039;
+return dev_storage + 1281;
}
}
@@ -45450,11 +46124,11 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdar10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdac10", 11) == 0)
{
{
-return dev_storage + 1024;
+return dev_storage + 865;
}
}
@@ -45465,11 +46139,20 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdaq10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddb10", 11) == 0)
{
{
-return dev_storage + 1009;
+return dev_storage + 2096;
}
}
@@ -45480,11 +46163,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdap10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcb10", 11) == 0)
{
{
-return dev_storage + 994;
+return dev_storage + 1682;
}
}
@@ -45495,11 +46178,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdao10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbb10", 11) == 0)
{
{
-return dev_storage + 979;
+return dev_storage + 1266;
}
}
@@ -45510,11 +46193,11 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdan10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdab10", 11) == 0)
{
{
-return dev_storage + 964;
+return dev_storage + 850;
}
}
@@ -45525,11 +46208,20 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdam10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdda10", 11) == 0)
{
{
-return dev_storage + 949;
+return dev_storage + 2081;
}
}
@@ -45540,11 +46232,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdal10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdca10", 11) == 0)
{
{
-return dev_storage + 934;
+return dev_storage + 1667;
}
}
@@ -45555,11 +46247,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdak10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdba10", 11) == 0)
{
{
-return dev_storage + 919;
+return dev_storage + 1251;
}
}
@@ -45570,11 +46262,11 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdaj10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaa10", 11) == 0)
{
{
-return dev_storage + 904;
+return dev_storage + 835;
}
}
@@ -45585,11 +46277,20 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdai10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'S':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ttyS60", 11) == 0)
{
{
-return dev_storage + 889;
+return dev_storage + 2637;
}
}
@@ -45600,11 +46301,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdah10", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS50", 11) == 0)
{
{
-return dev_storage + 874;
+return dev_storage + 2627;
}
}
@@ -45615,11 +46316,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdag10", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS40", 11) == 0)
{
{
-return dev_storage + 859;
+return dev_storage + 2617;
}
}
@@ -45630,11 +46331,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdaf10", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS30", 11) == 0)
{
{
-return dev_storage + 844;
+return dev_storage + 2607;
}
}
@@ -45645,11 +46346,11 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdae10", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS20", 11) == 0)
{
{
-return dev_storage + 829;
+return dev_storage + 2597;
}
}
@@ -45660,11 +46361,11 @@ return NULL;
}
}
- case 'd':
- if (strncmp (KR_keyword, "/dev/sdad10", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS10", 11) == 0)
{
{
-return dev_storage + 814;
+return dev_storage + 2587;
}
}
@@ -45675,11 +46376,20 @@ return NULL;
}
}
- case 'c':
- if (strncmp (KR_keyword, "/dev/sdac10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case '1':
+ switch (KR_keyword [9])
+ {
+ case '2':
+ if (strncmp (KR_keyword, "/dev/nst120", 11) == 0)
{
{
-return dev_storage + 799;
+return dev_storage + 227;
}
}
@@ -45690,11 +46400,11 @@ return NULL;
}
}
- case 'b':
- if (strncmp (KR_keyword, "/dev/sdab10", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/nst110", 11) == 0)
{
{
-return dev_storage + 784;
+return dev_storage + 217;
}
}
@@ -45705,11 +46415,11 @@ return NULL;
}
}
- case 'a':
- if (strncmp (KR_keyword, "/dev/sdaa10", 11) == 0)
+ case '0':
+ if (strncmp (KR_keyword, "/dev/nst100", 11) == 0)
{
{
-return dev_storage + 769;
+return dev_storage + 207;
}
}
@@ -45745,7 +46455,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/windows", 12) == 0)
{
{
-return dev_storage + 2576;
+return dev_storage + 2642;
}
}
@@ -45760,7 +46470,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/urandom", 12) == 0)
{
{
-return dev_storage + 2575;
+return dev_storage + 2641;
}
}
@@ -45821,9 +46531,6 @@ return NULL;
#undef BRACK
-
-const device *dev_storage_end = dev_storage + (sizeof dev_storage / sizeof dev_storage[0]);
-
void
device::parse (const char *s)
{
@@ -45845,14 +46552,14 @@ device::init ()
void
device::parse (_major_t major, _minor_t minor)
{
- _dev_t devn = FHDEV (major, minor);
+ _dev_t dev = FHDEV (major, minor);
d.devn = 0;
- for (const device *devidx = dev_storage; devidx < dev_storage_end; devidx++)
- if (devidx->d.devn == devn)
+ for (unsigned i = 0; i < (sizeof (dev_storage) / sizeof (dev_storage[0])); i++)
+ if (dev_storage[i].d.devn == dev)
{
- *this = *devidx;
+ *this = dev_storage[i];
break;
}
diff --git a/winsup/cygwin/devices.h b/winsup/cygwin/devices.h
index b6255f089..96eaa3ec4 100644
--- a/winsup/cygwin/devices.h
+++ b/winsup/cygwin/devices.h
@@ -1,6 +1,6 @@
/* devices.h
- Copyright 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -8,7 +8,8 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
+#ifndef _DEVICES_H
+#define _DEVICES_H
typedef unsigned short _major_t;
typedef unsigned short _minor_t;
@@ -19,18 +20,14 @@ typedef __dev32_t _dev_t;
#define _minor(dev) ((dev) & ((1 << (sizeof (_minor_t) * 8)) - 1))
#define _major(dev) ((dev) >> (sizeof (_major_t) * 8))
-#include <sys/stat.h>
-#include <dirent.h>
-
#define MAX_CONSOLES 63
enum fh_devices
{
- DEV_TTY_MAJOR = 5,
- FH_TTY = FHDEV (DEV_TTY_MAJOR, 0),
- FH_CONSOLE = FHDEV (DEV_TTY_MAJOR, 1),
- FH_PTMX = FHDEV (DEV_TTY_MAJOR, 2),
- FH_CONIN = FHDEV (DEV_TTY_MAJOR, 255),
- FH_CONOUT = FHDEV (DEV_TTY_MAJOR, 254),
+ FH_TTY = FHDEV (5, 0),
+ FH_CONSOLE = FHDEV (5, 1),
+ FH_PTMX = FHDEV (5, 2),
+ FH_CONIN = FHDEV (5, 255),
+ FH_CONOUT = FHDEV (5, 254),
DEV_CONS_MAJOR = 3,
FH_CONS = FHDEV (DEV_CONS_MAJOR, 0),
@@ -53,27 +50,25 @@ enum fh_devices
/* begin /proc directories */
- DEV_VIRTFS_MAJOR = 0,
- FH_PROC_MIN_MINOR = FHDEV (DEV_VIRTFS_MAJOR, 200),
- FH_PROCSYSVIPC = FHDEV (DEV_VIRTFS_MAJOR, 249),
- FH_PROCSYS = FHDEV (DEV_VIRTFS_MAJOR, 250),
- FH_PROCESSFD = FHDEV (DEV_VIRTFS_MAJOR, 251),
- FH_PROCNET = FHDEV (DEV_VIRTFS_MAJOR, 252),
- FH_REGISTRY= FHDEV (DEV_VIRTFS_MAJOR, 253),
- FH_PROCESS = FHDEV (DEV_VIRTFS_MAJOR, 254),
- FH_PROC = FHDEV (DEV_VIRTFS_MAJOR, 255),
- FH_PROC_MAX_MINOR = FHDEV (DEV_VIRTFS_MAJOR, 255),
+ FH_PROC_MIN_MINOR = FHDEV (0, 200),
+ FH_PROCSYSVIPC = FHDEV (0, 249),
+ FH_PROCSYS = FHDEV (0, 250),
+ FH_PROCESSFD = FHDEV (0, 251),
+ FH_PROCNET = FHDEV (0, 252),
+ FH_REGISTRY= FHDEV (0, 253),
+ FH_PROCESS = FHDEV (0, 254),
+ FH_PROC = FHDEV (0, 255),
+ FH_PROC_MAX_MINOR = FHDEV (0, 255),
/* end /proc directories */
- FH_PIPE = FHDEV (DEV_VIRTFS_MAJOR, 199),
- FH_PIPER = FHDEV (DEV_VIRTFS_MAJOR, 198),
- FH_PIPEW = FHDEV (DEV_VIRTFS_MAJOR, 197),
- FH_FIFO = FHDEV (DEV_VIRTFS_MAJOR, 196),
- FH_FS = FHDEV (DEV_VIRTFS_MAJOR, 195), /* filesystem based device */
- FH_NETDRIVE= FHDEV (DEV_VIRTFS_MAJOR, 194),
- FH_DEV = FHDEV (DEV_VIRTFS_MAJOR, 193),
- FH_CYGDRIVE= FHDEV (DEV_VIRTFS_MAJOR, 192),
+ FH_PIPE = FHDEV (0, 199),
+ FH_PIPER = FHDEV (0, 198),
+ FH_PIPEW = FHDEV (0, 197),
+ FH_FIFO = FHDEV (0, 196),
+ FH_FS = FHDEV (0, 195), /* filesystem based device */
+ FH_NETDRIVE= FHDEV (0, 194),
+ FH_DEV = FHDEV (0, 193),
DEV_FLOPPY_MAJOR = 2,
FH_FLOPPY = FHDEV (DEV_FLOPPY_MAJOR, 0),
@@ -245,6 +240,9 @@ enum fh_devices
DEV_SOUND_MAJOR = 14,
FH_OSS_DSP = FHDEV (DEV_SOUND_MAJOR, 3),
+ DEV_CYGDRIVE_MAJOR = 98,
+ FH_CYGDRIVE= FHDEV (DEV_CYGDRIVE_MAJOR, 0),
+
DEV_TCP_MAJOR = 30,
FH_TCP = FHDEV (DEV_TCP_MAJOR, 36),
FH_UDP = FHDEV (DEV_TCP_MAJOR, 39),
@@ -273,10 +271,8 @@ struct device
};
} d;
const char *native;
- int (*exists_func) (const device&);
_mode_t mode;
- bool lives_in_dev:4;
- bool dev_on_fs:4;
+ bool dev_on_fs;
static const device *lookup (const char *, unsigned int = UINT32_MAX);
void parse (const char *);
void parse (_major_t major, _minor_t minor);
@@ -308,8 +304,7 @@ struct device
bool not_device (_dev_t n) const {return d.devn && n != d.devn; }
_minor_t get_minor () const {return d.minor;}
- _major_t get_major () const {return d.major;}
- _dev_t get_device () const {return d.devn;}
+ _minor_t get_major () const {return d.major;}
inline operator int& () {return d.devn_int;}
inline operator fh_devices () {return d.devn_fh_devices;}
@@ -319,19 +314,8 @@ struct device
inline void setfs (bool x) {dev_on_fs = x;}
inline bool isfs () const {return dev_on_fs || d.devn == FH_FS;}
inline bool is_fs_special () const {return dev_on_fs && d.devn != FH_FS;}
- inline bool is_dev_resident () const {return lives_in_dev;}
- inline int exists () const {return exists_func (*this);}
- unsigned char type () const
- {
- if (S_ISBLK (mode))
- return DT_BLK;
- return mode >> 12;
- }
};
-extern const device dev_storage[];
-extern const device *dev_storage_end;
-
extern const device *console_dev;
extern const device *ptmx_dev;
extern const device *ptys_dev;
@@ -352,8 +336,6 @@ extern const device dev_pipew_storage;
#define pipew_dev (&dev_pipew_storage)
extern const device dev_proc_storage;
#define proc_dev (&dev_proc_storage)
-extern const device dev_dev_storage;
-#define dev_dev (&dev_dev_storage)
extern const device dev_netdrive_storage;
#define netdrive_dev (&dev_netdrive_storage)
extern const device dev_cygdrive_storage;
@@ -366,10 +348,6 @@ extern const device dev_fs_storage;
#define isproc_dev(devn) \
(devn >= FH_PROC_MIN_MINOR && devn <= FH_PROC_MAX_MINOR)
-#define iscygdrive_dev(devn) (devn == FH_CYGDRIVE)
-
-#define isdev_dev(devn) (devn == FH_DEV)
-
#define isprocsys_dev(devn) (devn == FH_PROCSYS)
#define isvirtual_dev(devn) \
@@ -382,3 +360,4 @@ extern const device dev_fs_storage;
|| (((int) n) == FH_CONOUT))
#define istty_slave_dev(n) (device::major (n) == DEV_PTYS_MAJOR)
+#endif /*_DEVICES_H*/
diff --git a/winsup/cygwin/devices.in b/winsup/cygwin/devices.in
index 213226ae6..b404e425d 100644
--- a/winsup/cygwin/devices.in
+++ b/winsup/cygwin/devices.in
@@ -4,188 +4,110 @@
#include "sys/cygwin.h"
#include "tty.h"
#include "pinfo.h"
-#include "shared_info.h"
-#include "path.h"
-#include "fhandler.h"
-#include "ntdll.h"
-
typedef const device *KR_device_t;
}
%type KR_device_t
%local {
-
-static int
-exists_internal (const device&)
-{
- return false;
-}
-
-static int
-exists (const device&)
-{
- return true;
-}
-
-/* Check existence of POSIX devices backed by real NT devices. */
-static int
-exists_ntdev (const device& dev)
-{
- WCHAR wpath[MAX_PATH];
- UNICODE_STRING upath;
- OBJECT_ATTRIBUTES attr;
- HANDLE h;
- NTSTATUS status;
-
- sys_mbstowcs (wpath, MAX_PATH, dev.native);
- RtlInitUnicodeString (&upath, wpath);
- InitializeObjectAttributes (&attr, &upath, OBJ_CASE_INSENSITIVE, NULL, NULL);
- /* Except for the serial IO devices, the native paths are
- direct device paths, not symlinks, so every status code
- except for "NOT_FOUND" means the device exists. */
- status = NtOpenSymbolicLinkObject (&h, SYMBOLIC_LINK_QUERY, &attr);
- switch (status)
- {
- case STATUS_OBJECT_NAME_NOT_FOUND:
- case STATUS_OBJECT_PATH_NOT_FOUND:
- return false;
- case STATUS_SUCCESS:
- NtClose (h);
- default:
- break;
- }
- return true;
-}
-
-/* Don't list via readdir but allow as a direct reference. */
-static int
-exists_ntdev_silent (const device& dev)
-{
- return exists_ntdev (dev) ? -1 : false;
-}
-
-static int
-exists_console (const device& dev)
-{
- int devn = *const_cast<device *> (&dev);
- switch (devn)
- {
- case FH_CONSOLE:
- case FH_CONIN:
- case FH_CONOUT:
- return fhandler_console::exists ();
- default:
- /* Only show my own console device (for now?) */
- return iscons_dev (myself->ctty) && myself->ctty == devn;
- }
-}
-
-static int
-exists_pty (const device& dev)
-{
- /* Only existing slave ptys. */
- return cygwin_shared->tty.connect (dev.get_minor ()) != -1;
-}
-
const device dev_cygdrive_storage =
- {"/cygdrive", {FH_CYGDRIVE}, "/cygdrive", exists};
+ {"/cygdrive", {FH_CYGDRIVE}, "/cygdrive"};
const device dev_fs_storage =
- {"", {FH_FS}, "", exists};
+ {"", {FH_FS}, ""};
const device dev_proc_storage =
- {"", {FH_PROC}, "", exists};
+ {"", {FH_PROC}, ""};
const device dev_procnet_storage =
- {"", {FH_PROCNET}, "", exists};
+ {"", {FH_PROCNET}, ""};
const device dev_procsys_storage =
- {"", {FH_PROCSYS}, "", exists};
+ {"", {FH_PROCSYS}, ""};
const device dev_procsysvipc_storage =
- {"", {FH_PROCSYSVIPC}, "", exists};
+ {"", {FH_PROCSYSVIPC}, ""};
const device dev_netdrive_storage =
- {"", {FH_NETDRIVE}, "", exists};
+ {"", {FH_NETDRIVE}, ""};
+
+#if 0
+const device dev_dev_storage =
+ {"/dev", {FH_DEV}, "/dev"};
+#endif
const device dev_registry_storage =
- {"", {FH_REGISTRY}, "", exists_internal};
+ {"", {FH_REGISTRY}, ""};
const device dev_piper_storage =
- {"", {FH_PIPER}, "", exists_internal};
+ {"", {FH_PIPER}, ""};
const device dev_pipew_storage =
- {"", {FH_PIPEW}, "", exists_internal};
+ {"", {FH_PIPEW}, ""};
const device dev_tcp_storage =
- {"", {FH_TCP}, "", exists_internal};
+ {"", {FH_TCP}, ""};
const device dev_udp_storage =
- {"", {FH_UDP}, "", exists_internal};
+ {"", {FH_UDP}, ""};
const device dev_stream_storage =
- {"", {FH_STREAM}, "", exists_internal};
+ {"", {FH_STREAM}, ""};
const device dev_dgram_storage =
- {"", {FH_DGRAM}, "", exists_internal};
+ {"", {FH_DGRAM}, ""};
const device dev_bad_storage =
- {"", {FH_NADA}, "", exists_internal};
+ {"", {FH_NADA}, ""};
const device dev_error_storage =
- {"", {FH_ERROR}, "", exists_internal};
-
+ {"", {FH_ERROR}, ""};
#define BRACK(x) {devn_int: x}
+
%storage_here
}
-/* Internal devices below are prefixed with a ":". This moves them out of
- the POSIX namespace. */
%%
-"/dev", BRACK(FH_DEV), "/dev", exists, S_IFDIR
-"/dev/tty", BRACK(FH_TTY), "/dev/tty", exists, S_IFCHR
-"/dev/pty%(0-63)d", BRACK(FHDEV(DEV_PTYS_MAJOR, {$1})), "/dev/pty{$1}", exists_pty, S_IFCHR, =ptys_dev
-":ptym%(0-63)d", BRACK(FHDEV(DEV_PTYM_MAJOR, {$1})), "/dev/ptym{$1}", exists_internal, S_IFCHR, =ptym_dev
-"/dev/cons%(0-63)d", BRACK(FHDEV(DEV_CONS_MAJOR, {$1})), "/dev/cons{$1}", exists_console, S_IFCHR, =cons_dev
-"/dev/console", BRACK(FH_CONSOLE), "/dev/console", exists_console, S_IFCHR, =console_dev
-"/dev/ptmx", BRACK(FH_PTMX), "/dev/ptmx", exists, S_IFCHR
-"/dev/windows", BRACK(FH_WINDOWS), "/dev/windows", exists, S_IFCHR
-"/dev/dsp", BRACK(FH_OSS_DSP), "/dev/dsp", exists, S_IFCHR
-"/dev/conin", BRACK(FH_CONIN), "/dev/conin", exists_console, S_IFCHR
-"/dev/conout", BRACK(FH_CONOUT), "/dev/conout", exists_console, S_IFCHR
-"/dev/null", BRACK(FH_NULL), "\\Device\\Null", exists_ntdev, S_IFCHR
-"/dev/zero", BRACK(FH_ZERO), "/dev/zero", exists, S_IFCHR
-"/dev/full", BRACK(FH_FULL), "/dev/full", exists, S_IFCHR
-"/dev/random", BRACK(FH_RANDOM), "/dev/random", exists, S_IFCHR
-"/dev/urandom", BRACK(FH_URANDOM), "/dev/urandom", exists, S_IFCHR, =urandom_dev
-"/dev/mem", BRACK(FH_MEM), "/dev/mem", exists, S_IFCHR
-"/dev/kmem", BRACK(FH_KMEM), "/dev/kmem", exists, S_IFCHR
-"/dev/clipboard", BRACK(FH_CLIPBOARD), "/dev/clipboard", exists, S_IFCHR
-"/dev/port", BRACK(FH_PORT), "/dev/port", exists, S_IFCHR
-"/dev/com%(1-16)d", BRACK(FHDEV(DEV_SERIAL_MAJOR, {$1 - 1})), "\\??\\COM{$1}", exists_ntdev_silent, S_IFCHR
-"/dev/ttyS%(0-63)d", BRACK(FHDEV(DEV_SERIAL_MAJOR, {$1})), "\\??\\COM{$1 + 1}", exists_ntdev, S_IFCHR
-":pipe", BRACK(FH_PIPE), "/dev/pipe", exists_internal, S_IFCHR
-":fifo", BRACK(FH_FIFO), "/dev/fifo", exists_internal, S_IFCHR
-"/dev/st%(0-127)d", BRACK(FHDEV(DEV_TAPE_MAJOR, {$1})), "\\Device\\Tape{$1}", exists_ntdev, S_IFBLK
-"/dev/nst%(0-127)d", BRACK(FHDEV(DEV_TAPE_MAJOR, {$1 + 128})), "\\Device\\Tape{$1}", exists_ntdev, S_IFBLK
-"/dev/fd%(0-15)d", BRACK(FHDEV(DEV_FLOPPY_MAJOR, {$1})), "\\Device\\Floppy{$1}", exists_ntdev, S_IFBLK
-"/dev/scd%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}", exists_ntdev, S_IFBLK
-"/dev/sr%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}", exists_ntdev, S_IFBLK
-"/dev/sd%{a-z}s", BRACK(FH_SD{uc $1}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition0", exists_ntdev, S_IFBLK
-"/dev/sda%{a-z}s", BRACK(FH_SDA{uc $1}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition0", exists_ntdev, S_IFBLK
-"/dev/sdb%{a-z}s", BRACK(FH_SDB{uc $1}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition0", exists_ntdev, S_IFBLK
-"/dev/sdc%{a-z}s", BRACK(FH_SDC{uc $1}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition0", exists_ntdev, S_IFBLK
-"/dev/sdd%{a-x}s", BRACK(FH_SDD{uc $1}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition0", exists_ntdev, S_IFBLK
-"/dev/sd%{a-z}s%(1-15)d", BRACK(FH_SD{uc $1} | {$2}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition{$2 % 16}", exists_ntdev, S_IFBLK
-"/dev/sda%{a-z}s%(1-15)d", BRACK(FH_SDA{uc $1} | {$2}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition{$2 % 16}", exists_ntdev, S_IFBLK
-"/dev/sdb%{a-z}s%(1-15)d", BRACK(FH_SDB{uc $1} | {$2}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition{$2 % 16}", exists_ntdev, S_IFBLK
-"/dev/sdc%{a-z}s%(1-15)d", BRACK(FH_SDC{uc $1} | {$2}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition{$2 % 16}", exists_ntdev, S_IFBLK
-"/dev/sdd%{a-x}s%(1-15)d", BRACK(FH_SDD{uc $1} | {$2}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition{$2 % 16}", exists_ntdev, S_IFBLK
-"/dev/kmsg", BRACK(FH_KMSG), "\\Device\\MailSlot\\cygwin\\dev\\kmsg", exists_ntdev, S_IFCHR
+"/dev/tty", BRACK(FH_TTY), "/dev/tty"
+"/dev/pty%(0-63)d", BRACK(FHDEV(DEV_PTYS_MAJOR, {$1})), "/dev/pty{$1}", ptys_dev
+"/dev/ptym%(0-63)d", BRACK(FHDEV(DEV_PTYM_MAJOR, {$1})), "/dev/ptym{$1}", ptym_dev
+"/dev/cons%(0-63)d", BRACK(FHDEV(DEV_CONS_MAJOR, {$1})), "/dev/cons{$1}", cons_dev
+"/dev/console", BRACK(FH_CONSOLE), "/dev/console", console_dev
+"/dev/ptmx", BRACK(FH_PTMX), "/dev/ptmx"
+"/dev/windows", BRACK(FH_WINDOWS), "/dev/windows"
+"/dev/dsp", BRACK(FH_OSS_DSP), "/dev/dsp"
+"/dev/conin", BRACK(FH_CONIN), "/dev/conin"
+"/dev/conout", BRACK(FH_CONOUT), "/dev/conout"
+"/dev/null", BRACK(FH_NULL), "\\Device\\Null"
+"/dev/zero", BRACK(FH_ZERO), "/dev/zero"
+"/dev/full", BRACK(FH_FULL), "/dev/full"
+"/dev/random", BRACK(FH_RANDOM), "/dev/random"
+"/dev/urandom", BRACK(FH_URANDOM), "/dev/urandom", urandom_dev
+"/dev/mem", BRACK(FH_MEM), "/dev/mem"
+"/dev/kmem", BRACK(FH_KMEM), "/dev/mem"
+"/dev/clipboard", BRACK(FH_CLIPBOARD), "/dev/clipboard"
+"/dev/port", BRACK(FH_PORT), "/dev/port"
+"/dev/com%(1-16)d", BRACK(FHDEV(DEV_SERIAL_MAJOR, {$1 - 1})), "\\??\\COM{$1}"
+"/dev/ttyS%(0-63)d", BRACK(FHDEV(DEV_SERIAL_MAJOR, {$1})), "\\??\\COM{$1 + 1}"
+"/dev/pipe", BRACK(FH_PIPE), "/dev/pipe"
+"/dev/fifo", BRACK(FH_FIFO), "/dev/fifo"
+"/dev/st%(0-127)d", BRACK(FHDEV(DEV_TAPE_MAJOR, {$1})), "\\Device\\Tape{$1}"
+"/dev/nst%(0-127)d", BRACK(FHDEV(DEV_TAPE_MAJOR, {$1 + 128})), "\\Device\\Tape{$1}"
+"/dev/fd%(0-15)d", BRACK(FHDEV(DEV_FLOPPY_MAJOR, {$1})), "\\Device\\Floppy{$1}"
+"/dev/scd%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}"
+"/dev/sr%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}"
+"/dev/sd%{a-z}s", BRACK(FH_SD{uc $1}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition0"
+"/dev/sda%{a-z}s", BRACK(FH_SDA{uc $1}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition0"
+"/dev/sdb%{a-z}s", BRACK(FH_SDB{uc $1}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition0"
+"/dev/sdc%{a-z}s", BRACK(FH_SDC{uc $1}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition0"
+"/dev/sdd%{a-x}s", BRACK(FH_SDD{uc $1}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition0"
+"/dev/sd%{a-z}s%(1-15)d", BRACK(FH_SD{uc $1} | {$2}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition{$2 % 16}"
+"/dev/sda%{a-z}s%(1-15)d", BRACK(FH_SDA{uc $1} | {$2}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition{$2 % 16}"
+"/dev/sdb%{a-z}s%(1-15)d", BRACK(FH_SDB{uc $1} | {$2}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition{$2 % 16}"
+"/dev/sdc%{a-z}s%(1-15)d", BRACK(FH_SDC{uc $1} | {$2}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition{$2 % 16}"
+"/dev/sdd%{a-x}s%(1-15)d", BRACK(FH_SDD{uc $1} | {$2}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition{$2 % 16}"
+"/dev/kmsg", BRACK(FH_KMSG), "\\Device\\MailSlot\\cygwin\\dev\\kmsg"
+"/dev", BRACK(FH_DEV), "/dev"
%other {return NULL;}
%%
#undef BRACK
-
-const device *dev_storage_end = dev_storage + (sizeof dev_storage / sizeof dev_storage[0]);
-
void
device::parse (const char *s)
{
@@ -207,14 +129,14 @@ device::init ()
void
device::parse (_major_t major, _minor_t minor)
{
- _dev_t devn = FHDEV (major, minor);
+ _dev_t dev = FHDEV (major, minor);
d.devn = 0;
- for (const device *devidx = dev_storage; devidx < dev_storage_end; devidx++)
- if (devidx->d.devn == devn)
+ for (unsigned i = 0; i < (sizeof (dev_storage) / sizeof (dev_storage[0])); i++)
+ if (dev_storage[i].d.devn == dev)
{
- *this = *devidx;
+ *this = dev_storage[i];
break;
}
diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc
index 5ecd0a6d7..2fb6eac6e 100644
--- a/winsup/cygwin/dir.cc
+++ b/winsup/cygwin/dir.cc
@@ -347,11 +347,6 @@ rmdir (const char *dir)
set_errno (ENOENT);
else if (has_dot_last_component (dir, false))
set_errno (EINVAL);
- else if (isdev_dev (fh->dev ()))
- {
- set_errno (ENOTEMPTY);
- goto done;
- }
else if (!fh->rmdir ())
res = 0;
diff --git a/winsup/cygwin/dll_init.cc b/winsup/cygwin/dll_init.cc
index 420f0d8f2..4a59d0a09 100644
--- a/winsup/cygwin/dll_init.cc
+++ b/winsup/cygwin/dll_init.cc
@@ -106,61 +106,13 @@ dll::init ()
return ret;
}
-/* Look for a dll based on the full path.
-
- CV, 2012-03-04: Per MSDN, If a DLL with the same module name is already
- loaded in memory, the system uses the loaded DLL, no matter which directory
- it is in. The system does not search for the DLL. See
- http://msdn.microsoft.com/en-us/library/ms682586%28v=vs.85%29.aspx
-
- On 2012-02-08 I interpreted "module name" as "basename". So the assumption
- was that the Windows Loader does not load another DLL with the same basename,
- if one such DLL is already loaded. Consequentially I changed the code so
- that DLLs are only compared by basename.
-
- This assumption was obviously wrong, as the perl dynaloader proves. It
- loads multiple DLLs with the same basename into memory, just from different
- locations. This mechanism is broken when only comparing basenames in the
- below code.
-
- However, the original problem reported on 2012-02-07 was a result of
- a subtil difference between the paths returned by different calls to
- GetModuleFileNameW: Sometimes the path is a plain DOS path, sometimes
- it's preceeded by the long pathname prefix "\\?\".
-
- So I reverted the original change from 2012-02-08 and only applied the
- following fix: Check if the path is preceeded by a long pathname prefix,
- and, if so, drop it forthwith so that subsequent full path comparisons
- work as expected.
-
- At least that was the original idea. In fact there are two case, linked
- and runtime loaded DLLs, which have to be distinguished:
-
- - Linked DLLs are loaded by only specifying the basename of the DLL and
- searching it using the system DLL search order as given in the
- aforementioned MSDN URL.
-
- - Runtime loaded DLLs are specified with the full path since that's how
- dlopen works.
-
- In effect, we have to be careful not to mix linked and loaded DLLs.
- For more info how this gets accomplished, see the comments at the start
- of dll_list::alloc, as well as the comment preceeding the definition of
- the in_load_after_fork bool later in the file. */
+/* Look for a dll based on the basename.
+ Only compare basenames for DLLs. Per MSDN, the Windows loader re-uses
+ the already loaded DLL, if the new DLL has the same basename as the
+ already loaded DLL. It will not try to load the new DLL at all. See
+ http://msdn.microsoft.com/en-us/library/ms682586%28v=vs.85%29.aspx */
dll *
-dll_list::operator[] (const PWCHAR name)
-{
- dll *d = &start;
- while ((d = d->next) != NULL)
- if (!wcscasecmp (name, d->name))
- return d;
-
- return NULL;
-}
-
-/* Look for a dll based on the basename. */
-dll *
-dll_list::find_by_modname (const PWCHAR modname)
+dll_list::operator[] (const PWCHAR modname)
{
dll *d = &start;
while ((d = d->next) != NULL)
@@ -176,48 +128,21 @@ dll_list::find_by_modname (const PWCHAR modname)
dll *
dll_list::alloc (HINSTANCE h, per_process *p, dll_type type)
{
- WCHAR buf[NT_MAX_PATH];
- GetModuleFileNameW (h, buf, sizeof (buf));
- PWCHAR name = buf;
- if (!wcsncmp (name, L"\\\\?\\", 4))
- {
- name += 4;
- if (!wcsncmp (name, L"UNC\\", 4))
- {
- name += 2;
- *name = L'\\';
- }
- }
+ WCHAR name[NT_MAX_PATH];
+ GetModuleFileNameW (h, name, sizeof (name));
DWORD namelen = wcslen (name);
PWCHAR modname = wcsrchr (name, L'\\') + 1;
guard (true);
- /* Already loaded? For linked DLLs, only compare the basenames. Linked
- DLLs are loaded using just the basename and the default DLL search path.
- The Windows loader picks up the first one it finds. */
- dll *d = (type == DLL_LINK) ? dlls.find_by_modname (modname) : dlls[name];
+ /* Already loaded? */
+ dll *d = dlls[modname];
if (d)
{
if (!in_forkee)
d->count++; /* Yes. Bump the usage count. */
else if (d->handle != h)
fabort ("%W: Loaded to different address: parent(%p) != child(%p)",
- name, d->handle, h);
- /* If this DLL has been linked against, and the full path differs, try
- to sanity check if this is the same DLL, just in another path. */
- else if (type == DLL_LINK && wcscasecmp (name, d->name)
- && (d->p.data_start != p->data_start
- || d->p.data_start != p->data_start
- || d->p.bss_start != p->bss_start
- || d->p.bss_end != p->bss_end
- || d->p.ctors != p->ctors
- || d->p.dtors != p->dtors))
- fabort ("\nLoaded different DLL with same basename in forked child,\n"
- "parent loaded: %W\n"
- " child loaded: %W\n"
- "The DLLs differ, so it's not safe to run the forked child.\n"
- "Make sure to remove the offending DLL before trying again.",
- d->name, name);
+ modname, d->handle, h);
d->p = p;
}
else
@@ -275,7 +200,7 @@ void dll_list::populate_deps (dll* d)
{
char* modname = pef->rva (id->Name);
sys_mbstowcs (wmodname, NT_MAX_PATH, modname);
- if (dll* dep = find_by_modname (wmodname))
+ if (dll* dep = dlls[wmodname])
{
if (d->ndeps >= maxdeps)
{
@@ -486,12 +411,6 @@ dll_list::reserve_space ()
d->modname, d->handle);
}
-/* We need the in_load_after_fork flag so dll_dllcrt0_1 can decide at fork
- time if this is a linked DLL or a dynamically loaded DLL. In either case,
- both, cygwin_finished_initializing and in_forkee are true, so they are not
- sufficient to discern the situation. */
-static bool NO_COPY in_load_after_fork;
-
/* Reload DLLs after a fork. Iterates over the list of dynamically loaded
DLLs and attempts to load them in the same place as they were loaded in the
parent. */
@@ -501,9 +420,7 @@ dll_list::load_after_fork (HANDLE parent)
// moved to frok::child for performance reasons:
// dll_list::reserve_space();
- in_load_after_fork = true;
load_after_fork_impl (parent, dlls.istart (DLL_LOAD), 0);
- in_load_after_fork = false;
}
static int const DLL_RETRY_MAX = 6;
@@ -630,7 +547,7 @@ dll_dllcrt0_1 (VOID *x)
_pei386_runtime_relocator (p);
}
- bool linked = !cygwin_finished_initializing && !in_load_after_fork;
+ bool linked = !in_forkee && !cygwin_finished_initializing;
/* Broken DLLs built against Cygwin versions 1.7.0-49 up to 1.7.0-57
override the cxx_malloc pointer in their DLL initialization code,
diff --git a/winsup/cygwin/dll_init.h b/winsup/cygwin/dll_init.h
index afe7a0e70..aa32dc08f 100644
--- a/winsup/cygwin/dll_init.h
+++ b/winsup/cygwin/dll_init.h
@@ -90,7 +90,6 @@ public:
void load_after_fork (HANDLE);
void reserve_space ();
void load_after_fork_impl (HANDLE, dll* which, int retries);
- dll *find_by_modname (const PWCHAR name);
void populate_deps (dll* d);
void topsort ();
void topsort_visit (dll* d, bool goto_tail);
diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc
index 2a9f8b078..612506e0c 100644
--- a/winsup/cygwin/dtable.cc
+++ b/winsup/cygwin/dtable.cc
@@ -12,6 +12,7 @@ details. */
#define __INSIDE_CYGWIN_NET__
#include "winsup.h"
+#include <sys/socket.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
@@ -64,11 +65,10 @@ dtable_init ()
void __stdcall
set_std_handle (int fd)
{
- fhandler_base *fh = cygheap->fdtab[fd];
if (fd == 0)
- SetStdHandle (std_consts[fd], fh ? fh->get_handle () : NULL);
+ SetStdHandle (std_consts[fd], cygheap->fdtab[fd]->get_handle ());
else if (fd <= 2)
- SetStdHandle (std_consts[fd], fh ? fh->get_output_handle () : NULL);
+ SetStdHandle (std_consts[fd], cygheap->fdtab[fd]->get_output_handle ());
}
int
@@ -242,10 +242,8 @@ dtable::release (int fd)
{
if (fds[fd]->need_fixup_before ())
dec_need_fixup_before ();
- fds[fd]->dec_refcnt ();
+ fds[fd]->refcnt (-1);
fds[fd] = NULL;
- if (fd <= 2)
- set_std_handle (fd);
}
extern "C" int
@@ -255,10 +253,8 @@ cygwin_attach_handle_to_fd (char *name, int fd, HANDLE handle, mode_t bin,
if (fd == -1)
fd = cygheap->fdtab.find_unused_handle ();
fhandler_base *fh = build_fh_name (name);
- if (!fh)
- return -1;
cygheap->fdtab[fd] = fh;
- cygheap->fdtab[fd]->inc_refcnt ();
+ cygheap->fdtab[fd]->refcnt (1);
fh->init (handle, myaccess, bin ?: fh->pc_binmode ());
return fd;
}
@@ -338,9 +334,6 @@ dtable::init_std_file_from_handle (int fd, HANDLE handle)
else
fh = build_fh_name (name);
- if (!fh)
- return;
-
if (name[0])
{
bin = fh->pc_binmode ();
@@ -397,7 +390,7 @@ dtable::init_std_file_from_handle (int fd, HANDLE handle)
fh->open_setup (openflags);
fh->usecount = 0;
cygheap->fdtab[fd] = fh;
- cygheap->fdtab[fd]->inc_refcnt ();
+ cygheap->fdtab[fd]->refcnt (1);
set_std_handle (fd);
paranoid_printf ("fd %d, handle %p", fd, handle);
}
@@ -460,6 +453,9 @@ fh_alloc (path_conv& pc)
case DEV_PTYM_MAJOR:
fh = cnew (fhandler_pty_master, pc.dev.get_minor ());
break;
+ case DEV_CYGDRIVE_MAJOR:
+ fh = cnew (fhandler_cygdrive);
+ break;
case DEV_FLOPPY_MAJOR:
case DEV_CDROM_MAJOR:
case DEV_SD_MAJOR:
@@ -482,7 +478,7 @@ fh_alloc (path_conv& pc)
fh = cnew (fhandler_console, pc.dev);
break;
default:
- switch ((DWORD) pc.dev)
+ switch ((int) pc.dev)
{
case FH_CONSOLE:
case FH_CONIN:
@@ -529,7 +525,6 @@ fh_alloc (path_conv& pc)
fh = cnew (fhandler_dev_random);
break;
case FH_MEM:
- case FH_KMEM:
case FH_PORT:
fh = cnew (fhandler_dev_mem);
break;
@@ -561,12 +556,6 @@ fh_alloc (path_conv& pc)
case FH_NETDRIVE:
fh = cnew (fhandler_netdrive);
break;
- case FH_DEV:
- fh = cnew (fhandler_dev);
- break;
- case FH_CYGDRIVE:
- fh = cnew (fhandler_cygdrive);
- break;
case FH_TTY:
if (!pc.isopen ())
{
@@ -607,15 +596,8 @@ fh_alloc (path_conv& pc)
fh = cnew (fhandler_nodevice);
else if (fh->dev () == FH_ERROR)
{
- if (!pc.isopen () && pc.dev.isfs ())
- fh->dev () = pc.dev; /* Special case: This file actually exists on
- disk and we're not trying to open it so just
- return the info from pc. */
- else
- {
- delete fh;
- fh = NULL;
- }
+ delete fh;
+ fh = NULL;
}
return fh;
}
@@ -712,15 +694,6 @@ dtable::dup3 (int oldfd, int newfd, int flags)
MALLOC_CHECK;
debug_printf ("dup3 (%d, %d, %p)", oldfd, newfd, flags);
lock ();
- bool do_unlock = true;
- bool unlock_on_return;
- if (!(flags & O_EXCL))
- unlock_on_return = true; /* Relinquish lock on return */
- else
- {
- flags &= ~O_EXCL;
- unlock_on_return = false; /* Return with lock set on success */
- }
if (not_open (oldfd))
{
@@ -772,12 +745,10 @@ dtable::dup3 (int oldfd, int newfd, int flags)
if ((res = newfd) <= 2)
set_std_handle (res);
- do_unlock = unlock_on_return;
done:
MALLOC_CHECK;
- if (do_unlock)
- unlock ();
+ unlock ();
syscall_printf ("%R = dup3(%d, %d, %p)", res, oldfd, newfd, flags);
return res;
@@ -858,17 +829,6 @@ dtable::set_file_pointers_for_exec ()
}
void
-dtable::fixup_close (size_t i, fhandler_base *fh)
-{
- if (fh->archetype)
- {
- debug_printf ("closing fd %d since it is an archetype", i);
- fh->close_with_arch ();
- }
- release (i);
-}
-
-void
dtable::fixup_after_exec ()
{
first_fd_for_open = 0;
@@ -878,11 +838,15 @@ dtable::fixup_after_exec ()
{
fh->clear_readahead ();
fh->fixup_after_exec ();
- /* Close the handle if it's close-on-exec or if an error was detected
- (typically with opening a console in a gui app) by fixup_after_exec.
- */
- if (fh->close_on_exec () || (!fh->nohandle () && !fh->get_io_handle ()))
- fixup_close (i, fh);
+ if (fh->close_on_exec ())
+ {
+ if (fh->archetype)
+ {
+ debug_printf ("closing fd %d since it is an archetype", i);
+ fh->close_with_arch ();
+ }
+ release (i);
+ }
else if (fh->get_popen_pid ())
close (i);
else if (i == 0)
@@ -903,13 +867,6 @@ dtable::fixup_after_fork (HANDLE parent)
{
debug_printf ("fd %d (%s)", i, fh->get_name ());
fh->fixup_after_fork (parent);
- if (!fh->nohandle () && !fh->get_io_handle ())
- {
- /* This should actually never happen but it's here to make sure
- we don't crash due to access of an unopened file handle. */
- fixup_close (i, fh);
- continue;
- }
}
if (i == 0)
SetStdHandle (std_consts[i], fh->get_io_handle ());
diff --git a/winsup/cygwin/dtable.h b/winsup/cygwin/dtable.h
index 7b4cd5d62..d0065f421 100644
--- a/winsup/cygwin/dtable.h
+++ b/winsup/cygwin/dtable.h
@@ -9,8 +9,6 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
-
/* Initial and increment values for cygwin's fd table */
#define NOFILE_INCR 32
/* Maximum size we allow expanding to. */
@@ -56,8 +54,6 @@ public:
fhandler_base *dup_worker (fhandler_base *oldfh, int flags);
int extend (int howmuch);
void fixup_after_fork (HANDLE);
- void fixup_close (size_t, fhandler_base *);
-
inline int not_open (int fd)
{
lock ();
@@ -89,7 +85,6 @@ public:
void fixup_before_fork (DWORD win_proc_id);
friend void dtable_init ();
friend void __stdcall close_all_files (bool);
- friend int dup_finish (int, int, int);
friend class fhandler_disk_file;
friend class cygheap_fdmanip;
friend class cygheap_fdget;
diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc
index ae3944a6c..38a190cc3 100644
--- a/winsup/cygwin/environ.cc
+++ b/winsup/cygwin/environ.cc
@@ -2,7 +2,7 @@
process's environment.
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
@@ -32,6 +32,11 @@ details. */
#include "shared_info.h"
#include "ntdll.h"
+extern bool dos_file_warning;
+extern bool ignore_case_with_glob;
+extern bool allow_winsymlinks;
+bool reset_com = false;
+
static char **lastenviron;
/* Parse CYGWIN options */
@@ -40,9 +45,8 @@ static NO_COPY bool export_settings = false;
enum settings
{
+ justset,
isfunc,
- setdword,
- setbool,
setbit
};
@@ -112,17 +116,15 @@ static struct parse_thing
} values[2];
} known[] NO_COPY =
{
- {"detect_bloda", {&detect_bloda}, setbool, NULL, {{false}, {true}}},
- {"dosfilewarning", {&dos_file_warning}, setbool, NULL, {{false}, {true}}},
+ {"dosfilewarning", {&dos_file_warning}, justset, NULL, {{false}, {true}}},
{"error_start", {func: error_start_init}, isfunc, NULL, {{0}, {0}}},
- {"export", {&export_settings}, setbool, NULL, {{false}, {true}}},
+ {"export", {&export_settings}, justset, NULL, {{false}, {true}}},
{"glob", {func: glob_init}, isfunc, NULL, {{0}, {s: "normal"}}},
- {"pipe_byte", {&pipe_byte}, setbool, NULL, {{false}, {true}}},
{"proc_retry", {func: set_proc_retry}, isfunc, NULL, {{0}, {5}}},
- {"reset_com", {&reset_com}, setbool, NULL, {{false}, {true}}},
+ {"reset_com", {&reset_com}, justset, NULL, {{false}, {true}}},
{"tty", {func: tty_is_gone}, isfunc, NULL, {{0}, {0}}},
- {"winsymlinks", {&allow_winsymlinks}, setbool, NULL, {{false}, {true}}},
- {NULL, {0}, setdword, 0, {{0}, {0}}}
+ {"winsymlinks", {&allow_winsymlinks}, justset, NULL, {{false}, {true}}},
+ {NULL, {0}, justset, 0, {{0}, {0}}}
};
/* Parse a string of the form "something=stuff somethingelse=more-stuff",
@@ -182,20 +184,13 @@ parse_options (const char *inbuf)
k->values[istrue].s : eq);
debug_printf ("%s (called func)", k->name);
break;
- case setdword:
+ case justset:
if (!istrue || !eq)
*k->setting.x = k->values[istrue].i;
else
*k->setting.x = strtol (eq, NULL, 0);
debug_printf ("%s %d", k->name, *k->setting.x);
break;
- case setbool:
- if (!istrue || !eq)
- *k->setting.b = k->values[istrue].i;
- else
- *k->setting.b = !!strtol (eq, NULL, 0);
- debug_printf ("%s%s", *k->setting.b ? "" : "no", k->name);
- break;
case setbit:
*k->setting.x &= ~k->values[istrue].i;
if (istrue || (eq && strtol (eq, NULL, 0)))
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 649574fc2..c6497f3b1 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -1,7 +1,7 @@
/* exceptions.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -19,8 +19,8 @@ details. */
#include <syslog.h>
#include <wchar.h>
-#include "cygtls.h"
#include "pinfo.h"
+#include "cygtls.h"
#include "sigproc.h"
#include "shared_info.h"
#include "perprocess.h"
@@ -37,13 +37,16 @@ details. */
char debugger_command[2 * NT_MAX_PATH + 20];
-extern "C" void sigdelayed ();
+extern "C" {
+extern void sigdelayed ();
+};
static BOOL WINAPI ctrl_c_handler (DWORD);
/* This is set to indicate that we have already exited. */
static NO_COPY int exit_already = 0;
+static muto NO_COPY mask_sync;
NO_COPY static struct
{
@@ -445,7 +448,7 @@ try_to_debug (bool waitloop)
return dbg;
}
-extern "C" void WINAPI RtlUnwind (void *, void *, PEXCEPTION_RECORD, void *);
+extern "C" DWORD __stdcall RtlUnwind (void *, void *, void *, DWORD);
static void __stdcall rtl_unwind (exception_list *, PEXCEPTION_RECORD) __attribute__ ((noinline, regparm (3)));
void __stdcall
rtl_unwind (exception_list *frame, PEXCEPTION_RECORD e)
@@ -660,7 +663,7 @@ exception::handle (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT *in, void
stackdump ((DWORD) ebp, in, e);
}
- if ((NTSTATUS) e->ExceptionCode == STATUS_ACCESS_VIOLATION)
+ if (e->ExceptionCode == STATUS_ACCESS_VIOLATION)
{
int error_code = 0;
if (si.si_code == SEGV_ACCERR) /* Address present */
@@ -672,7 +675,8 @@ exception::handle (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT *in, void
klog (LOG_INFO, "%s[%d]: segfault at %08x rip %08x rsp %08x error %d",
__progname, myself->pid,
e->ExceptionInformation[1], in->Eip, in->Esp,
- error_code);
+ ((in->Eip >= 0x61000000 && in->Eip < 0x61200000)
+ ? 0 : 4) | (e->ExceptionInformation[0] << 1));
}
/* Flag signal + core dump */
@@ -706,11 +710,11 @@ handle_sigsuspend (sigset_t tempmask)
{
sigset_t oldmask = _my_tls.sigmask; // Remember for restoration
- set_signal_mask (_my_tls.sigmask, tempmask);
+ set_signal_mask (tempmask, _my_tls.sigmask);
sigproc_printf ("oldmask %p, newmask %p", oldmask, tempmask);
pthread_testcancel ();
- cancelable_wait (NULL, cw_infinite, cw_cancel | cw_cancel_self | cw_sig_eintr);
+ cancelable_wait (signal_arrived);
set_sig_errno (EINTR); // Per POSIX
@@ -733,29 +737,31 @@ sig_handle_tty_stop (int sig)
/* Silently ignore attempts to suspend if there is no accommodating
cygwin parent to deal with this behavior. */
if (!myself->cygstarted)
- myself->process_state &= ~PID_STOPPED;
- else
{
- myself->stopsig = sig;
- myself->alert_parent (sig);
- sigproc_printf ("process %d stopped by signal %d", myself->pid, sig);
- /* FIXME! This does nothing to suspend anything other than the main
- thread. */
- DWORD res = cancelable_wait (NULL, cw_infinite, cw_sig_eintr);
- switch (res)
- {
- case WAIT_SIGNALED:
- myself->stopsig = SIGCONT;
- myself->alert_parent (SIGCONT);
- break;
- default:
- api_fatal ("WaitSingleObject returned %d", res);
- break;
- }
+ myself->process_state &= ~PID_STOPPED;
+ return;
+ }
+
+ myself->stopsig = sig;
+ myself->alert_parent (sig);
+ sigproc_printf ("process %d stopped by signal %d", myself->pid, sig);
+ HANDLE w4[2];
+ w4[0] = sigCONT;
+ w4[1] = signal_arrived;
+ switch (WaitForMultipleObjects (2, w4, TRUE, INFINITE))
+ {
+ case WAIT_OBJECT_0:
+ case WAIT_OBJECT_0 + 1:
+ myself->stopsig = SIGCONT;
+ myself->alert_parent (SIGCONT);
+ break;
+ default:
+ api_fatal ("WaitSingleObject failed, %E");
+ break;
}
_my_tls.incyg = 0;
}
-} /* end extern "C" */
+}
bool
_cygtls::interrupt_now (CONTEXT *cx, int sig, void *handler,
@@ -798,11 +804,20 @@ _cygtls::interrupt_setup (int sig, void *handler, struct sigaction& siga)
this->sig = sig; // Should always be last thing set to avoid a race
- if (incyg && signal_arrived)
- SetEvent (signal_arrived);
+ if (!event)
+ threadkill = false;
+ else
+ {
+ HANDLE h = event;
+ event = NULL;
+ SetEvent (h);
+ }
+ /* Clear any waiting threads prior to dispatching to handler function */
+ int res = SetEvent (signal_arrived); // For an EINTR case
proc_subproc (PROC_CLEARWAIT, 1);
- sigproc_printf ("armed signal_arrived %p, signal %d", signal_arrived, sig);
+ sigproc_printf ("armed signal_arrived %p, signal %d, res %d", signal_arrived,
+ sig, res);
}
extern "C" void __stdcall
@@ -850,7 +865,7 @@ setup_handler (int sig, void *handler, struct sigaction& siga, _cygtls *tls)
If the thread is already suspended (which can occur when a program
has called SuspendThread on itself) then just queue the signal. */
- sigproc_printf ("suspending thread, tls %p, _main_tls %p", tls, _main_tls);
+ sigproc_printf ("suspending thread");
res = SuspendThread (hth);
/* Just set pending if thread is already suspended */
if (res)
@@ -865,7 +880,7 @@ setup_handler (int sig, void *handler, struct sigaction& siga, _cygtls *tls)
interrupted = tls->interrupt_now (&cx, sig, handler, siga);
tls->unlock ();
- ResumeThread (hth);
+ res = ResumeThread (hth);
if (interrupted)
goto out;
@@ -981,9 +996,8 @@ ctrl_c_handler (DWORD type)
tty_min *t = cygwin_shared->tty.get_cttyp ();
/* Ignore this if we're not the process group leader since it should be handled
*by* the process group leader. */
- if (t && (!have_execed || have_execed_cygwin)
- && t->getpgid () == myself->pid &&
- (GetTickCount () - t->last_ctrl_c) >= MIN_CTRL_C_SLOP)
+ if (t && t->getpgid () == myself->pid &&
+ (GetTickCount () - t->last_ctrl_c) >= MIN_CTRL_C_SLOP)
/* Otherwise we just send a SIGINT to the process group and return TRUE (to indicate
that we have handled the signal). At this point, type should be
a CTRL_C_EVENT or CTRL_BREAK_EVENT. */
@@ -1006,7 +1020,7 @@ ctrl_c_handler (DWORD type)
extern "C" void __stdcall
set_process_mask (sigset_t newmask)
{
- set_signal_mask (_my_tls.sigmask, newmask);
+ set_signal_mask (newmask, _my_tls.sigmask);
}
extern "C" int
@@ -1019,9 +1033,11 @@ sighold (int sig)
syscall_printf ("signal %d out of range", sig);
return -1;
}
+ mask_sync.acquire (INFINITE);
sigset_t mask = _my_tls.sigmask;
sigaddset (&mask, sig);
- set_signal_mask (_my_tls.sigmask, mask);
+ set_signal_mask (mask, _my_tls.sigmask);
+ mask_sync.release ();
return 0;
}
@@ -1035,9 +1051,11 @@ sigrelse (int sig)
syscall_printf ("signal %d out of range", sig);
return -1;
}
+ mask_sync.acquire (INFINITE);
sigset_t mask = _my_tls.sigmask;
sigdelset (&mask, sig);
- set_signal_mask (_my_tls.sigmask, mask);
+ set_signal_mask (mask, _my_tls.sigmask);
+ mask_sync.release ();
return 0;
}
@@ -1055,6 +1073,7 @@ sigset (int sig, _sig_func_ptr func)
return (_sig_func_ptr) SIG_ERR;
}
+ mask_sync.acquire (INFINITE);
sigset_t mask = _my_tls.sigmask;
/* If sig was in the signal mask return SIG_HOLD, otherwise return the
previous disposition. */
@@ -1073,7 +1092,8 @@ sigset (int sig, _sig_func_ptr func)
signal (sig, func);
sigdelset (&mask, sig);
}
- set_signal_mask (_my_tls.sigmask, mask);
+ set_signal_mask (mask, _my_tls.sigmask);
+ mask_sync.release ();
return prev;
}
@@ -1084,10 +1104,11 @@ sigignore (int sig)
}
/* Update the signal mask for this process and return the old mask.
- Called from call_signal_handler */
+ Called from sigdelayed */
extern "C" sigset_t
set_process_mask_delta ()
{
+ mask_sync.acquire (INFINITE);
sigset_t newmask, oldmask;
if (_my_tls.deltamask & SIG_NONMASKABLE)
@@ -1098,35 +1119,41 @@ set_process_mask_delta ()
sigproc_printf ("oldmask %p, newmask %p, deltamask %p", oldmask, newmask,
_my_tls.deltamask);
_my_tls.sigmask = newmask;
+ mask_sync.release ();
return oldmask;
}
/* Set the signal mask for this process.
Note that some signals are unmaskable, as in UNIX. */
-
-void
-set_signal_mask (sigset_t& setmask, sigset_t newmask)
+extern "C" void __stdcall
+set_signal_mask (sigset_t newmask, sigset_t& oldmask)
{
+#ifdef CGF
+ if (&_my_tls == _sig_tls)
+ small_printf ("********* waiting in signal thread\n");
+#endif
+ mask_sync.acquire (INFINITE);
newmask &= ~SIG_NONMASKABLE;
- sigset_t mask_bits = setmask & ~newmask;
- sigproc_printf ("setmask %p, newmask %p, mask_bits %p", setmask, newmask,
+ sigset_t mask_bits = oldmask & ~newmask;
+ sigproc_printf ("oldmask %p, newmask %p, mask_bits %p", oldmask, newmask,
mask_bits);
- setmask = newmask;
+ oldmask = newmask;
if (mask_bits)
sig_dispatch_pending (true);
+ mask_sync.release ();
}
int __stdcall
sigpacket::process ()
{
- bool continue_now;
+ DWORD continue_now;
struct sigaction dummy = global_sigs[SIGSTOP];
if (si.si_signo != SIGCONT)
continue_now = false;
else
{
- continue_now = ISSTATE (myself, PID_STOPPED);
+ continue_now = myself->process_state & PID_STOPPED;
myself->stopsig = 0;
myself->process_state &= ~PID_STOPPED;
/* Clear pending stop signals */
@@ -1156,23 +1183,16 @@ sigpacket::process ()
myself->rusage_self.ru_nsignals++;
- void *handler = (void *) thissig.sa_handler;
- if (handler == SIG_IGN)
- {
- sigproc_printf ("signal %d ignored", si.si_signo);
- goto done;
- }
-
- if (have_execed)
+ bool masked;
+ void *handler;
+ if (!have_execed || (void *) thissig.sa_handler == (void *) SIG_IGN)
+ handler = (void *) thissig.sa_handler;
+ else if (tls)
+ return 1;
+ else
handler = NULL;
- if (tls)
- sigproc_printf ("using tls %p", tls);
- else
- {
- tls = cygheap->find_tls (si.si_signo);
- sigproc_printf ("using tls %p", tls);
- }
+ _cygtls *use_tls = tls ?: _main_tls;
if (si.si_signo == SIGKILL)
goto exit_sig;
@@ -1182,12 +1202,30 @@ sigpacket::process ()
goto stop;
}
- if (sigismember (&tls->sigwait_mask, si.si_signo))
+ bool insigwait_mask;
+ if ((masked = ISSTATE (myself, PID_STOPPED)))
+ insigwait_mask = false;
+ else if (tls)
+ insigwait_mask = sigismember (&tls->sigwait_mask, si.si_signo);
+ else if (!(tls = _cygtls::find_tls (si.si_signo)))
+ insigwait_mask = false;
+ else
{
- tls->sigwait_mask = 0;
- goto dosig;
+ use_tls = tls;
+ insigwait_mask = true;
}
- if (sigismember (&tls->sigmask, si.si_signo) || ISSTATE (myself, PID_STOPPED))
+
+ if (insigwait_mask)
+ goto thread_specific;
+
+ if (masked)
+ /* nothing to do */;
+ else if (sigismember (mask, si.si_signo))
+ masked = true;
+ else if (tls)
+ masked = sigismember (&tls->sigmask, si.si_signo);
+
+ if (masked)
{
sigproc_printf ("signal %d blocked", si.si_signo);
rc = -1;
@@ -1200,10 +1238,14 @@ sigpacket::process ()
if (handler == (void *) SIG_DFL)
{
+ if (insigwait_mask)
+ goto thread_specific;
if (si.si_signo == SIGCHLD || si.si_signo == SIGIO || si.si_signo == SIGCONT || si.si_signo == SIGWINCH
|| si.si_signo == SIGURG)
{
- sigproc_printf ("signal %d default is currently ignore", si.si_signo);
+ sigproc_printf ("default signal %d ignored", si.si_signo);
+ if (continue_now)
+ SetEvent (signal_arrived);
goto done;
}
@@ -1213,35 +1255,53 @@ sigpacket::process ()
goto exit_sig;
}
+ if (handler == (void *) SIG_IGN)
+ {
+ sigproc_printf ("signal %d ignored", si.si_signo);
+ goto done;
+ }
+
if (handler == (void *) SIG_ERR)
goto exit_sig;
+ use_tls->set_siginfo (this);
goto dosig;
stop:
+ /* Eat multiple attempts to STOP */
+ if (ISSTATE (myself, PID_STOPPED))
+ goto done;
handler = (void *) sig_handle_tty_stop;
thissig = dummy;
dosig:
- if (ISSTATE (myself, PID_STOPPED) && !continue_now)
- rc = -1; /* No signals delivered if stopped */
- else
- {
- tls->set_siginfo (this);
- /* Dispatch to the appropriate function. */
- sigproc_printf ("signal %d, signal handler %p", si.si_signo, handler);
- rc = setup_handler (si.si_signo, handler, thissig, tls);
- continue_now = false;
- }
+ /* Dispatch to the appropriate function. */
+ sigproc_printf ("signal %d, about to call %p", si.si_signo, handler);
+ rc = setup_handler (si.si_signo, handler, thissig, use_tls);
done:
+ tls = use_tls;
if (continue_now)
- SetEvent (tls->signal_arrived);
+ SetEvent (sigCONT);
sigproc_printf ("returning %d", rc);
return rc;
+thread_specific:
+ use_tls->sig = si.si_signo;
+ use_tls->set_siginfo (this);
+ use_tls->func = NULL;
+ sigproc_printf ("releasing sigwait for thread");
+ SetEvent (use_tls->event);
+ goto done;
+
exit_sig:
- tls->signal_exit (si.si_signo); /* never returns */
+ use_tls->signal_exit (si.si_signo); /* never returns */
+}
+
+void
+events_init ()
+{
+ mask_sync.init ("mask_sync");
}
void
@@ -1257,16 +1317,26 @@ _cygtls::call_signal_handler ()
while (1)
{
lock ();
- if (!sig)
+ if (sig)
+ pop ();
+ else if (this != _main_tls)
{
- unlock ();
- break;
- }
+ _main_tls->lock ();
+ if (_main_tls->sig && _main_tls->incyg)
+ {
+ paranoid_printf ("Redirecting to main_tls signal %d", _main_tls->sig);
+ sig = _main_tls->sig;
+ sa_flags = _main_tls->sa_flags;
+ func = _main_tls->func;
+ infodata = _main_tls->infodata;
+ _main_tls->pop ();
+ _main_tls->sig = 0;
- /* Pop the stack if the next "return address" is sigdelayed, since
- this function is doing what sigdelayed would have done anyway. */
- if (retaddr () == (__stack_t) sigdelayed)
- pop ();
+ }
+ _main_tls->unlock ();
+ }
+ if (!sig)
+ break;
debug_only_printf ("dealing with signal %d", sig);
this_sa_flags = sa_flags;
@@ -1276,12 +1346,12 @@ _cygtls::call_signal_handler ()
sigset_t this_oldmask = set_process_mask_delta ();
int this_errno = saved_errno;
sig = 0;
- reset_signal_arrived ();
unlock (); // make sure synchronized
if (!(this_sa_flags & SA_SIGINFO))
{
+ void (*sigfunc) (int) = thisfunc;
incyg = false;
- thisfunc (thissig);
+ sigfunc (thissig);
}
else
{
@@ -1292,11 +1362,12 @@ _cygtls::call_signal_handler ()
sigact (thissig, &thissi, NULL);
}
incyg = true;
- set_signal_mask (_my_tls.sigmask, this_oldmask);
+ set_signal_mask (this_oldmask, _my_tls.sigmask);
if (this_errno >= 0)
set_errno (this_errno);
}
+ unlock ();
return this_sa_flags & SA_RESTART || (this != _main_tls);
}
diff --git a/winsup/cygwin/external.cc b/winsup/cygwin/external.cc
index 22636aa53..146dda953 100644
--- a/winsup/cygwin/external.cc
+++ b/winsup/cygwin/external.cc
@@ -108,7 +108,7 @@ fillout_pinfo (pid_t pid, int winpid)
{
i = 0;
pids.reset ();
- return NULL;
+ return 0;
}
return &ep;
}
@@ -186,12 +186,10 @@ static void
exit_process (UINT status, bool useTerminateProcess)
{
pid_t pid = getpid ();
- external_pinfo *ep = fillout_pinfo (pid, 1);
+ external_pinfo * ep = fillout_pinfo (pid, 1);
DWORD dwpid = ep ? ep->dwProcessId : pid;
pinfo p (pid, PID_MAP_RW);
- if (ep)
- pid = ep->pid;
- if ((dwpid == GetCurrentProcessId()) && (p->pid == pid))
+ if ((dwpid == GetCurrentProcessId()) && (p->pid == ep->pid))
p.set_exit_code ((DWORD)status);
if (useTerminateProcess)
TerminateProcess (GetCurrentProcess(), status);
@@ -434,6 +432,7 @@ cygwin_internal (cygwin_getinfo_types t, ...)
break;
case CW_SET_DOS_FILE_WARNING:
{
+ extern bool dos_file_warning;
dos_file_warning = va_arg (arg, int);
res = 0;
}
diff --git a/winsup/cygwin/fenv.cc b/winsup/cygwin/fenv.cc
index 66513e9d2..0f1f29b73 100755
--- a/winsup/cygwin/fenv.cc
+++ b/winsup/cygwin/fenv.cc
@@ -1,6 +1,6 @@
/* fenv.cc
- Copyright 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -349,7 +349,7 @@ fesetround (int round)
unsigned int mxcsr = 0;
/* Will succeed for any valid value of the input parameter. */
- if (round < FE_TONEAREST || round > FE_TOWARDZERO)
+ if (round & ~(FE_CW_ROUND_MASK >> FE_CW_PREC_SHIFT))
return EINVAL;
/* Get control words. */
@@ -395,7 +395,7 @@ fesetprec (int prec)
unsigned short cw;
/* Will succeed for any valid value of the input parameter. */
- if (prec < FE_SINGLEPREC || prec > FE_EXTENDEDPREC)
+ if (prec & ~(FE_CW_PREC_MASK >> FE_CW_PREC_SHIFT) || prec == FE_RESERVEDPREC)
return EINVAL;
/* Get control word. */
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc
index 55a73b66e..ef25a07b8 100644
--- a/winsup/cygwin/fhandler.cc
+++ b/winsup/cygwin/fhandler.cc
@@ -14,7 +14,6 @@ details. */
#include <stdlib.h>
#include <sys/uio.h>
#include <sys/acl.h>
-#include <sys/param.h>
#include "cygerrno.h"
#include "perprocess.h"
#include "security.h"
@@ -31,7 +30,6 @@ details. */
#include "sigproc.h"
#include "shared_info.h"
#include <asm/socket.h>
-#include "cygwait.h"
#define MAX_OVERLAPPED_WRITE_LEN (64 * 1024 * 1024)
#define MIN_OVERLAPPED_WRITE_LEN (1 * 1024 * 1024)
@@ -951,7 +949,7 @@ fhandler_base::readv (const struct iovec *const iov, const int iovcnt,
char *p = buf;
while (nbytes > 0)
{
- const int frag = MIN (nbytes, (ssize_t) iovptr->iov_len);
+ const int frag = min (nbytes, (ssize_t) iovptr->iov_len);
memcpy (iovptr->iov_base, p, frag);
p += frag;
iovptr += 1;
@@ -1003,7 +1001,7 @@ fhandler_base::writev (const struct iovec *const iov, const int iovcnt,
while (nbytes != 0)
{
- const int frag = MIN (nbytes, (ssize_t) iovptr->iov_len);
+ const int frag = min (nbytes, (ssize_t) iovptr->iov_len);
memcpy (bufptr, iovptr->iov_base, frag);
bufptr += frag;
iovptr += 1;
@@ -1466,7 +1464,7 @@ fhandler_base::tcgetpgrp ()
return -1;
}
-pid_t
+int
fhandler_base::tcgetsid ()
{
set_errno (ENOTTY);
@@ -1940,7 +1938,7 @@ fhandler_base_overlapped::wait_overlapped (bool inres, bool writing, DWORD *byte
case WAIT_OBJECT_0:
err = ERROR_INVALID_HANDLE;
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
err = ERROR_INVALID_AT_INTERRUPT_TIME;
break;
default:
@@ -1983,11 +1981,7 @@ fhandler_base_overlapped::wait_overlapped (bool inres, bool writing, DWORD *byte
}
if (res == overlapped_success)
- {
- debug_printf ("normal %s, %u bytes ispipe() %d", writing ? "write" : "read", *bytes, ispipe ());
- if (*bytes == 0 && !writing && ispipe ())
- res = overlapped_nullread;
- }
+ debug_printf ("normal %s, %u bytes", writing ? "write" : "read", *bytes);
else if (res == overlapped_nonblocking_no_data)
{
*bytes = (DWORD) -1;
@@ -2025,9 +2019,6 @@ fhandler_base_overlapped::raw_read (void *ptr, size_t& len)
get_overlapped ());
switch (wait_overlapped (res, false, &nbytes, is_nonblocking ()))
{
- case overlapped_nullread:
- keep_looping = true;
- break;
default: /* Added to quiet gcc */
case overlapped_success:
case overlapped_error:
@@ -2084,7 +2075,6 @@ fhandler_base_overlapped::raw_write (const void *ptr, size_t len)
case overlapped_error:
len = 0; /* terminate loop */
case overlapped_unknown:
- case overlapped_nullread:
case overlapped_nonblocking_no_data:
break;
}
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h
index 39e1e7573..605f59b61 100644
--- a/winsup/cygwin/fhandler.h
+++ b/winsup/cygwin/fhandler.h
@@ -14,8 +14,8 @@ details. */
#include "tty.h"
/* fcntl flags used only internaly. */
-#define O_NOSYMLINK 0x080000
-#define O_DIROPEN 0x100000
+#define O_NOSYMLINK 0x080000
+#define O_DIROPEN 0x100000
/* newlib used to define O_NDELAY differently from O_NONBLOCK. Now it
properly defines both to be the same. Unfortunately, we have to
@@ -36,10 +36,6 @@ details. */
so small. http://cygwin.com/ml/cygwin/2011-03/msg00541.html */
#define DEFAULT_PIPEBUFSIZE PREFERRED_IO_BLKSIZE
-/* Used for fhandler_pipe::create. Use an available flag which will
- never be used in Cygwin for this function. */
-#define PIPE_ADD_PID FILE_FLAG_FIRST_PIPE_INSTANCE
-
extern const char *windows_device_names[];
extern struct __cygwin_perfile *perfile_table;
#define __fmode (*(user_data->fmode_ptr))
@@ -182,8 +178,11 @@ class fhandler_base
HANDLE read_state;
public:
- long inc_refcnt () {return InterlockedIncrement (&_refcnt);}
- long dec_refcnt () {return InterlockedDecrement (&_refcnt);}
+ long refcnt(long i = 0)
+ {
+ debug_only_printf ("%p, %s, i %d, refcnt %ld", this, get_name (), i, _refcnt + i);
+ return _refcnt += i;
+ }
class fhandler_base *archetype;
int usecount;
@@ -329,7 +328,6 @@ class fhandler_base
# define archetype_usecount(n) _archetype_usecount (__PRETTY_FUNCTION__, __LINE__, (n))
int close_fs () { return fhandler_base::close (); }
virtual int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2)));
- void stat_fixup (struct __stat64 *buf) __attribute__ ((regparm (2)));
int __stdcall fstat_fs (struct __stat64 *buf) __attribute__ ((regparm (2)));
private:
int __stdcall fstat_helper (struct __stat64 *buf,
@@ -385,7 +383,7 @@ public:
virtual int tcgetattr (struct termios *t);
virtual int tcsetpgrp (const pid_t pid);
virtual int tcgetpgrp ();
- virtual pid_t tcgetsid ();
+ virtual int tcgetsid ();
virtual bool is_tty () const { return false; }
virtual bool ispipe () const { return false; }
virtual pid_t get_popen_pid () const {return 0;}
@@ -558,7 +556,7 @@ class fhandler_socket: public fhandler_base
int open (int flags, mode_t mode = 0);
void __stdcall read (void *ptr, size_t& len) __attribute__ ((regparm (3)));
ssize_t __stdcall readv (const struct iovec *, int iovcnt, ssize_t tot = -1);
- inline ssize_t recv_internal (struct _WSAMSG *wsamsg, bool use_recvmsg) __attribute__ ((regparm (3)));
+ inline ssize_t recv_internal (struct _WSAMSG *wsamsg);
ssize_t recvfrom (void *ptr, size_t len, int flags,
struct sockaddr *from, int *fromlen);
ssize_t recvmsg (struct msghdr *msg, int flags);
@@ -631,7 +629,6 @@ protected:
overlapped_unknown = 0,
overlapped_success,
overlapped_nonblocking_no_data,
- overlapped_nullread,
overlapped_error
};
bool io_pending;
@@ -1018,38 +1015,6 @@ class fhandler_disk_file: public fhandler_base
}
};
-class fhandler_dev: public fhandler_disk_file
-{
- const struct device *devidx;
- bool dir_exists;
-public:
- fhandler_dev ();
- int open (int flags, mode_t mode);
- int close ();
- int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2)));
- int __stdcall fstatvfs (struct statvfs *buf) __attribute__ ((regparm (2)));
- DIR *opendir (int fd) __attribute__ ((regparm (2)));
- int readdir (DIR *, dirent *) __attribute__ ((regparm (3)));
- void rewinddir (DIR *);
-
- fhandler_dev (void *) {}
-
- void copyto (fhandler_base *x)
- {
- x->pc.free_strings ();
- *reinterpret_cast<fhandler_dev *> (x) = *this;
- x->reset (this);
- }
-
- fhandler_dev *clone (cygheap_types malloc_type = HEAP_FHANDLER)
- {
- void *ptr = (void *) ccalloc (malloc_type, 1, sizeof (fhandler_dev));
- fhandler_dev *fh = new (ptr) fhandler_dev (ptr);
- copyto (fh);
- return fh;
- }
-};
-
class fhandler_cygdrive: public fhandler_disk_file
{
enum
@@ -1069,7 +1034,6 @@ class fhandler_cygdrive: public fhandler_disk_file
void rewinddir (DIR *);
int closedir (DIR *);
int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2)));
- int __stdcall fstatvfs (struct statvfs *buf) __attribute__ ((regparm (2)));
fhandler_cygdrive (void *) {}
@@ -1191,7 +1155,7 @@ class fhandler_termios: public fhandler_base
virtual void __release_output_mutex (const char *fn, int ln) {}
void echo_erase (int force = 0);
virtual _off64_t lseek (_off64_t, int);
- pid_t tcgetsid ();
+ int tcgetsid ();
fhandler_termios (void *) {}
@@ -1289,9 +1253,6 @@ class dev_console
bool insert_mode;
int use_mouse;
- bool ext_mouse_mode5;
- bool ext_mouse_mode6;
- bool ext_mouse_mode15;
bool use_focus;
bool raw_win32_keyboard_mode;
@@ -1374,7 +1335,6 @@ private:
ssize_t __stdcall write (const void *ptr, size_t len);
void doecho (const void *str, DWORD len) { (void) write (str, len); }
int close ();
- static bool exists () {return !!GetConsoleCP ();}
int tcflush (int);
int tcsetattr (int a, const struct termios *t);
@@ -1438,7 +1398,6 @@ class fhandler_pty_common: public fhandler_termios
int close ();
_off64_t lseek (_off64_t, int);
- bool bytes_available (DWORD& n);
void set_close_on_exec (bool val);
select_record *select_read (select_stuff *);
select_record *select_write (select_stuff *);
@@ -1555,7 +1514,6 @@ public:
void fixup_after_fork (HANDLE parent);
void fixup_after_exec ();
int tcgetpgrp ();
- void flush_to_slave ();
fhandler_pty_master (void *) {}
~fhandler_pty_master ();
@@ -1721,11 +1679,11 @@ class fhandler_dev_clipboard: public fhandler_base
_off64_t pos;
void *membuffer;
size_t msize;
+ bool eof;
public:
fhandler_dev_clipboard ();
int is_windows () { return 1; }
int open (int flags, mode_t mode = 0);
- int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2)));
ssize_t __stdcall write (const void *ptr, size_t len);
void __stdcall read (void *ptr, size_t& len) __attribute__ ((regparm (3)));
_off64_t lseek (_off64_t offset, int whence);
@@ -2133,7 +2091,6 @@ typedef union
{
char __base[sizeof (fhandler_base)];
char __console[sizeof (fhandler_console)];
- char __dev[sizeof (fhandler_dev)];
char __cygdrive[sizeof (fhandler_cygdrive)];
char __dev_clipboard[sizeof (fhandler_dev_clipboard)];
char __dev_dsp[sizeof (fhandler_dev_dsp)];
diff --git a/winsup/cygwin/fhandler_clipboard.cc b/winsup/cygwin/fhandler_clipboard.cc
index 86f126c24..b8438c8a7 100644
--- a/winsup/cygwin/fhandler_clipboard.cc
+++ b/winsup/cygwin/fhandler_clipboard.cc
@@ -1,7 +1,6 @@
/* fhandler_dev_clipboard: code to access /dev/clipboard
- Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2011,
- 2012 Red Hat, Inc
+ Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2011 Red Hat, Inc
Written by Charles Wilson (cwilson@ece.gatech.edu)
@@ -33,15 +32,9 @@ static const NO_COPY WCHAR *CYGWIN_NATIVE = L"CYGWIN_NATIVE_CLIPBOARD";
/* this is MT safe because windows format id's are atomic */
static int cygnativeformat;
-typedef struct
-{
- timestruc_t timestamp;
- size_t len;
- char data[1];
-} cygcb_t;
-
fhandler_dev_clipboard::fhandler_dev_clipboard ()
- : fhandler_base (), pos (0), membuffer (NULL), msize (0)
+ : fhandler_base (), pos (0), membuffer (NULL), msize (0),
+ eof (true)
{
/* FIXME: check for errors and loop until we can open the clipboard */
OpenClipboard (NULL);
@@ -68,6 +61,7 @@ int
fhandler_dev_clipboard::open (int flags, mode_t)
{
set_flags (flags | O_TEXT);
+ eof = false;
pos = 0;
if (membuffer)
free (membuffer);
@@ -83,24 +77,20 @@ static int
set_clipboard (const void *buf, size_t len)
{
HGLOBAL hmem;
+ void *clipbuf;
/* Native CYGWIN format */
if (OpenClipboard (NULL))
{
- cygcb_t *clipbuf;
-
- hmem = GlobalAlloc (GMEM_MOVEABLE, sizeof (cygcb_t) + len);
+ hmem = GlobalAlloc (GMEM_MOVEABLE, len + sizeof (size_t));
if (!hmem)
{
__seterrno ();
CloseClipboard ();
return -1;
}
- clipbuf = (cygcb_t *) GlobalLock (hmem);
-
- clock_gettime (CLOCK_REALTIME, &clipbuf->timestamp);
- clipbuf->len = len;
- memcpy (clipbuf->data, buf, len);
-
+ clipbuf = GlobalLock (hmem);
+ memcpy ((unsigned char *) clipbuf + sizeof (size_t), buf, len);
+ *(size_t *) (clipbuf) = len;
GlobalUnlock (hmem);
EmptyClipboard ();
if (!cygnativeformat)
@@ -126,8 +116,6 @@ set_clipboard (const void *buf, size_t len)
}
if (OpenClipboard (NULL))
{
- PWCHAR clipbuf;
-
hmem = GlobalAlloc (GMEM_MOVEABLE, (len + 1) * sizeof (WCHAR));
if (!hmem)
{
@@ -135,8 +123,8 @@ set_clipboard (const void *buf, size_t len)
CloseClipboard ();
return -1;
}
- clipbuf = (PWCHAR) GlobalLock (hmem);
- sys_mbstowcs (clipbuf, len + 1, (const char *) buf);
+ clipbuf = GlobalLock (hmem);
+ sys_mbstowcs ((PWCHAR) clipbuf, len + 1, (const char *) buf);
GlobalUnlock (hmem);
HANDLE ret = SetClipboardData (CF_UNICODETEXT, hmem);
CloseClipboard ();
@@ -156,127 +144,105 @@ set_clipboard (const void *buf, size_t len)
ssize_t __stdcall
fhandler_dev_clipboard::write (const void *buf, size_t len)
{
- /* write to our membuffer */
- size_t cursize = msize;
- void *tempbuffer = realloc (membuffer, cursize + len);
- if (!tempbuffer)
- {
- debug_printf ("Couldn't realloc() clipboard buffer for write");
- return -1;
- }
- membuffer = tempbuffer;
- msize = cursize + len;
- memcpy ((unsigned char *) membuffer + cursize, buf, len);
-
- /* now pass to windows */
- if (set_clipboard (membuffer, msize))
+ if (!eof)
{
- /* FIXME: membuffer is now out of sync with pos, but msize
- is used above */
- return -1;
- }
-
- pos = msize;
- return len;
-}
+ /* write to our membuffer */
+ size_t cursize = msize;
+ void *tempbuffer = realloc (membuffer, cursize + len);
+ if (!tempbuffer)
+ {
+ debug_printf ("Couldn't realloc() clipboard buffer for write");
+ return -1;
+ }
+ membuffer = tempbuffer;
+ msize = cursize + len;
+ memcpy ((unsigned char *) membuffer + cursize, buf, len);
-int __stdcall
-fhandler_dev_clipboard::fstat (struct __stat64 *buf)
-{
- buf->st_mode = S_IFCHR | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH;
- buf->st_uid = geteuid32 ();
- buf->st_gid = getegid32 ();
- buf->st_nlink = 1;
- buf->st_blksize = PREFERRED_IO_BLKSIZE;
+ /* now pass to windows */
+ if (set_clipboard (membuffer, msize))
+ {
+ /* FIXME: membuffer is now out of sync with pos, but msize
+ is used above */
+ return -1;
+ }
- buf->st_ctim.tv_sec = 1164931200L; /* Arbitrary value: 2006-12-01 */
- buf->st_ctim.tv_nsec = 0L;
- buf->st_birthtim = buf->st_atim = buf->st_mtim = buf->st_ctim;
+ pos = msize;
- if (OpenClipboard (NULL))
+ eof = false;
+ return len;
+ }
+ else
{
- UINT formatlist[1] = { cygnativeformat };
- int format;
- HGLOBAL hglb;
- cygcb_t *clipbuf;
-
- if ((format = GetPriorityClipboardFormat (formatlist, 1)) > 0
- && (hglb = GetClipboardData (format))
- && (clipbuf = (cygcb_t *) GlobalLock (hglb)))
- {
- buf->st_atim = buf->st_mtim = clipbuf->timestamp;
- buf->st_size = clipbuf->len;
- GlobalUnlock (hglb);
- }
- CloseClipboard ();
+ /* FIXME: return 0 bytes written, file not open */
+ return 0;
}
-
- return 0;
}
void __stdcall
fhandler_dev_clipboard::read (void *ptr, size_t& len)
{
HGLOBAL hglb;
- size_t ret = 0;
+ size_t ret;
UINT formatlist[2];
int format;
- LPVOID cb_data;
+ size_t plen = len;
+ len = 0;
+ if (eof)
+ return;
if (!OpenClipboard (NULL))
+ return;
+ formatlist[0] = cygnativeformat;
+ formatlist[1] = CF_UNICODETEXT;
+ if ((format = GetPriorityClipboardFormat (formatlist, 2)) <= 0)
{
- len = 0;
+ CloseClipboard ();
return;
}
- formatlist[0] = cygnativeformat;
- formatlist[1] = CF_UNICODETEXT;
- if ((format = GetPriorityClipboardFormat (formatlist, 2)) <= 0
- || !(hglb = GetClipboardData (format))
- || !(cb_data = GlobalLock (hglb)))
+ if (!(hglb = GetClipboardData (format)))
{
CloseClipboard ();
- len = 0;
return;
}
if (format == cygnativeformat)
{
- cygcb_t *clipbuf = (cygcb_t *) cb_data;
+ unsigned char *buf;
- if (pos < clipbuf->len)
- {
- ret = ((len > (clipbuf->len - pos)) ? (clipbuf->len - pos) : len);
- memcpy (ptr, clipbuf->data + pos , ret);
- pos += ret;
+ if (!(buf = (unsigned char *) GlobalLock (hglb)))
+ {
+ CloseClipboard ();
+ return;
}
+ size_t buflen = (*(size_t *) buf);
+ ret = ((plen > (buflen - pos)) ? (buflen - pos) : plen);
+ memcpy (ptr, buf + sizeof (size_t)+ pos , ret);
+ pos += ret;
+ if (pos + plen - ret >= buflen)
+ eof = true;
}
else
{
- wchar_t *buf = (wchar_t *) cb_data;
+ int wret;
+ PWCHAR buf;
- size_t glen = GlobalSize (hglb) / sizeof (WCHAR) - 1;
- if (pos < glen)
+ if (!(buf = (PWCHAR) GlobalLock (hglb)))
{
- /* Comparing apples and oranges here, but the below loop could become
- extremly slow otherwise. We rather return a few bytes less than
- possible instead of being even more slow than usual... */
- if (glen > pos + len)
- glen = pos + len;
- /* This loop is necessary because the number of bytes returned by
- sys_wcstombs does not indicate the number of wide chars used for
- it, so we could potentially drop wide chars. */
- while ((ret = sys_wcstombs (NULL, 0, buf + pos, glen - pos))
- != (size_t) -1
- && ret > len)
- --glen;
- if (ret == (size_t) -1)
- ret = 0;
- else
- {
- ret = sys_wcstombs ((char *) ptr, (size_t) -1,
- buf + pos, glen - pos);
- pos = glen;
- }
+ CloseClipboard ();
+ return;
}
+ size_t glen = GlobalSize (hglb) / sizeof (WCHAR) - 1;
+ /* This loop is necessary because the number of bytes returned by
+ sys_wcstombs does not indicate the number of wide chars used for
+ it, so we could potentially drop wide chars. */
+ if (glen - pos > plen)
+ glen = pos + plen;
+ while ((wret = sys_wcstombs (NULL, 0, buf + pos, glen - pos)) != -1
+ && (size_t) wret > plen)
+ --glen;
+ ret = sys_wcstombs ((char *) ptr, plen, buf + pos, glen - pos);
+ pos += ret;
+ if (pos + plen - ret >= wcslen (buf))
+ eof = true;
}
GlobalUnlock (hglb);
CloseClipboard ();
@@ -303,6 +269,7 @@ fhandler_dev_clipboard::close ()
{
if (!have_execed)
{
+ eof = true;
pos = 0;
if (membuffer)
{
@@ -319,6 +286,7 @@ fhandler_dev_clipboard::fixup_after_exec ()
{
if (!close_on_exec ())
{
+ eof = false;
pos = msize = 0;
membuffer = NULL;
}
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc
index 0dcd1262b..01892f69e 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -18,7 +18,6 @@ details. */
#include <winuser.h>
#include <winnls.h>
#include <ctype.h>
-#include <sys/param.h>
#include <sys/cygwin.h>
#include <cygwin/kd.h>
#include "cygerrno.h"
@@ -36,15 +35,11 @@ details. */
#include <asm/socket.h>
#include "sync.h"
#include "child_info.h"
-#include "cygwait.h"
/* Don't make this bigger than NT_MAX_PATH as long as the temporary buffer
is allocated using tmp_pathbuf!!! */
#define CONVERT_LIMIT NT_MAX_PATH
-#define ALT_PRESSED (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED)
-#define CTRL_PRESSED (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)
-
/*
* Scroll the screen context.
* x1, y1 - ul corner
@@ -138,42 +133,34 @@ fhandler_console::set_unit ()
{
bool created;
fh_devices devset;
- lock_ttys here;
- HWND me;
- fh_devices this_unit = dev ();
- bool generic_console = this_unit == FH_CONIN || this_unit == FH_CONOUT;
if (shared_console_info)
{
+ fh_devices this_unit = dev ();
fh_devices shared_unit =
(fh_devices) shared_console_info->tty_min_state.getntty ();
+ created = false;
devset = (shared_unit == this_unit || this_unit == FH_CONSOLE
- || generic_console
+ || this_unit == FH_CONIN || this_unit == FH_CONOUT
|| this_unit == FH_TTY) ?
shared_unit : FH_ERROR;
- created = false;
}
- else if ((!generic_console && (myself->ctty != -1 && !iscons_dev (myself->ctty)))
- || !(me = GetConsoleWindow ()))
- devset = FH_ERROR;
else
{
+ HWND me = GetConsoleWindow ();
created = true;
shared_console_info = open_shared_console (me, cygheap->console_h, created);
ProtectHandleINH (cygheap->console_h);
if (created)
- shared_console_info->tty_min_state.setntty (DEV_CONS_MAJOR, console_unit (me));
+ {
+ lock_ttys here;
+ shared_console_info->tty_min_state.setntty (DEV_CONS_MAJOR, console_unit (me));
+ }
devset = (fh_devices) shared_console_info->tty_min_state.getntty ();
}
dev ().parse (devset);
if (devset != FH_ERROR)
pc.file_attributes (FILE_ATTRIBUTE_NORMAL);
- else
- {
- set_io_handle (NULL);
- set_output_handle (NULL);
- created = false;
- }
return created;
}
@@ -308,6 +295,14 @@ fhandler_console::mouse_aware (MOUSE_EVENT_RECORD& mouse_event)
return 0;
}
+ /* Check whether adjusted mouse position can be reported */
+ if (dev_state.dwMousePosition.X > 0xFF - ' ' - 1
+ || dev_state.dwMousePosition.Y > 0xFF - ' ' - 1)
+ {
+ /* Mouse position out of reporting range */
+ return 0;
+ }
+
return ((mouse_event.dwEventFlags == 0 || mouse_event.dwEventFlags == DOUBLE_CLICK)
&& mouse_event.dwButtonState != dev_state.dwLastButtonState)
|| mouse_event.dwEventFlags == MOUSE_WHEELED
@@ -356,9 +351,9 @@ fhandler_console::read (void *pv, size_t& buflen)
{
case WAIT_OBJECT_0:
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
goto sig_exit;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 2:
process_state.pop ();
pthread::static_cancel_self ();
/*NOTREACHED*/
@@ -417,6 +412,8 @@ fhandler_console::read (void *pv, size_t& buflen)
#define ich (input_rec.Event.KeyEvent.uChar.AsciiChar)
#define wch (input_rec.Event.KeyEvent.uChar.UnicodeChar)
+#define ALT_PRESSED (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED)
+#define CTRL_PRESSED (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)
/* Ignore key up events, except for left alt events with non-zero character
*/
@@ -447,13 +444,12 @@ fhandler_console::read (void *pv, size_t& buflen)
{
char c = dev_state.backspace_keycode;
nread = 0;
- if (control_key_state & ALT_PRESSED)
- {
- if (dev_state.metabit)
- c |= 0x80;
- else
- tmp[nread++] = '\e';
- }
+ if (control_key_state & ALT_PRESSED) {
+ if (dev_state.metabit)
+ c |= 0x80;
+ else
+ tmp[nread++] = '\e';
+ }
tmp[nread++] = c;
tmp[nread] = 0;
toadd = tmp;
@@ -517,6 +513,8 @@ fhandler_console::read (void *pv, size_t& buflen)
}
#undef ich
#undef wch
+#undef ALT_PRESSED
+#undef CTRL_PRESSED
break;
case MOUSE_EVENT:
@@ -544,7 +542,6 @@ fhandler_console::read (void *pv, size_t& buflen)
events at the same time. */
int b = 0;
char sz[32];
- char mode6_term = 'M';
if (mouse_event.dwEventFlags == MOUSE_WHEELED)
{
@@ -568,7 +565,7 @@ fhandler_console::read (void *pv, size_t& buflen)
{
b = dev_state.last_button_code;
}
- else if (mouse_event.dwButtonState < dev_state.dwLastButtonState && !dev_state.ext_mouse_mode6)
+ else if (mouse_event.dwButtonState < dev_state.dwLastButtonState)
{
b = 3;
strcpy (sz, "btn up");
@@ -589,10 +586,6 @@ fhandler_console::read (void *pv, size_t& buflen)
strcpy (sz, "btn3 down");
}
- if (dev_state.ext_mouse_mode6 /* distinguish release */
- && mouse_event.dwButtonState < dev_state.dwLastButtonState)
- mode6_term = 'm';
-
dev_state.last_button_code = b;
if (mouse_event.dwEventFlags == MOUSE_MOVED)
@@ -615,90 +608,34 @@ fhandler_console::read (void *pv, size_t& buflen)
dev_state.nModifiers = 0;
if (mouse_event.dwControlKeyState & SHIFT_PRESSED)
dev_state.nModifiers |= 0x4;
- if (mouse_event.dwControlKeyState & ALT_PRESSED)
+ if (mouse_event.dwControlKeyState & (RIGHT_ALT_PRESSED|LEFT_ALT_PRESSED))
dev_state.nModifiers |= 0x8;
- if (mouse_event.dwControlKeyState & CTRL_PRESSED)
+ if (mouse_event.dwControlKeyState & (RIGHT_CTRL_PRESSED|LEFT_CTRL_PRESSED))
dev_state.nModifiers |= 0x10;
/* Indicate the modifiers */
b |= dev_state.nModifiers;
/* We can now create the code. */
- if (dev_state.ext_mouse_mode6)
- {
- __small_sprintf (tmp, "\033[<%d;%d;%d%c", b,
- dev_state.dwMousePosition.X + 1,
- dev_state.dwMousePosition.Y + 1,
- mode6_term);
- nread = strlen (tmp);
- }
- else if (dev_state.ext_mouse_mode15)
- {
- __small_sprintf (tmp, "\033[%d;%d;%dM", b + 32,
- dev_state.dwMousePosition.X + 1,
- dev_state.dwMousePosition.Y + 1);
- nread = strlen (tmp);
- }
- else if (dev_state.ext_mouse_mode5)
- {
- unsigned int xcode = dev_state.dwMousePosition.X + ' ' + 1;
- unsigned int ycode = dev_state.dwMousePosition.Y + ' ' + 1;
-
- __small_sprintf (tmp, "\033[M%c", b + ' ');
- nread = 4;
- /* the neat nested encoding function of mintty
- does not compile in g++, so let's unfold it: */
- if (xcode < 0x80)
- tmp [nread++] = xcode;
- else if (xcode < 0x800)
- {
- tmp [nread++] = 0xC0 + (xcode >> 6);
- tmp [nread++] = 0x80 + (xcode & 0x3F);
- }
- else
- tmp [nread++] = 0;
- if (ycode < 0x80)
- tmp [nread++] = ycode;
- else if (ycode < 0x800)
- {
- tmp [nread++] = 0xC0 + (ycode >> 6);
- tmp [nread++] = 0x80 + (ycode & 0x3F);
- }
- else
- tmp [nread++] = 0;
- }
- else
- {
- unsigned int xcode = dev_state.dwMousePosition.X + ' ' + 1;
- unsigned int ycode = dev_state.dwMousePosition.Y + ' ' + 1;
- if (xcode >= 256)
- xcode = 0;
- if (ycode >= 256)
- ycode = 0;
- __small_sprintf (tmp, "\033[M%c%c%c", b + ' ',
- xcode, ycode);
- nread = 6; /* tmp may contain NUL bytes */
- }
- syscall_printf ("mouse: %s at (%d,%d)", sz,
- dev_state.dwMousePosition.X,
- dev_state.dwMousePosition.Y);
+ sprintf (tmp, "\033[M%c%c%c", b + ' ', dev_state.dwMousePosition.X + ' ' + 1, dev_state.dwMousePosition.Y + ' ' + 1);
+ syscall_printf ("mouse: %s at (%d,%d)", sz, dev_state.dwMousePosition.X, dev_state.dwMousePosition.Y);
toadd = tmp;
+ nread = 6;
}
}
break;
case FOCUS_EVENT:
- if (dev_state.use_focus)
- {
- if (input_rec.Event.FocusEvent.bSetFocus)
- __small_sprintf (tmp, "\033[I");
- else
- __small_sprintf (tmp, "\033[O");
-
- toadd = tmp;
- nread = 3;
- }
+ if (dev_state.use_focus) {
+ if (input_rec.Event.FocusEvent.bSetFocus)
+ sprintf (tmp, "\033[I");
+ else
+ sprintf (tmp, "\033[O");
+
+ toadd = tmp;
+ nread = 3;
+ }
break;
case WINDOW_BUFFER_SIZE_EVENT:
@@ -822,9 +759,7 @@ fhandler_console::scroll_screen (int x1, int y1, int x2, int y2, int xn, int yn)
int
fhandler_console::dup (fhandler_base *child, int flags)
{
- /* See comments in fhandler_pty_slave::dup */
- if (myself->ctty != -2)
- myself->set_ctty (this, flags);
+ myself->set_ctty (this, flags);
return 0;
}
@@ -893,8 +828,7 @@ void
fhandler_console::open_setup (int flags)
{
set_flags ((flags & ~O_TEXT) | O_BINARY);
- if (myself->set_ctty (this, flags) && !myself->cygstarted)
- init_console_handler (true);
+ myself->set_ctty (this, flags);
}
int
@@ -1571,30 +1505,22 @@ fhandler_console::char_command (char c)
case 1000: /* Mouse tracking */
dev_state.use_mouse = (c == 'h') ? 1 : 0;
+ syscall_printf ("mouse support set to mode %d", dev_state.use_mouse);
break;
case 1002: /* Mouse button event tracking */
dev_state.use_mouse = (c == 'h') ? 2 : 0;
+ syscall_printf ("mouse support set to mode %d", dev_state.use_mouse);
break;
case 1003: /* Mouse any event tracking */
dev_state.use_mouse = (c == 'h') ? 3 : 0;
+ syscall_printf ("mouse support set to mode %d", dev_state.use_mouse);
break;
case 1004: /* Focus in/out event reporting */
dev_state.use_focus = (c == 'h') ? true : false;
- break;
-
- case 1005: /* Extended mouse mode */
- dev_state.ext_mouse_mode5 = c == 'h';
- break;
-
- case 1006: /* SGR extended mouse mode */
- dev_state.ext_mouse_mode6 = c == 'h';
- break;
-
- case 1015: /* Urxvt extended mouse mode */
- dev_state.ext_mouse_mode15 = c == 'h';
+ syscall_printf ("focus reporting set to %d", dev_state.use_focus);
break;
case 2000: /* Raw keyboard mode */
@@ -1811,7 +1737,7 @@ fhandler_console::write_normal (const unsigned char *src,
if (trunc_buf.len)
{
const unsigned char *nfound;
- int cp_len = MIN (end - src, 4 - trunc_buf.len);
+ int cp_len = min (end - src, 4 - trunc_buf.len);
memcpy (trunc_buf.buf + trunc_buf.len, src, cp_len);
memset (&ps, 0, sizeof ps);
switch (ret = f_mbtowc (_REENT, NULL, (const char *) trunc_buf.buf,
@@ -2012,7 +1938,8 @@ fhandler_console::write (const void *vsrc, size_t len)
while (src < end)
{
- paranoid_printf ("char %0c state is %d", *src, dev_state.state_);
+ debug_printf ("at %d(%c) state is %d", *src, isprint (*src) ? *src : ' ',
+ dev_state.state_);
switch (dev_state.state_)
{
case normal:
@@ -2223,13 +2150,15 @@ get_nonascii_key (INPUT_RECORD& input_rec, char *tmp)
int modifier_index = NORMAL;
if (input_rec.Event.KeyEvent.dwControlKeyState & SHIFT_PRESSED)
modifier_index = SHIFT;
- if (input_rec.Event.KeyEvent.dwControlKeyState & CTRL_PRESSED)
+ if (input_rec.Event.KeyEvent.dwControlKeyState &
+ (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED))
modifier_index += CONTROL;
for (int i = 0; keytable[i].vk; i++)
if (input_rec.Event.KeyEvent.wVirtualKeyCode == keytable[i].vk)
{
- if ((input_rec.Event.KeyEvent.dwControlKeyState & ALT_PRESSED)
+ if ((input_rec.Event.KeyEvent.dwControlKeyState &
+ (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED))
&& keytable[i].val[modifier_index] != NULL)
{ /* Generic ESC prefixing if Alt is pressed */
tmp[0] = '\033';
@@ -2430,7 +2359,7 @@ bool
fhandler_console::need_invisible ()
{
BOOL b = false;
- if (exists ())
+ if (GetConsoleCP ())
invisible_console = false;
else
{
diff --git a/winsup/cygwin/fhandler_dev.cc b/winsup/cygwin/fhandler_dev.cc
deleted file mode 100644
index 9d8750436..000000000
--- a/winsup/cygwin/fhandler_dev.cc
+++ /dev/null
@@ -1,230 +0,0 @@
-/* fhandler_dev.cc, Implement /dev.
-
- Copyright 2012 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include "winsup.h"
-#include <stdlib.h>
-#include <sys/statvfs.h>
-#include "path.h"
-#include "fhandler.h"
-#include "dtable.h"
-#include "cygheap.h"
-#include "devices.h"
-
-#define _COMPILING_NEWLIB
-#include <dirent.h>
-
-#define dev_prefix_len (sizeof ("/dev"))
-#define dev_storage_scan_start (dev_storage + 1)
-#define dev_storage_size (dev_storage_end - dev_storage_scan_start)
-
-static int
-device_cmp (const void *a, const void *b)
-{
- return strcmp (((const device *) a)->name,
- ((const device *) b)->name + dev_prefix_len);
-}
-
-fhandler_dev::fhandler_dev () :
- fhandler_disk_file (), devidx (NULL), dir_exists (true)
-{
-}
-
-int
-fhandler_dev::open (int flags, mode_t mode)
-{
- if ((flags & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL))
- {
- set_errno (EEXIST);
- return 0;
- }
- if (flags & O_WRONLY)
- {
- set_errno (EISDIR);
- return 0;
- }
- int ret = fhandler_disk_file::open (flags, mode);
- if (!ret)
- {
- flags |= O_DIROPEN;
- set_flags (flags);
- nohandle (true);
- }
- return 1;
-}
-
-int
-fhandler_dev::close ()
-{
- if (nohandle ())
- return 0;
- return fhandler_disk_file::close ();
-}
-
-int
-fhandler_dev::fstat (struct __stat64 *st)
-{
- /* If /dev really exists on disk, return correct disk information. */
- if (pc.fs_got_fs ())
- return fhandler_disk_file::fstat (st);
- /* Otherwise fake virtual filesystem. */
- fhandler_base::fstat (st);
- st->st_ino = 2;
- st->st_mode = S_IFDIR | STD_RBITS | STD_XBITS;
- st->st_nlink = 1;
- return 0;
-}
-
-int __stdcall
-fhandler_dev::fstatvfs (struct statvfs *sfs)
-{
- int ret = -1, opened = 0;
- HANDLE fh = get_handle ();
-
- if (!fh && !nohandle ())
- {
- if (!open (O_RDONLY, 0))
- return -1;
- opened = 1;
- }
- if (!nohandle ())
- {
- ret = fhandler_disk_file::fstatvfs (sfs);
- goto out;
- }
- /* Virtual file system. Just return an empty buffer with a few values
- set to something useful. Just as on Linux. */
- memset (sfs, 0, sizeof (*sfs));
- sfs->f_bsize = sfs->f_frsize = 4096;
- sfs->f_namemax = NAME_MAX;
- ret = 0;
-
-out:
- if (opened)
- close ();
- return ret;
-}
-
-DIR *
-fhandler_dev::opendir (int fd)
-{
- DIR *dir;
- DIR *res = NULL;
-
- dir = fhandler_disk_file::opendir (fd);
- if (dir)
- return dir;
- if ((dir = (DIR *) malloc (sizeof (DIR))) == NULL)
- set_errno (ENOMEM);
- else if ((dir->__d_dirent =
- (struct dirent *) malloc (sizeof (struct dirent))) == NULL)
- {
- set_errno (ENOMEM);
- goto free_dir;
- }
- else
- {
- cygheap_fdnew cfd;
- if (cfd < 0 && fd < 0)
- goto free_dirent;
-
- dir->__d_dirname = NULL;
- dir->__d_dirent->__d_version = __DIRENT_VERSION;
- dir->__d_cookie = __DIRENT_COOKIE;
- dir->__handle = INVALID_HANDLE_VALUE;
- dir->__d_position = 0;
- dir->__flags = 0;
- dir->__d_internal = 0;
-
- if (fd >= 0)
- dir->__d_fd = fd;
- else
- {
- cfd = this;
- dir->__d_fd = cfd;
- cfd->nohandle (true);
- }
- set_close_on_exec (true);
- dir->__fh = this;
- devidx = dev_storage_scan_start;
- res = dir;
- }
-
- syscall_printf ("%p = opendir (%s)", res, get_name ());
- return res;
-
-free_dirent:
- free (dir->__d_dirent);
-free_dir:
- free (dir);
- return res;
-}
-
-int
-fhandler_dev::readdir (DIR *dir, dirent *de)
-{
- int ret;
- const device *curdev;
- device dev;
-
- if (!devidx)
- {
- while ((ret = fhandler_disk_file::readdir (dir, de)) == 0)
- {
- /* Avoid to print devices for which users have created files under
- /dev already, for instance by using the old script from Igor
- Peshansky. */
- dev.name = de->d_name;
- if (!bsearch (&dev, dev_storage_scan_start, dev_storage_size,
- sizeof dev, device_cmp))
- break;
- }
- if (ret != ENMFILE)
- goto out;
- devidx = dev_storage_scan_start;
- }
-
- /* Now start processing our internal dev table. */
- ret = ENMFILE;
- while ((curdev = devidx++) < dev_storage_end)
- {
- /* If exists returns < 0 it means that the device can be used by a
- program but its use is deprecated and, so, it is not returned
- by readdir((). */
- if (curdev->exists () <= 0)
- continue;
- ++dir->__d_position;
- strcpy (de->d_name, curdev->name + dev_prefix_len);
- if (curdev->get_major () == DEV_TTY_MAJOR
- && (curdev->is_device (FH_CONIN)
- || curdev->is_device (FH_CONOUT)
- || curdev->is_device (FH_CONSOLE)))
- {
- /* Make sure conin, conout, and console have the same inode number
- as the current consX. */
- de->d_ino = myself->ctty;
- }
- else
- de->d_ino = curdev->get_device ();
- de->d_type = curdev->type ();
- ret = 0;
- break;
- }
-
-out:
- debug_printf ("returning %d", ret);
- return ret;
-}
-
-void
-fhandler_dev::rewinddir (DIR *dir)
-{
- devidx = dir_exists ? NULL : dev_storage_scan_start;
- fhandler_disk_file::rewinddir (dir);
-}
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index 8ed8a8155..1fe12b0a2 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -26,7 +26,6 @@ details. */
#include "pwdgrp.h"
#include <winioctl.h>
#include <lm.h>
-#include "devices.h"
#define _COMPILING_NEWLIB
#include <dirent.h>
@@ -37,12 +36,11 @@ class __DIR_mounts
const char *parent_dir;
int parent_dir_len;
UNICODE_STRING mounts[MAX_MOUNTS];
- bool found[MAX_MOUNTS + 3];
+ bool found[MAX_MOUNTS + 2];
UNICODE_STRING cygdrive;
#define __DIR_PROC (MAX_MOUNTS)
#define __DIR_CYGDRIVE (MAX_MOUNTS+1)
-#define __DIR_DEV (MAX_MOUNTS+2)
__ino64_t eval_ino (int idx)
{
@@ -86,11 +84,6 @@ public:
found[__DIR_PROC] = true;
return 2;
}
- if (RtlEqualUnicodeString (fname, &ro_u_dev, FALSE))
- {
- found[__DIR_DEV] = true;
- return 2;
- }
if (fname->Length / sizeof (WCHAR) == mount_table->cygdrive_len - 2
&& RtlEqualUnicodeString (fname, &cygdrive, FALSE))
{
@@ -128,13 +121,6 @@ public:
*retname = ro_u_proc;
return 2;
}
- if (!found[__DIR_DEV])
- {
- found[__DIR_DEV] = true;
- if (retname)
- *retname = ro_u_dev;
- return 2;
- }
if (!found[__DIR_CYGDRIVE])
{
found[__DIR_CYGDRIVE] = true;
@@ -154,26 +140,11 @@ public:
inline bool
path_conv::isgood_inode (__ino64_t ino) const
{
- /* If the FS doesn't support nonambiguous inode numbers anyway, bail out
- immediately. */
- if (!hasgood_inode ())
- return false;
- /* If the inode numbers are 64 bit numbers or if it's a local FS, they
- are to be trusted. */
- if (ino > UINT32_MAX || !isremote ())
- return true;
- /* The inode numbers returned from a remote NT4 NTFS are ephemeral
- 32 bit numbers. */
- if (fs_is_ntfs ())
- return false;
- /* Starting with version 3.5.4, Samba returns the real inode numbers, if
- the file is on the same device as the root of the share (Samba function
- get_FileIndex). 32 bit inode numbers returned by older versions (likely
- < 3.0) are ephemeral. */
- if (fs_is_samba () && fs.samba_version () < 0x03050400)
- return false;
- /* Otherwise, trust the inode numbers unless proved otherwise. */
- return true;
+ /* We can't trust remote inode numbers of only 32 bit. That means,
+ remote NT4 NTFS, as well as shares of Samba version < 3.0.
+ The known exception are SFU NFS shares, which return the valid 32 bit
+ inode number from the remote file system unchanged. */
+ return hasgood_inode () && (ino > UINT32_MAX || !isremote () || fs_is_nfs ());
}
/* Check reparse point for type. IO_REPARSE_TAG_MOUNT_POINT types are
@@ -523,7 +494,7 @@ fhandler_base::fstat_helper (struct __stat64 *buf,
: (PFILETIME) &pfnoi->LastWriteTime,
&buf->st_ctim);
to_timestruc_t ((PFILETIME) &pfnoi->CreationTime, &buf->st_birthtim);
- buf->st_dev = get_dev ();
+ buf->st_rdev = buf->st_dev = get_dev ();
/* CV 2011-01-13: Observations on the Cygwin mailing list point to an
interesting behaviour in some Windows versions. Apparently the size of
a directory is computed at the time the directory is first scanned. This
@@ -984,6 +955,7 @@ fhandler_disk_file::facl (int cmd, int nentries, __aclent32_t *aclbufp)
cant_access_acl:
switch (cmd)
{
+ struct __stat64 st;
case SETACL:
/* Open for writing required to be able to set ctime
@@ -999,7 +971,6 @@ cant_access_acl:
set_errno (ENOSPC);
else
{
- struct __stat64 st;
if (!fstat (&st))
{
aclbufp[0].a_type = USER_OBJ;
@@ -1283,8 +1254,7 @@ fhandler_disk_file::link (const char *newpath)
status = NtSetInformationFile (fh, &io, pfli, size, FileLinkInformation);
if (!NT_SUCCESS (status))
{
- if (status == STATUS_INVALID_DEVICE_REQUEST
- || status == STATUS_NOT_SUPPORTED)
+ if (status == STATUS_INVALID_DEVICE_REQUEST)
{
/* FS doesn't support hard links. Linux returns EPERM. */
set_errno (EPERM);
@@ -2428,17 +2398,6 @@ fhandler_cygdrive::fstat (struct __stat64 *buf)
return 0;
}
-int __stdcall
-fhandler_cygdrive::fstatvfs (struct statvfs *sfs)
-{
- /* Virtual file system. Just return an empty buffer with a few values
- set to something useful. Just as on Linux. */
- memset (sfs, 0, sizeof (*sfs));
- sfs->f_bsize = sfs->f_frsize = 4096;
- sfs->f_namemax = NAME_MAX;
- return 0;
-}
-
DIR *
fhandler_cygdrive::opendir (int fd)
{
diff --git a/winsup/cygwin/fhandler_dsp.cc b/winsup/cygwin/fhandler_dsp.cc
index b16606615..1cb3b465e 100644
--- a/winsup/cygwin/fhandler_dsp.cc
+++ b/winsup/cygwin/fhandler_dsp.cc
@@ -21,7 +21,6 @@ details. */
#include "dtable.h"
#include "cygheap.h"
#include "sigproc.h"
-#include "cygwait.h"
/*------------------------------------------------------------------------
Simple encapsulation of the win32 audio device.
@@ -545,14 +544,14 @@ fhandler_dev_dsp::Audio_out::waitforspace ()
debug_printf ("100ms");
switch (cygwait (100))
{
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0:
if (!_my_tls.call_signal_handler ())
{
set_errno (EINTR);
return false;
}
break;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 1:
pthread::static_cancel_self ();
/*NOTREACHED*/
default:
@@ -923,14 +922,14 @@ fhandler_dev_dsp::Audio_in::waitfordata ()
debug_printf ("100ms");
switch (cygwait (100))
{
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0:
if (!_my_tls.call_signal_handler ())
{
set_errno (EINTR);
return false;
}
break;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 1:
pthread::static_cancel_self ();
/*NOTREACHED*/
default:
diff --git a/winsup/cygwin/fhandler_fifo.cc b/winsup/cygwin/fhandler_fifo.cc
index d2b236d5c..0e2d2bde4 100644
--- a/winsup/cygwin/fhandler_fifo.cc
+++ b/winsup/cygwin/fhandler_fifo.cc
@@ -22,7 +22,6 @@
#include "cygtls.h"
#include "shared_info.h"
#include "ntdll.h"
-#include "cygwait.h"
fhandler_fifo::fhandler_fifo ():
fhandler_base_overlapped (),
@@ -243,14 +242,6 @@ fhandler_fifo::wait (HANDLE h)
case WAIT_OBJECT_0:
debug_only_printf ("successfully waited for %s", what);
return true;
- case WAIT_SIGNALED:
- debug_only_printf ("interrupted by signal while waiting for %s", what);
- set_errno (EINTR);
- return false;
- case WAIT_CANCELED:
- debug_only_printf ("cancellable interruption while waiting for %s", what);
- pthread::static_cancel_self (); /* never returns */
- break;
case WAIT_TIMEOUT:
if (h == write_ready)
{
@@ -263,6 +254,14 @@ fhandler_fifo::wait (HANDLE h)
return false;
}
break;
+ case WAIT_OBJECT_0 + 1:
+ debug_only_printf ("interrupted by signal while waiting for %s", what);
+ set_errno (EINTR);
+ return false;
+ case WAIT_OBJECT_0 + 2:
+ debug_only_printf ("cancellable interruption while waiting for %s", what);
+ pthread::static_cancel_self (); /* never returns */
+ break;
default:
debug_only_printf ("unknown error while waiting for %s", what);
__seterrno ();
diff --git a/winsup/cygwin/fhandler_floppy.cc b/winsup/cygwin/fhandler_floppy.cc
index 0caca96e8..070a30ab5 100644
--- a/winsup/cygwin/fhandler_floppy.cc
+++ b/winsup/cygwin/fhandler_floppy.cc
@@ -2,7 +2,7 @@
fhandler classes.
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2011, 2012 Red Hat, Inc.
+ 2009, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -13,7 +13,6 @@ details. */
#include "winsup.h"
#include <alloca.h>
#include <unistd.h>
-#include <sys/param.h>
#include <winioctl.h>
#include <cygwin/rdevio.h>
#include <cygwin/hdreg.h>
@@ -447,7 +446,7 @@ fhandler_dev_floppy::raw_read (void *ptr, size_t& ulen)
{
if (devbufstart < devbufend)
{
- bytes_to_read = MIN (len, devbufend - devbufstart);
+ bytes_to_read = min (len, devbufend - devbufstart);
debug_printf ("read %d bytes from buffer (rest %d)",
bytes_to_read,
devbufend - devbufstart - bytes_to_read);
diff --git a/winsup/cygwin/fhandler_mem.cc b/winsup/cygwin/fhandler_mem.cc
index 6b3431bbb..c3c442ebd 100644
--- a/winsup/cygwin/fhandler_mem.cc
+++ b/winsup/cygwin/fhandler_mem.cc
@@ -1,7 +1,7 @@
/* fhandler_mem.cc. See fhandler.h for a description of the fhandler classes.
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009,
- 2010, 2011, 2012 Red Hat, Inc.
+ 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -36,7 +36,7 @@ fhandler_dev_mem::open (int flags, mode_t)
if (!wincap.has_physical_mem_access ())
{
- set_errno (EACCES);
+ set_errno (ENOENT);
debug_printf ("%s is accessible under NT4/W2K/XP only", dev ().name);
return 0;
}
diff --git a/winsup/cygwin/fhandler_nodevice.cc b/winsup/cygwin/fhandler_nodevice.cc
index 39842d394..4ffe2c447 100644
--- a/winsup/cygwin/fhandler_nodevice.cc
+++ b/winsup/cygwin/fhandler_nodevice.cc
@@ -15,14 +15,10 @@ details. */
#include "fhandler.h"
int
-fhandler_nodevice::open (int flags, mode_t)
+fhandler_nodevice::open (int, mode_t)
{
if (!pc.error)
set_errno (ENXIO);
- /* Fixup EROFS error returned from path_conv if /dev is not backed by real
- directory on disk and the file doesn't exist. */
- else if (pc.error == EROFS && (flags & O_ACCMODE) == O_RDONLY)
- set_errno (ENOENT);
return 0;
}
diff --git a/winsup/cygwin/fhandler_process.cc b/winsup/cygwin/fhandler_process.cc
index 42beef0e2..12ba292c7 100644
--- a/winsup/cygwin/fhandler_process.cc
+++ b/winsup/cygwin/fhandler_process.cc
@@ -1,7 +1,7 @@
/* fhandler_process.cc: fhandler for /proc/<pid> virtual filesystem
Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2011, 2012 Red Hat, Inc.
+ 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -27,7 +27,6 @@ details. */
#include "pwdgrp.h"
#include "mount.h"
#include "tls_pbuf.h"
-#include <sys/sysmacros.h>
#include <sys/param.h>
#include <ctype.h>
@@ -52,7 +51,6 @@ static _off64_t format_process_gid (void *, char *&);
static _off64_t format_process_ctty (void *, char *&);
static _off64_t format_process_fd (void *, char *&);
static _off64_t format_process_mounts (void *, char *&);
-static _off64_t format_process_mountinfo (void *, char *&);
static const virt_tab_t process_tab[] =
{
@@ -66,7 +64,6 @@ static const virt_tab_t process_tab[] =
{ _VN ("fd"), FH_PROCESSFD, virt_directory, format_process_fd },
{ _VN ("gid"), FH_PROCESS, virt_file, format_process_gid },
{ _VN ("maps"), FH_PROCESS, virt_file, format_process_maps },
- { _VN ("mountinfo"), FH_PROCESS, virt_file, format_process_mountinfo },
{ _VN ("mounts"), FH_PROCESS, virt_file, format_process_mounts },
{ _VN ("pgid"), FH_PROCESS, virt_file, format_process_pgid },
{ _VN ("ppid"), FH_PROCESS, virt_file, format_process_ppid },
@@ -1159,7 +1156,7 @@ extern "C" {
};
static _off64_t
-format_process_mountstuff (void *data, char *&destbuf, bool mountinfo)
+format_process_mounts (void *data, char *&destbuf)
{
_pinfo *p = (_pinfo *) data;
user_info *u_shared = NULL;
@@ -1167,7 +1164,7 @@ format_process_mountstuff (void *data, char *&destbuf, bool mountinfo)
_off64_t len = 0;
struct mntent *mnt;
- if (p->uid != myself->uid)
+ if (p->pid != myself->pid)
{
WCHAR sid_string[UNLEN + 1] = L""; /* Large enough for SID */
@@ -1184,58 +1181,26 @@ format_process_mountstuff (void *data, char *&destbuf, bool mountinfo)
}
else
u_shared = user_shared;
- mount_info *mtab = &u_shared->mountinfo;
/* Store old value of _my_tls.locals here. */
int iteration = _my_tls.locals.iteration;
unsigned available_drives = _my_tls.locals.available_drives;
/* This reinitializes the above values in _my_tls. */
setmntent (NULL, NULL);
- /* Restore iteration immediately since it's not used below. We use the
- local iteration variable instead*/
- _my_tls.locals.iteration = iteration;
-
- for (iteration = 0; (mnt = mtab->getmntent (iteration)); ++iteration)
+ while ((mnt = getmntent (NULL)))
{
- /* We have no access to the drives mapped into another user session and
- _my_tls.locals.available_drives contains the mappings of the current
- user. So, when printing the mount table of another user, we check
- each cygdrive entry if it's a remote drive. If so, ignore it. */
- if (iteration >= mtab->nmounts && u_hdl)
- {
- WCHAR drive[3] = { mnt->mnt_fsname[0], L':', L'\0' };
- disk_type dt = get_disk_type (drive);
-
- if (dt == DT_SHARE_SMB || dt == DT_SHARE_NFS)
- continue;
- }
destbuf = (char *) crealloc_abort (destbuf, len
+ strlen (mnt->mnt_fsname)
+ strlen (mnt->mnt_dir)
+ strlen (mnt->mnt_type)
+ strlen (mnt->mnt_opts)
- + 30);
- if (mountinfo)
- {
- path_conv pc (mnt->mnt_dir, PC_SYM_NOFOLLOW | PC_POSIX);
- dev_t dev = pc.exists () ? pc.fs_serial_number () : -1;
-
- len += __small_sprintf (destbuf + len,
- "%d %d %d:%d / %s %s - %s %s %s\n",
- iteration, iteration,
- major (dev), minor (dev),
- mnt->mnt_dir, mnt->mnt_opts,
- mnt->mnt_type, mnt->mnt_fsname,
- (pc.fs_flags () & FILE_READ_ONLY_VOLUME)
- ? "ro" : "rw");
- }
- else
- len += __small_sprintf (destbuf + len, "%s %s %s %s %d %d\n",
- mnt->mnt_fsname, mnt->mnt_dir, mnt->mnt_type,
- mnt->mnt_opts, mnt->mnt_freq, mnt->mnt_passno);
+ + 28);
+ len += __small_sprintf (destbuf + len, "%s %s %s %s %d %d\n",
+ mnt->mnt_fsname, mnt->mnt_dir, mnt->mnt_type,
+ mnt->mnt_opts, mnt->mnt_freq, mnt->mnt_passno);
}
-
- /* Restore available_drives */
+ /* Restore old value of _my_tls.locals here. */
+ _my_tls.locals.iteration = iteration;
_my_tls.locals.available_drives = available_drives;
if (u_hdl) /* Only not-NULL if open_shared has been called. */
@@ -1246,18 +1211,6 @@ format_process_mountstuff (void *data, char *&destbuf, bool mountinfo)
return len;
}
-static _off64_t
-format_process_mounts (void *data, char *&destbuf)
-{
- return format_process_mountstuff (data, destbuf, false);
-}
-
-static _off64_t
-format_process_mountinfo (void *data, char *&destbuf)
-{
- return format_process_mountstuff (data, destbuf, true);
-}
-
int
get_process_state (DWORD dwProcessId)
{
diff --git a/winsup/cygwin/fhandler_procnet.cc b/winsup/cygwin/fhandler_procnet.cc
index 21af9fe35..836bf33b8 100644
--- a/winsup/cygwin/fhandler_procnet.cc
+++ b/winsup/cygwin/fhandler_procnet.cc
@@ -1,6 +1,6 @@
/* fhandler_procnet.cc: fhandler for /proc/net virtual filesystem
- Copyright 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -9,7 +9,7 @@ Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
#define __INSIDE_CYGWIN_NET__
-#define USE_SYS_TYPES_FD_SET
+
#include "winsup.h"
#include "cygerrno.h"
#include "security.h"
@@ -18,9 +18,13 @@ details. */
#include "fhandler_virtual.h"
#include "dtable.h"
#include "cygheap.h"
-#include <ws2tcpip.h>
+
+#include <netdb.h>
+#define USE_SYS_TYPES_FD_SET
+#include <winsock2.h>
#include <iphlpapi.h>
#include <asm/byteorder.h>
+#include <cygwin/in6.h>
#define _COMPILING_NEWLIB
#include <dirent.h>
diff --git a/winsup/cygwin/fhandler_registry.cc b/winsup/cygwin/fhandler_registry.cc
index 787922962..e0e595f19 100644
--- a/winsup/cygwin/fhandler_registry.cc
+++ b/winsup/cygwin/fhandler_registry.cc
@@ -77,12 +77,10 @@ static const HKEY registry_keys[] =
static const int ROOT_KEY_COUNT = sizeof (registry_keys) / sizeof (HKEY);
-#ifndef __MINGW64_VERSION_MAJOR
extern "C" {
LONG WINAPI RegOpenUserClassesRoot (HANDLE, DWORD, REGSAM, PHKEY);
LONG WINAPI RegOpenCurrentUser (REGSAM, PHKEY);
};
-#endif
/* Make sure to access the correct per-user HKCR and HKCU hives, even if
the current user is only impersonated in another user's session. */
@@ -850,7 +848,6 @@ fhandler_registry::open (int flags, mode_t mode)
{
set_errno (EROFS);
res = 0;
- goto out;
}
else
{
diff --git a/winsup/cygwin/fhandler_serial.cc b/winsup/cygwin/fhandler_serial.cc
index 96b4062f1..5a53a11fd 100644
--- a/winsup/cygwin/fhandler_serial.cc
+++ b/winsup/cygwin/fhandler_serial.cc
@@ -1,7 +1,7 @@
/* fhandler_serial.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -11,7 +11,6 @@ details. */
#include "winsup.h"
#include <unistd.h>
-#include <sys/param.h>
#include "cygerrno.h"
#include "security.h"
#include "path.h"
@@ -19,13 +18,7 @@ details. */
#include "sigproc.h"
#include "pinfo.h"
#include <asm/socket.h>
-#ifdef __MINGW64_VERSION_MAJOR
-#include <devioctl.h>
-#include <ntddser.h>
-#else
#include <ddk/ntddser.h>
-#endif
-#include "cygwait.h"
/**********************************************************************/
/* fhandler_serial */
@@ -51,7 +44,7 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen)
int tot;
DWORD n;
- size_t minchars = vmin_ ? MIN (vmin_, ulen) : ulen;
+ size_t minchars = vmin_ ? min (vmin_, ulen) : ulen;
debug_printf ("ulen %d, vmin_ %d, vtime_ %d, hEvent %p", ulen, vmin_, vtime_,
io_status.hEvent);
@@ -77,7 +70,7 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen)
termios_printf ("error detected %x", ev);
else if (st.cbInQue && !vtime_)
inq = st.cbInQue;
- else if (!is_nonblocking () && !overlapped_armed)
+ else if (!overlapped_armed)
{
if ((size_t) tot >= minchars)
break;
@@ -89,6 +82,16 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen)
}
else if (GetLastError () != ERROR_IO_PENDING)
goto err;
+ else if (is_nonblocking ())
+ {
+ PurgeComm (get_handle (), PURGE_RXABORT);
+ if (tot == 0)
+ {
+ tot = -1;
+ set_errno (EAGAIN);
+ }
+ goto out;
+ }
else
{
overlapped_armed = 1;
@@ -100,13 +103,13 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen)
goto err;
debug_printf ("n %d, ev %x", n, ev);
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
tot = -1;
PurgeComm (get_handle (), PURGE_RXABORT);
overlapped_armed = 0;
set_sig_errno (EINTR);
goto out;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 2:
PurgeComm (get_handle (), PURGE_RXABORT);
overlapped_armed = 0;
pthread::static_cancel_self ();
@@ -128,14 +131,7 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen)
goto err;
else if (is_nonblocking ())
{
- /* Use CancelIo rather than PurgeComm (PURGE_RXABORT) since
- PurgeComm apparently discards in-flight bytes while CancelIo
- only stops the overlapped IO routine. */
- CancelIo (get_handle ());
- if (GetOverlappedResult (get_handle (), &io_status, &n, FALSE))
- tot = n;
- else if (GetLastError () != ERROR_OPERATION_ABORTED)
- goto err;
+ PurgeComm (get_handle (), PURGE_RXABORT);
if (tot == 0)
{
tot = -1;
@@ -207,12 +203,12 @@ fhandler_serial::raw_write (const void *ptr, size_t len)
{
case WAIT_OBJECT_0:
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
PurgeComm (get_handle (), PURGE_TXABORT);
set_sig_errno (EINTR);
ForceCloseHandle (write_status.hEvent);
return -1;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 2:
PurgeComm (get_handle (), PURGE_TXABORT);
pthread::static_cancel_self ();
/*NOTREACHED*/
@@ -247,6 +243,7 @@ fhandler_serial::open (int flags, mode_t mode)
{
int res;
COMMTIMEOUTS to;
+ extern BOOL reset_com;
syscall_printf ("fhandler_serial::open (%s, %p, %p)",
get_name (), flags, mode);
diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc
index a11c7efbe..17d98dc38 100644
--- a/winsup/cygwin/fhandler_socket.cc
+++ b/winsup/cygwin/fhandler_socket.cc
@@ -1,7 +1,7 @@
/* fhandler_socket.cc. See fhandler.h for a description of the fhandler classes.
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -12,29 +12,31 @@
/* #define DEBUG_NEST_ON 1 */
#define __INSIDE_CYGWIN_NET__
-#define USE_SYS_TYPES_FD_SET
#include "winsup.h"
+#include <sys/un.h>
+#include <asm/byteorder.h>
+
+#include <stdlib.h>
+#define USE_SYS_TYPES_FD_SET
+#include <winsock2.h>
+#include <mswsock.h>
+#include <iphlpapi.h>
#include "cygerrno.h"
#include "security.h"
+#include "cygwin/version.h"
+#include "perprocess.h"
#include "path.h"
#include "fhandler.h"
#include "dtable.h"
#include "cygheap.h"
-#include <ws2tcpip.h>
-#include <mswsock.h>
-#include <iphlpapi.h>
-#include <asm/byteorder.h>
-#include "cygwin/version.h"
-#include "perprocess.h"
#include "shared_info.h"
#include "sigproc.h"
#include "wininfo.h"
#include <unistd.h>
-#include <sys/param.h>
#include <sys/acl.h>
#include "cygtls.h"
-#include <sys/un.h>
+#include "cygwin/in6.h"
#include "ntdll.h"
#include "miscfuncs.h"
@@ -125,7 +127,9 @@ get_inet_addr (const struct sockaddr *in, int inlen,
some greedy Win32 application. Therefore we should never wait
endlessly without checking for signals and thread cancel event. */
pthread_testcancel ();
- if (cancelable_wait (NULL, cw_nowait, cw_sig_eintr) == WAIT_SIGNALED
+ /* Using IsEventSignalled like this is racy since another thread could
+ be waiting for signal_arrived. */
+ if (IsEventSignalled (signal_arrived)
&& !_my_tls.call_signal_handler ())
{
set_errno (EINTR);
@@ -657,8 +661,7 @@ fhandler_socket::wait_for_events (const long event_mask, const DWORD flags)
return SOCKET_ERROR;
}
- WSAEVENT ev[2] = { wsock_evt };
- set_signal_arrived here (ev[1]);
+ WSAEVENT ev[2] = { wsock_evt, signal_arrived };
switch (WSAWaitForMultipleEvents (2, ev, FALSE, 50, FALSE))
{
case WSA_WAIT_TIMEOUT:
@@ -1125,9 +1128,14 @@ fhandler_socket::listen (int backlog)
}
else if (get_addr_family () == AF_INET6)
{
- struct sockaddr_in6 sin6;
- memset (&sin6, 0, sizeof sin6);
- sin6.sin6_family = AF_INET6;
+ struct sockaddr_in6 sin6 =
+ {
+ sin6_family: AF_INET6,
+ sin6_port: 0,
+ sin6_flowinfo: 0,
+ sin6_addr: {{IN6ADDR_ANY_INIT}},
+ sin6_scope_id: 0
+ };
if (!::bind (get_socket (), (struct sockaddr *) &sin6, sizeof sin6))
res = ::listen (get_socket (), backlog);
}
@@ -1205,12 +1213,12 @@ fhandler_socket::accept4 (struct sockaddr *peer, int *len, int flags)
bound socket name of the peer's socket. For now
we just fake an unbound socket on the other side. */
static struct sockaddr_un un = { AF_LOCAL, "" };
- memcpy (peer, &un, MIN (*len, (int) sizeof (un.sun_family)));
+ memcpy (peer, &un, min (*len, (int) sizeof (un.sun_family)));
*len = (int) sizeof (un.sun_family);
}
else
{
- memcpy (peer, &lpeer, MIN (*len, llen));
+ memcpy (peer, &lpeer, min (*len, llen));
*len = llen;
}
}
@@ -1239,7 +1247,7 @@ fhandler_socket::getsockname (struct sockaddr *name, int *namelen)
sun.sun_path[0] = '\0';
if (get_sun_path ())
strncat (sun.sun_path, get_sun_path (), UNIX_PATH_LEN - 1);
- memcpy (name, &sun, MIN (*namelen, (int) SUN_LEN (&sun) + 1));
+ memcpy (name, &sun, min (*namelen, (int) SUN_LEN (&sun) + 1));
*namelen = (int) SUN_LEN (&sun) + (get_sun_path () ? 1 : 0);
res = 0;
}
@@ -1253,7 +1261,7 @@ fhandler_socket::getsockname (struct sockaddr *name, int *namelen)
res = ::getsockname (get_socket (), (struct sockaddr *) &sock, &len);
if (!res)
{
- memcpy (name, &sock, MIN (*namelen, len));
+ memcpy (name, &sock, min (*namelen, len));
*namelen = len;
}
else
@@ -1282,7 +1290,7 @@ fhandler_socket::getsockname (struct sockaddr *name, int *namelen)
}
if (!res)
{
- memcpy (name, &sock, MIN (*namelen, len));
+ memcpy (name, &sock, min (*namelen, len));
*namelen = len;
}
}
@@ -1313,12 +1321,12 @@ fhandler_socket::getpeername (struct sockaddr *name, int *namelen)
sun.sun_path[0] = '\0';
if (get_peer_sun_path ())
strncat (sun.sun_path, get_peer_sun_path (), UNIX_PATH_LEN - 1);
- memcpy (name, &sun, MIN (*namelen, (int) SUN_LEN (&sun) + 1));
+ memcpy (name, &sun, min (*namelen, (int) SUN_LEN (&sun) + 1));
*namelen = (int) SUN_LEN (&sun) + (get_peer_sun_path () ? 1 : 0);
}
else
{
- memcpy (name, &sock, MIN (*namelen, len));
+ memcpy (name, &sock, min (*namelen, len));
*namelen = len;
}
@@ -1330,7 +1338,7 @@ fhandler_socket::read (void *in_ptr, size_t& len)
{
WSABUF wsabuf = { len, (char *) in_ptr };
WSAMSG wsamsg = { NULL, 0, &wsabuf, 1, { 0, NULL }, 0 };
- len = recv_internal (&wsamsg, false);
+ len = recv_internal (&wsamsg);
}
int
@@ -1346,16 +1354,14 @@ fhandler_socket::readv (const struct iovec *const iov, const int iovcnt,
wsaptr->buf = (char *) iovptr->iov_base;
}
WSAMSG wsamsg = { NULL, 0, wsabuf, iovcnt, { 0, NULL}, 0 };
- return recv_internal (&wsamsg, false);
+ return recv_internal (&wsamsg);
}
extern "C" {
-#ifndef __MINGW64_VERSION_MAJOR
#define WSAID_WSARECVMSG \
{0xf689d7c8,0x6f1f,0x436b,{0x8a,0x53,0xe5,0x4f,0xe3,0x51,0xc3,0x22}};
typedef int (WSAAPI *LPFN_WSARECVMSG)(SOCKET,LPWSAMSG,LPDWORD,LPWSAOVERLAPPED,
LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-#endif
int WSAAPI WSASendMsg(SOCKET,LPWSAMSG,DWORD,LPDWORD, LPWSAOVERLAPPED,
LPWSAOVERLAPPED_COMPLETION_ROUTINE);
};
@@ -1375,32 +1381,28 @@ get_ext_funcptr (SOCKET sock, void *funcptr)
}
inline ssize_t
-fhandler_socket::recv_internal (LPWSAMSG wsamsg, bool use_recvmsg)
+fhandler_socket::recv_internal (LPWSAMSG wsamsg)
{
ssize_t res = 0;
DWORD ret = 0, wret;
int evt_mask = FD_READ | ((wsamsg->dwFlags & MSG_OOB) ? FD_OOB : 0);
LPWSABUF &wsabuf = wsamsg->lpBuffers;
ULONG &wsacnt = wsamsg->dwBufferCount;
+ bool use_recvmsg = false;
static NO_COPY LPFN_WSARECVMSG WSARecvMsg;
DWORD wait_flags = wsamsg->dwFlags;
bool waitall = !!(wait_flags & MSG_WAITALL);
wsamsg->dwFlags &= (MSG_OOB | MSG_PEEK | MSG_DONTROUTE);
- if (use_recvmsg)
+ if (wsamsg->Control.len > 0)
{
if (!WSARecvMsg
&& get_ext_funcptr (get_socket (), &WSARecvMsg) == SOCKET_ERROR)
{
- if (wsamsg->Control.len > 0)
- {
- set_winsock_errno ();
- return SOCKET_ERROR;
- }
- use_recvmsg = false;
+ set_winsock_errno ();
+ return SOCKET_ERROR;
}
- else /* Only MSG_PEEK is supported by WSARecvMsg. */
- wsamsg->dwFlags &= MSG_PEEK;
+ use_recvmsg = true;
}
if (waitall)
{
@@ -1507,7 +1509,7 @@ fhandler_socket::recvfrom (void *ptr, size_t len, int flags,
&wsabuf, 1,
{ 0, NULL},
flags };
- ssize_t ret = recv_internal (&wsamsg, false);
+ ssize_t ret = recv_internal (&wsamsg);
if (fromlen)
*fromlen = wsamsg.namelen;
return ret;
@@ -1522,12 +1524,12 @@ fhandler_socket::recvmsg (struct msghdr *msg, int flags)
/* Disappointing but true: Even if WSARecvMsg is supported, it's only
supported for datagram and raw sockets. */
- bool use_recvmsg = true;
- if (get_socket_type () == SOCK_STREAM || get_addr_family () == AF_LOCAL
- || !wincap.has_recvmsg ())
+ if (!wincap.has_recvmsg () || get_socket_type () == SOCK_STREAM
+ || get_addr_family () == AF_LOCAL)
{
- use_recvmsg = false;
msg->msg_controllen = 0;
+ if (!CYGWIN_VERSION_CHECK_FOR_USING_ANCIENT_MSGHDR)
+ msg->msg_flags = 0;
}
WSABUF wsabuf[msg->msg_iovlen];
@@ -1542,7 +1544,7 @@ fhandler_socket::recvmsg (struct msghdr *msg, int flags)
wsabuf, msg->msg_iovlen,
{ msg->msg_controllen, (char *) msg->msg_control },
flags };
- ssize_t ret = recv_internal (&wsamsg, use_recvmsg);
+ ssize_t ret = recv_internal (&wsamsg);
if (ret >= 0)
{
msg->msg_namelen = wsamsg.namelen;
@@ -1781,7 +1783,7 @@ fhandler_socket::close ()
res = -1;
break;
}
- if (cygwait (10) == WAIT_SIGNALED)
+ if (WaitForSingleObject (signal_arrived, 10) == WAIT_OBJECT_0)
{
set_errno (EINTR);
res = -1;
diff --git a/winsup/cygwin/fhandler_tape.cc b/winsup/cygwin/fhandler_tape.cc
index 855fd5dfd..17d2685f1 100644
--- a/winsup/cygwin/fhandler_tape.cc
+++ b/winsup/cygwin/fhandler_tape.cc
@@ -2,7 +2,7 @@
classes.
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008, 2010, 2011, 2012 Red Hat, Inc.
+ 2008, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -15,12 +15,7 @@ details. */
#include <stdlib.h>
#include <sys/mtio.h>
#include <sys/param.h>
-#ifdef __MINGW64_VERSION_MAJOR
-#include <devioctl.h>
-#include <ntddstor.h>
-#else
#include <ddk/ntddstor.h>
-#endif
#include "security.h"
#include "path.h"
#include "fhandler.h"
@@ -1147,13 +1142,26 @@ mtinfo::initialize ()
inline bool
fhandler_dev_tape::_lock (bool cancelable)
{
+ HANDLE w4[3] = { mt_mtx, signal_arrived, NULL };
+ DWORD cnt = 2;
+ if (cancelable && (w4[2] = pthread::get_cancel_event ()) != NULL)
+ cnt = 3;
/* O_NONBLOCK is only valid in a read or write call. Only those are
cancelable. */
DWORD timeout = cancelable && is_nonblocking () ? 0 : INFINITE;
- switch (cancelable_wait (mt_mtx, timeout, cw_sig | cw_cancel | cw_cancel_self))
+restart:
+ switch (WaitForMultipleObjects (cnt, w4, FALSE, timeout))
{
case WAIT_OBJECT_0:
return true;
+ case WAIT_OBJECT_0 + 1:
+ if (_my_tls.call_signal_handler ())
+ goto restart;
+ set_errno (EINTR);
+ return false;
+ case WAIT_OBJECT_0 + 2:
+ pthread::static_cancel_self ();
+ /*NOTREACHED*/
case WAIT_TIMEOUT:
set_errno (EAGAIN);
return false;
@@ -1270,7 +1278,7 @@ fhandler_dev_tape::raw_read (void *ptr, size_t &ulen)
{
if (devbufend > devbufstart)
{
- bytes_to_read = MIN (len, devbufend - devbufstart);
+ bytes_to_read = min (len, devbufend - devbufstart);
debug_printf ("read %d bytes from buffer (rest %d)",
bytes_to_read, devbufend - devbufstart - bytes_to_read);
memcpy (buf, devbuf + devbufstart, bytes_to_read);
diff --git a/winsup/cygwin/fhandler_termios.cc b/winsup/cygwin/fhandler_termios.cc
index 18afacf1d..c218fdeda 100644
--- a/winsup/cygwin/fhandler_termios.cc
+++ b/winsup/cygwin/fhandler_termios.cc
@@ -1,7 +1,7 @@
/* fhandler_termios.cc
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009,
- 2010, 2011, 2012 Red Hat, Inc.
+ 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -19,9 +19,6 @@ details. */
#include "pinfo.h"
#include "tty.h"
#include "cygtls.h"
-#include "dtable.h"
-#include "cygheap.h"
-#include "child_info.h"
#include "ntdll.h"
/* Common functions shared by tty/console */
@@ -102,7 +99,7 @@ fhandler_termios::tcsetpgrp (const pid_t pgid)
int
fhandler_termios::tcgetpgrp ()
{
- if (myself->ctty > 0 && myself->ctty == tc ()->ntty)
+ if (myself->ctty != -1 && myself->ctty == tc ()->ntty)
return tc ()->pgid;
set_errno (ENOTTY);
return -1;
@@ -204,7 +201,7 @@ fhandler_termios::bg_check (int sig)
{
/* Don't raise a SIGTT* signal if we have already been
interrupted by another signal. */
- if (cygwait ((DWORD) 0) != WAIT_SIGNALED)
+ if (WaitForSingleObject (signal_arrived, 0) != WAIT_OBJECT_0)
{
siginfo_t si = {0};
si.si_signo = sig;
@@ -237,7 +234,7 @@ fhandler_termios::line_edit (const char *rptr, int nread, termios& ti)
{
c = *rptr++;
- paranoid_printf ("char %0c", c);
+ termios_printf ("char %c", c);
/* Check for special chars */
@@ -400,15 +397,14 @@ fhandler_termios::sigflush ()
/* FIXME: Checking get_ttyp() for NULL is not right since it should not
be NULL while this is alive. However, we can conceivably close a
ctty while exiting and that will zero this. */
- if ((!have_execed || have_execed_cygwin) && get_ttyp ()
- && !(get_ttyp ()->ti.c_lflag & NOFLSH))
+ if (get_ttyp () && !(get_ttyp ()->ti.c_lflag & NOFLSH))
tcflush (TCIFLUSH);
}
-pid_t
+int
fhandler_termios::tcgetsid ()
{
- if (myself->ctty > 0 && myself->ctty == tc ()->ntty)
+ if (myself->ctty != -1 && myself->ctty == tc ()->ntty)
return tc ()->getsid ();
set_errno (ENOTTY);
return -1;
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index c5b65c5b8..b316a0aaf 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -11,7 +11,6 @@ details. */
#include "winsup.h"
#include <stdlib.h>
-#include <sys/param.h>
#include <cygwin/kd.h>
#include "cygerrno.h"
#include "security.h"
@@ -26,7 +25,6 @@ details. */
#include "cygthread.h"
#include "child_info.h"
#include <asm/socket.h>
-#include "cygwait.h"
#define close_maybe(h) \
do { \
@@ -51,32 +49,6 @@ fhandler_pty_slave::get_unit ()
return dev ().get_minor ();
}
-bool
-bytes_available (DWORD& n, HANDLE h)
-{
- DWORD navail, nleft;
- navail = nleft = 0;
- bool succeeded = PeekNamedPipe (h, NULL, 0, NULL, &navail, &nleft);
- if (succeeded)
- /* nleft should always be the right choice unless something has written 0
- bytes to the pipe. In that pathological case we return the actual number
- of bytes available in the pipe. See cgf-000008 for more details. */
- n = nleft ?: navail;
- else
- {
- termios_printf ("PeekNamedPipe(%p) failed, %E", h);
- n = 0;
- }
- debug_only_printf ("n %u, nleft %u, navail %u");
- return succeeded;
-}
-
-bool
-fhandler_pty_common::bytes_available (DWORD &n)
-{
- return ::bytes_available (n, get_handle ());
-}
-
#ifdef DEBUGGING
static class mutex_stack
{
@@ -89,16 +61,9 @@ public:
static int osi;
#endif /*DEBUGGING*/
-void
-fhandler_pty_master::flush_to_slave ()
-{
- if (get_readahead_valid () && !(get_ttyp ()->ti.c_lflag & ICANON))
- accept_input ();
-}
-
DWORD
fhandler_pty_common::__acquire_output_mutex (const char *fn, int ln,
- DWORD ms)
+ DWORD ms)
{
if (strace.active ())
strace.prntf (_STRACE_TERMIOS, fn, "(%d): pty output_mutex (%p): waiting %d ms", ln, output_mutex, ms);
@@ -176,7 +141,7 @@ fhandler_pty_master::accept_input ()
DWORD rc;
DWORD written = 0;
- paranoid_printf ("about to write %d chars to slave", bytes_left);
+ termios_printf ("about to write %d chars to slave", bytes_left);
rc = WriteFile (get_output_handle (), p, bytes_left, &written, NULL);
if (!rc)
{
@@ -228,8 +193,6 @@ fhandler_pty_master::process_slave_output (char *buf, size_t len, int pktmode_on
int column = 0;
int rc = 0;
- flush_to_slave ();
-
if (len == 0)
goto out;
@@ -246,6 +209,7 @@ fhandler_pty_master::process_slave_output (char *buf, size_t len, int pktmode_on
goto out;
}
+
for (;;)
{
/* Set RLEN to the number of bytes to read from the pipe. */
@@ -261,40 +225,50 @@ fhandler_pty_master::process_slave_output (char *buf, size_t len, int pktmode_on
if (rlen > sizeof outbuf)
rlen = sizeof outbuf;
- n = 0;
- for (;;)
- {
- if (!bytes_available (n))
- goto err;
- if (n)
- break;
- if (hit_eof ())
- goto out;
- /* DISCARD (FLUSHO) and tcflush can finish here. */
- if ((get_ttyp ()->ti.c_lflag & FLUSHO || !buf))
- goto out;
+ HANDLE handle = get_io_handle ();
- if (is_nonblocking ())
+ n = 0; // get_readahead_into_buffer (outbuf, len);
+ if (!n)
+ {
+ /* Doing a busy wait like this is quite inefficient, but nothing
+ else seems to work completely. Windows should provide some sort
+ of overlapped I/O for pipes, or something, but it doesn't. */
+ while (1)
{
- set_errno (EAGAIN);
- rc = -1;
- goto out;
+ if (!PeekNamedPipe (handle, NULL, 0, NULL, &n, NULL))
+ {
+ termios_printf ("PeekNamedPipe(%p) failed, %E", handle);
+ goto err;
+ }
+ if (n > 0)
+ break;
+ if (hit_eof ())
+ goto out;
+ /* DISCARD (FLUSHO) and tcflush can finish here. */
+ if ((get_ttyp ()->ti.c_lflag & FLUSHO || !buf))
+ goto out;
+
+ if (is_nonblocking ())
+ {
+ set_errno (EAGAIN);
+ rc = -1;
+ goto out;
+ }
+ pthread_testcancel ();
+ if (WaitForSingleObject (signal_arrived, 10) == WAIT_OBJECT_0
+ && !_my_tls.call_signal_handler ())
+ {
+ set_errno (EINTR);
+ rc = -1;
+ goto out;
+ }
}
- pthread_testcancel ();
- if (cancelable_wait (NULL, 10, cw_sig_eintr) == WAIT_SIGNALED
- && !_my_tls.call_signal_handler ())
+
+ if (!ReadFile (handle, outbuf, rlen, &n, NULL))
{
- set_errno (EINTR);
- rc = -1;
- goto out;
+ termios_printf ("ReadFile failed, %E");
+ goto err;
}
- flush_to_slave ();
- }
-
- if (!ReadFile (get_handle (), outbuf, rlen, &n, NULL))
- {
- termios_printf ("ReadFile failed, %E");
- goto err;
}
termios_printf ("bytes read %u", n);
@@ -649,7 +623,7 @@ fhandler_pty_slave::write (const void *ptr, size_t len)
while (len)
{
- n = MIN (OUT_BUFFER_SIZE, len);
+ n = min (OUT_BUFFER_SIZE, len);
char *buf = (char *)ptr;
ptr = (char *) ptr + n;
len -= n;
@@ -693,6 +667,7 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
size_t readlen;
DWORD bytes_in_pipe;
char buf[INP_BUFFER_SIZE];
+ char peek_buf[INP_BUFFER_SIZE];
DWORD time_to_wait;
bg_check_types bg = bg_check (SIGTTIN);
@@ -738,14 +713,14 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
goto out;
}
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
if (totalread > 0)
goto out;
termios_printf ("wait catched signal");
set_sig_errno (EINTR);
totalread = -1;
goto out;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 2:
process_state.pop ();
pthread::static_cancel_self ();
/*NOTREACHED*/
@@ -773,14 +748,14 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
case WAIT_OBJECT_0:
case WAIT_ABANDONED_0:
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
if (totalread > 0)
goto out;
- termios_printf ("wait for mutex caught signal");
+ termios_printf ("wait for mutex catched signal");
set_sig_errno (EINTR);
totalread = -1;
goto out;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 2:
process_state.pop ();
pthread::static_cancel_self ();
/*NOTREACHED*/
@@ -809,8 +784,12 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
}
goto out;
}
- if (!bytes_available (bytes_in_pipe))
- raise (SIGHUP);
+ if (!PeekNamedPipe (get_handle (), peek_buf, sizeof (peek_buf), &bytes_in_pipe, NULL, NULL))
+ {
+ termios_printf ("PeekNamedPipe failed, %E");
+ raise (SIGHUP);
+ bytes_in_pipe = 0;
+ }
/* On first peek determine no. of bytes to flush. */
if (!ptr && len == UINT_MAX)
@@ -823,7 +802,7 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
return;
}
- readlen = MIN (bytes_in_pipe, MIN (len, sizeof (buf)));
+ readlen = min (bytes_in_pipe, min (len, sizeof (buf)));
if (ptr && vmin && readlen > (unsigned) vmin)
readlen = vmin;
@@ -835,6 +814,7 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
if (!ReadFile (get_handle (), buf, readlen, &n, NULL))
{
termios_printf ("read failed, %E");
+ bytes_in_pipe = 0;
raise (SIGHUP);
bytes_in_pipe = 0;
ptr = NULL;
@@ -845,8 +825,12 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
number of bytes in pipe, but for some reason this number doesn't
change after successful read. So we have to peek into the pipe
again to see if input is still available */
- if (!bytes_available (bytes_in_pipe))
- raise (SIGHUP);
+ if (!PeekNamedPipe (get_handle (), peek_buf, 1, &bytes_in_pipe, NULL, NULL))
+ {
+ termios_printf ("PeekNamedPipe failed, %E");
+ raise (SIGHUP);
+ bytes_in_pipe = 0;
+ }
if (n)
{
len -= n;
@@ -914,16 +898,7 @@ out:
int
fhandler_pty_slave::dup (fhandler_base *child, int flags)
{
- /* This code was added in Oct 2001 for some undisclosed reason.
- However, setting the controlling tty on a dup causes rxvt to
- hang when the parent does a dup since the controlling pgid changes.
- Specifically testing for -2 (ctty has been setsid'ed) works around
- this problem. However, it's difficult to see scenarios in which you
- have a dup'able fd, no controlling tty, and not having run setsid.
- So, we might want to consider getting rid of the set_ctty in tty-like dup
- methods entirely at some point */
- if (myself->ctty != -2)
- myself->set_ctty (this, flags);
+ myself->set_ctty (this, flags);
report_tty_counts (child, "duped slave", "");
return 0;
}
@@ -1014,15 +989,15 @@ fhandler_pty_slave::ioctl (unsigned int cmd, void *arg)
goto out;
case FIONREAD:
{
- DWORD n;
- if (!bytes_available (n))
+ int n;
+ if (!PeekNamedPipe (get_handle (), NULL, 0, NULL, (DWORD *) &n, NULL))
{
set_errno (EINVAL);
retval = -1;
}
else
{
- *(int *) arg = (int) n;
+ *(int *) arg = n;
retval = 0;
}
}
@@ -1280,6 +1255,11 @@ fhandler_pty_master::cleanup ()
int
fhandler_pty_master::close ()
{
+#if 0
+ while (accept_input () > 0)
+ continue;
+#endif
+
termios_printf ("closing from_master(%p)/to_master(%p) since we own them(%d)",
from_master, to_master, dwProcessId);
if (cygwin_finished_initializing)
@@ -1430,13 +1410,13 @@ fhandler_pty_master::ioctl (unsigned int cmd, void *arg)
return this->tcsetpgrp ((pid_t) arg);
case FIONREAD:
{
- DWORD n;
- if (!::bytes_available (n, to_master))
+ int n;
+ if (!PeekNamedPipe (to_master, NULL, 0, NULL, (DWORD *) &n, NULL))
{
set_errno (EINVAL);
return -1;
}
- *(int *) arg = (int) n;
+ *(int *) arg = n;
}
break;
default:
@@ -1482,9 +1462,7 @@ fhandler_pty_slave::fixup_after_exec ()
fixup_after_fork (NULL);
}
-#ifndef __MINGW64_VERSION_MAJOR
extern "C" BOOL WINAPI GetNamedPipeClientProcessId (HANDLE, PULONG);
-#endif
/* This thread function handles the master control pipe. It waits for a
client to connect. Then it checks if the client process has permissions
diff --git a/winsup/cygwin/fhandler_virtual.cc b/winsup/cygwin/fhandler_virtual.cc
index af73dde15..59bb6763c 100644
--- a/winsup/cygwin/fhandler_virtual.cc
+++ b/winsup/cygwin/fhandler_virtual.cc
@@ -77,6 +77,7 @@ fhandler_virtual::opendir (int fd)
if (fd >= 0)
{
dir->__d_fd = fd;
+ res = dir;
dir->__fh = this;
res = dir;
}
diff --git a/winsup/cygwin/fhandler_windows.cc b/winsup/cygwin/fhandler_windows.cc
index cb22416df..c89d98e16 100644
--- a/winsup/cygwin/fhandler_windows.cc
+++ b/winsup/cygwin/fhandler_windows.cc
@@ -96,47 +96,43 @@ fhandler_windows::read (void *buf, size_t& len)
return;
}
- HANDLE w4[3] = { get_handle (), };
- set_signal_arrived here (w4[1]);
+ HANDLE w4[3] = { get_handle (), signal_arrived, NULL };
DWORD cnt = 2;
if ((w4[cnt] = pthread::get_cancel_event ()) != NULL)
++cnt;
- for (;;)
+restart:
+ switch (MsgWaitForMultipleObjectsEx (cnt, w4,
+ is_nonblocking () ? 0 : INFINITE,
+ QS_ALLINPUT | QS_ALLPOSTMESSAGE,
+ MWMO_INPUTAVAILABLE))
{
- switch (MsgWaitForMultipleObjectsEx (cnt, w4,
- is_nonblocking () ? 0 : INFINITE,
- QS_ALLINPUT | QS_ALLPOSTMESSAGE,
- MWMO_INPUTAVAILABLE))
+ case WAIT_OBJECT_0:
+ if (!PeekMessageW (ptr, hWnd_, 0, 0, PM_REMOVE))
{
- case WAIT_OBJECT_0:
- if (!PeekMessageW (ptr, hWnd_, 0, 0, PM_REMOVE))
- {
- len = (size_t) -1;
- __seterrno ();
- }
- else if (ptr->message == WM_QUIT)
- len = 0;
- else
- len = sizeof (MSG);
- break;
- case WAIT_OBJECT_0 + 1:
- if (_my_tls.call_signal_handler ())
- continue;
- len = (size_t) -1;
- set_errno (EINTR);
- break;
- case WAIT_OBJECT_0 + 2:
- pthread::static_cancel_self ();
- break;
- case WAIT_TIMEOUT:
- len = (size_t) -1;
- set_errno (EAGAIN);
- break;
- default:
len = (size_t) -1;
__seterrno ();
- break;
}
+ else if (ptr->message == WM_QUIT)
+ len = 0;
+ else
+ len = sizeof (MSG);
+ break;
+ case WAIT_OBJECT_0 + 1:
+ if (_my_tls.call_signal_handler ())
+ goto restart;
+ len = (size_t) -1;
+ set_errno (EINTR);
+ break;
+ case WAIT_OBJECT_0 + 2:
+ pthread::static_cancel_self ();
+ break;
+ case WAIT_TIMEOUT:
+ len = (size_t) -1;
+ set_errno (EAGAIN);
+ break;
+ default:
+ len = (size_t) -1;
+ __seterrno ();
break;
}
}
diff --git a/winsup/cygwin/flock.cc b/winsup/cygwin/flock.cc
index 4d683cfd4..16233449e 100644
--- a/winsup/cygwin/flock.cc
+++ b/winsup/cygwin/flock.cc
@@ -124,14 +124,7 @@ static NO_COPY muto lockf_guard;
#define INODE_LIST_LOCK() (lockf_guard.init ("lockf_guard")->acquire ())
#define INODE_LIST_UNLOCK() (lockf_guard.release ())
-#define LOCK_DIR_NAME_FMT L"flock-%08x-%016X"
-#define LOCK_DIR_NAME_LEN 31 /* Length of the resulting name */
-#define LOCK_DIR_NAME_DEV_OFF 6 /* Offset to device number */
-#define LOCK_DIR_NAME_INO_OFF 15 /* Offset to inode number */
-
-/* Don't change format without also changing lockf_t::from_obj_name! */
-#define LOCK_OBJ_NAME_FMT L"%02x-%01x-%016X-%016X-%016X-%08x-%04x"
-#define LOCK_OBJ_NAME_LEN 69 /* Length of the resulting name */
+#define LOCK_OBJ_NAME_LEN 69
#define FLOCK_INODE_DIR_ACCESS (DIRECTORY_QUERY \
| DIRECTORY_TRAVERSE \
@@ -164,7 +157,7 @@ allow_others_to_sync ()
at this point because this gets called during initialization when the tls
is not really available. */
#define MAX_PROCESS_SD_SIZE 3072
- PISECURITY_DESCRIPTOR sd = (PISECURITY_DESCRIPTOR) alloca (MAX_PROCESS_SD_SIZE);
+ PSECURITY_DESCRIPTOR sd = (PSECURITY_DESCRIPTOR) alloca (MAX_PROCESS_SD_SIZE);
status = NtQuerySecurityObject (NtCurrentProcess (),
DACL_SECURITY_INFORMATION, sd,
MAX_PROCESS_SD_SIZE, &len);
@@ -176,22 +169,8 @@ allow_others_to_sync ()
/* Create a valid dacl pointer and set its size to be as big as
there's room in the temporary buffer. Note that the descriptor
is in self-relative format. */
- BOOLEAN present, defaulted;
- RtlGetDaclSecurityDescriptor (sd, &present, &dacl, &defaulted);
- if (!present) /* If so, dacl has undefined value. */
- {
- dacl = (PACL) (sd + 1);
- RtlCreateAcl (dacl, MAX_PROCESS_SD_SIZE - sizeof *sd, ACL_REVISION);
- }
- else if (dacl == NULL) /* Everyone has all access anyway */
- {
- done = true;
- return;
- }
- else
- {
- dacl->AclSize = MAX_PROCESS_SD_SIZE - ((PBYTE) dacl - (PBYTE) sd);
- }
+ dacl = (PACL) ((char *) sd + (uintptr_t) sd->Dacl);
+ dacl->AclSize = NT_MAX_PATH * sizeof (WCHAR) - ((char *) dacl - (char *) sd);
/* Allow everyone to SYNCHRONIZE with this process. */
status = RtlAddAccessAllowedAce (dacl, ACL_REVISION, SYNCHRONIZE,
well_known_world_sid);
@@ -246,11 +225,11 @@ struct lockfattr_t
class lockf_t
{
public:
- uint16_t lf_flags; /* Semantics: F_POSIX, F_FLOCK, F_WAIT */
- uint16_t lf_type; /* Lock type: F_RDLCK, F_WRLCK */
+ short lf_flags; /* Semantics: F_POSIX, F_FLOCK, F_WAIT */
+ short lf_type; /* Lock type: F_RDLCK, F_WRLCK */
_off64_t lf_start; /* Byte # of the start of the lock */
_off64_t lf_end; /* Byte # of the end of the lock (-1=EOF) */
- int64_t lf_id; /* Cygwin PID for POSIX locks, a unique id per
+ long long lf_id; /* Cygwin PID for POSIX locks, a unique id per
file table entry for BSD flock locks. */
DWORD lf_wid; /* Win PID of the resource holding the lock */
uint16_t lf_ver; /* Version number of the lock. If a released
@@ -276,9 +255,6 @@ class lockf_t
{}
~lockf_t ();
- bool from_obj_name (class inode_t *node, class lockf_t **head,
- const wchar_t *name);
-
/* Used to create all locks list in a given TLS buffer. */
void *operator new (size_t size, void *p)
{ return p; }
@@ -316,6 +292,10 @@ class inode_t
HANDLE i_mtx;
uint32_t i_cnt; /* # of threads referencing this instance. */
+ void use () { ++i_cnt; }
+ void unuse () { if (i_cnt > 0) --i_cnt; }
+ bool inuse () { return i_cnt > 0; }
+
public:
inode_t (__dev32_t dev, __ino64_t ino);
~inode_t ();
@@ -325,15 +305,11 @@ class inode_t
void operator delete (void *p)
{ cfree (p); }
- static inode_t *get (__dev32_t dev, __ino64_t ino,
- bool create_if_missing, bool lock);
+ static inode_t *get (__dev32_t dev, __ino64_t ino, bool create_if_missing);
void LOCK () { WaitForSingleObject (i_mtx, INFINITE); }
void UNLOCK () { ReleaseMutex (i_mtx); }
- void use () { ++i_cnt; }
- void unuse () { if (i_cnt > 0) --i_cnt; }
- bool inuse () { return i_cnt > 0; }
void notused () { i_cnt = 0; }
void unlock_and_remove_if_unused ();
@@ -414,7 +390,7 @@ inode_t::del_my_locks (long long id, HANDLE fhdl)
void
fhandler_base::del_my_locks (del_lock_called_from from)
{
- inode_t *node = inode_t::get (get_dev (), get_ino (), false, true);
+ inode_t *node = inode_t::get (get_dev (), get_ino (), false);
if (node)
{
/* When we're called from fixup_after_exec, the fhandler is a
@@ -482,7 +458,7 @@ fixup_lockf_after_exec ()
file. The file is specified by the device and inode_t number. If inode_t
doesn't exist, create it. */
inode_t *
-inode_t::get (__dev32_t dev, __ino64_t ino, bool create_if_missing, bool lock)
+inode_t::get (__dev32_t dev, __ino64_t ino, bool create_if_missing)
{
inode_t *node;
@@ -499,7 +475,7 @@ inode_t::get (__dev32_t dev, __ino64_t ino, bool create_if_missing, bool lock)
if (node)
node->use ();
INODE_LIST_UNLOCK ();
- if (node && lock)
+ if (node)
node->LOCK ();
return node;
}
@@ -516,7 +492,7 @@ inode_t::inode_t (__dev32_t dev, __ino64_t ino)
parent_dir = get_shared_parent_dir ();
/* Create a subdir which is named after the device and inode_t numbers
of the given file, in hex notation. */
- int len = __small_swprintf (name, LOCK_DIR_NAME_FMT, dev, ino);
+ int len = __small_swprintf (name, L"flock-%08x-%016X", dev, ino);
RtlInitCountedUnicodeString (&uname, name, len * sizeof (WCHAR));
InitializeObjectAttributes (&attr, &uname, OBJ_INHERIT | OBJ_OPENIF,
parent_dir, everyone_sd (FLOCK_INODE_DIR_ACCESS));
@@ -540,45 +516,6 @@ inode_t::inode_t (__dev32_t dev, __ino64_t ino)
#define MAX_LOCKF_CNT ((intptr_t)((NT_MAX_PATH * sizeof (WCHAR)) \
/ sizeof (lockf_t)))
-bool
-lockf_t::from_obj_name (inode_t *node, lockf_t **head, const wchar_t *name)
-{
- wchar_t *endptr;
-
- /* "%02x-%01x-%016X-%016X-%016X-%08x-%04x",
- lf_flags, lf_type, lf_start, lf_end, lf_id, lf_wid, lf_ver */
- lf_flags = wcstol (name, &endptr, 16);
- if ((lf_flags & ~(F_FLOCK | F_POSIX)) != 0
- || ((lf_flags & (F_FLOCK | F_POSIX)) == (F_FLOCK | F_POSIX)))
- return false;
- lf_type = wcstol (endptr + 1, &endptr, 16);
- if ((lf_type != F_RDLCK && lf_type != F_WRLCK) || !endptr || *endptr != L'-')
- return false;
- lf_start = (_off64_t) wcstoull (endptr + 1, &endptr, 16);
- if (lf_start < 0 || !endptr || *endptr != L'-')
- return false;
- lf_end = (_off64_t) wcstoull (endptr + 1, &endptr, 16);
- if (lf_end < -1LL
- || (lf_end > 0 && lf_end < lf_start)
- || !endptr || *endptr != L'-')
- return false;
- lf_id = wcstoll (endptr + 1, &endptr, 16);
- if (!endptr || *endptr != L'-'
- || ((lf_flags & F_POSIX) && (lf_id < 1 || lf_id > ULONG_MAX)))
- return false;
- lf_wid = wcstoul (endptr + 1, &endptr, 16);
- if (!endptr || *endptr != L'-')
- return false;
- lf_ver = wcstoul (endptr + 1, &endptr, 16);
- if (endptr && *endptr != L'\0')
- return false;
- lf_head = head;
- lf_inode = node;
- lf_next = NULL;
- lf_obj = NULL;
- return true;
-}
-
lockf_t *
inode_t::get_all_locks_list ()
{
@@ -589,7 +526,7 @@ inode_t::get_all_locks_list ()
} f;
ULONG context;
NTSTATUS status;
- lockf_t newlock, *lock = i_all_lf;
+ lockf_t *lock = i_all_lf;
for (BOOLEAN restart = TRUE;
NT_SUCCESS (status = NtQueryDirectoryObject (i_dir, &f, sizeof f, TRUE,
@@ -598,8 +535,32 @@ inode_t::get_all_locks_list ()
{
if (f.dbi.ObjectName.Length != LOCK_OBJ_NAME_LEN * sizeof (WCHAR))
continue;
- f.dbi.ObjectName.Buffer[LOCK_OBJ_NAME_LEN] = L'\0';
- if (!newlock.from_obj_name (this, &i_all_lf, f.dbi.ObjectName.Buffer))
+ wchar_t *wc = f.dbi.ObjectName.Buffer, *endptr;
+ /* "%02x-%01x-%016X-%016X-%016X-%08x-%04x",
+ lf_flags, lf_type, lf_start, lf_end, lf_id, lf_wid, lf_ver */
+ wc[LOCK_OBJ_NAME_LEN] = L'\0';
+ short flags = wcstol (wc, &endptr, 16);
+ if ((flags & ~(F_FLOCK | F_POSIX)) != 0
+ || ((flags & (F_FLOCK | F_POSIX)) == (F_FLOCK | F_POSIX)))
+ continue;
+ short type = wcstol (endptr + 1, &endptr, 16);
+ if ((type != F_RDLCK && type != F_WRLCK) || !endptr || *endptr != L'-')
+ continue;
+ _off64_t start = (_off64_t) wcstoull (endptr + 1, &endptr, 16);
+ if (start < 0 || !endptr || *endptr != L'-')
+ continue;
+ _off64_t end = (_off64_t) wcstoull (endptr + 1, &endptr, 16);
+ if (end < -1LL || (end > 0 && end < start) || !endptr || *endptr != L'-')
+ continue;
+ long long id = wcstoll (endptr + 1, &endptr, 16);
+ if (!endptr || *endptr != L'-'
+ || ((flags & F_POSIX) && (id < 1 || id > ULONG_MAX)))
+ continue;
+ DWORD wid = wcstoul (endptr + 1, &endptr, 16);
+ if (!endptr || *endptr != L'-')
+ continue;
+ uint16_t ver = wcstoul (endptr + 1, &endptr, 16);
+ if (endptr && *endptr != L'\0')
continue;
if (lock - i_all_lf >= MAX_LOCKF_CNT)
{
@@ -609,7 +570,8 @@ inode_t::get_all_locks_list ()
}
if (lock > i_all_lf)
lock[-1].lf_next = lock;
- new (lock++) lockf_t (newlock);
+ new (lock++) lockf_t (this, &i_all_lf,
+ flags, type, start, end, id, wid, ver);
}
/* If no lock has been found, return NULL. */
if (lock == i_all_lf)
@@ -622,7 +584,7 @@ inode_t::get_all_locks_list ()
POBJECT_ATTRIBUTES
lockf_t::create_lock_obj_attr (lockfattr_t *attr, ULONG flags)
{
- __small_swprintf (attr->name, LOCK_OBJ_NAME_FMT,
+ __small_swprintf (attr->name, L"%02x-%01x-%016X-%016X-%016X-%08x-%04x",
lf_flags & (F_POSIX | F_FLOCK), lf_type, lf_start, lf_end,
lf_id, lf_wid, lf_ver);
RtlInitCountedUnicodeString (&attr->uname, attr->name,
@@ -632,111 +594,6 @@ lockf_t::create_lock_obj_attr (lockfattr_t *attr, ULONG flags)
return &attr->attr;
}
-DWORD WINAPI
-create_lock_in_parent (PVOID param)
-{
- HANDLE lf_obj;
- ULONG size;
- OBJECT_NAME_INFORMATION *ntfn;
- NTSTATUS status;
- wchar_t *lockname, *inodename, *endptr;
- __dev32_t dev;
- __ino64_t ino;
- inode_t *node;
- lockf_t newlock, *lock;
- int cnt;
-
- /* param is the handle to the lock object, created by caller. */
- lf_obj = (HANDLE) param;
- /* Fetch object path from handle. Typically the length of the path
- is 146 characters, starting with
- "\BaseNamedObject\cygwin-1S5-<16-hex-digits>\..." */
- size = sizeof (OBJECT_NAME_INFORMATION) + 256 * sizeof (WCHAR);
- ntfn = (OBJECT_NAME_INFORMATION *) alloca (size);
- memset (ntfn, 0, size);
- status = NtQueryObject (lf_obj, ObjectNameInformation, ntfn, size, &size);
- if (!NT_SUCCESS (status))
- goto err;
- ntfn->Name.Buffer[ntfn->Name.Length / sizeof (WCHAR)] = L'\0';
- /* Sanity check so that we don't peek into unchartered territory. */
- if (ntfn->Name.Length < LOCK_OBJ_NAME_LEN + LOCK_DIR_NAME_LEN + 1)
- goto err;
- /* The names have fixed size, so we know where the substrings start. */
- lockname = ntfn->Name.Buffer + ntfn->Name.Length / sizeof (WCHAR)
- - LOCK_OBJ_NAME_LEN;
- inodename = lockname - LOCK_DIR_NAME_LEN - 1;
- dev = wcstoul (inodename + LOCK_DIR_NAME_DEV_OFF, &endptr, 16);
- if (*endptr != L'-')
- goto err;
- ino = wcstoull (inodename + LOCK_DIR_NAME_INO_OFF, &endptr, 16);
- if (*endptr != L'\\')
- goto err;
- if (!newlock.from_obj_name (NULL, NULL, lockname))
- goto err;
- /* Check if we have an open file handle with the same unique id. */
- {
- cnt = 0;
- cygheap_fdenum cfd (true);
- while (cfd.next () >= 0)
- if (cfd->get_unique_id () == newlock.lf_id && ++cnt > 0)
- break;
- }
- /* If not, close handle and return. */
- if (!cnt)
- {
- NtClose (lf_obj);
- return 0;
- }
- /* otherwise generate inode from directory name... */
- node = inode_t::get (dev, ino, true, false);
- /* ...and generate lock from object name. */
- lock = new lockf_t (newlock);
- lock->lf_inode = node;
- lock->lf_head = &node->i_lockf;
- lock->lf_next = node->i_lockf;
- lock->lf_obj = lf_obj;
- node->i_lockf = lock;
- node->unuse ();
- return 0;
-
-err:
- system_printf ("Adding <%S> lock failed", &ntfn->Name);
- NtClose (lf_obj);
- return 1;
-}
-
-DWORD WINAPI
-delete_lock_in_parent (PVOID param)
-{
- inode_t *node;
- lockf_t *lock, **prev;
-
- /* Scan list of all inodes, and reap stale BSD lock if lf_id matches.
- Remove inode if empty. */
- INODE_LIST_LOCK ();
- LIST_FOREACH (node, &cygheap->inode_list, i_next)
- if (!node->inuse ())
- {
- for (prev = &node->i_lockf, lock = *prev; lock; lock = *prev)
- {
- if ((lock->lf_flags & F_FLOCK) && IsEventSignalled (lock->lf_obj))
- {
- *prev = lock->lf_next;
- delete lock;
- }
- else
- prev = &lock->lf_next;
- }
- if (node->i_lockf == NULL)
- {
- LIST_REMOVE (node, i_next);
- delete node;
- }
- }
- INODE_LIST_UNLOCK ();
- return 0;
-}
-
/* Create the lock event object in the file's subdir in the NT global
namespace. */
void
@@ -772,54 +629,6 @@ lockf_t::create_lock_obj ()
}
}
while (!NT_SUCCESS (status));
- /* For BSD locks, notify the parent process. */
- if (lf_flags & F_FLOCK)
- {
- HANDLE parent_proc, parent_thread, parent_lf_obj;
-
- pinfo p (myself->ppid);
- if (!p) /* No access or not a Cygwin parent. */
- return;
-
- parent_proc = OpenProcess (PROCESS_DUP_HANDLE
- | PROCESS_CREATE_THREAD
- | PROCESS_QUERY_INFORMATION
- | PROCESS_VM_OPERATION
- | PROCESS_VM_WRITE
- | PROCESS_VM_READ,
- FALSE, p->dwProcessId);
- if (!parent_proc)
- {
- debug_printf ("OpenProcess (%u): %E", p->dwProcessId);
- return;
- }
- if (!DuplicateHandle (GetCurrentProcess (), lf_obj, parent_proc,
- &parent_lf_obj, TRUE, 0, DUPLICATE_SAME_ACCESS))
- debug_printf ("DuplicateHandle (lf_obj): %E");
- else
- {
- parent_thread = CreateRemoteThread (parent_proc, NULL, 256 * 1024,
- create_lock_in_parent,
- parent_lf_obj,
- STACK_SIZE_PARAM_IS_A_RESERVATION,
- NULL);
- if (!parent_thread)
- {
- debug_printf ("CreateRemoteThread: %E");
- /* If thread didn't get started, close object handle in parent,
- otherwise suffer handle leaks. */
- DuplicateHandle (parent_proc, parent_lf_obj, parent_proc,
- NULL, 0, FALSE, DUPLICATE_CLOSE_SOURCE);
- }
- else
- {
- /* Must wait to avoid race conditions. */
- WaitForSingleObject (parent_thread, INFINITE);
- CloseHandle (parent_thread);
- }
- }
- CloseHandle (parent_proc);
- }
}
/* Open a lock event object for SYNCHRONIZE access (to wait for it). */
@@ -856,36 +665,7 @@ lockf_t::del_lock_obj (HANDLE fhdl, bool signal)
handle/descriptor to the same FILE_OBJECT/file table entry. */
if ((lf_flags & F_POSIX) || signal
|| (fhdl && get_obj_handle_count (fhdl) <= 1))
- {
- NtSetEvent (lf_obj, NULL);
- /* For BSD locks, notify the parent process. */
- if (lf_flags & F_FLOCK)
- {
- HANDLE parent_proc, parent_thread;
-
- pinfo p (myself->ppid);
- if (p && (parent_proc = OpenProcess (PROCESS_CREATE_THREAD
- | PROCESS_QUERY_INFORMATION
- | PROCESS_VM_OPERATION
- | PROCESS_VM_WRITE
- | PROCESS_VM_READ,
- FALSE, p->dwProcessId)))
- {
- parent_thread = CreateRemoteThread (parent_proc, NULL,
- 256 * 1024, delete_lock_in_parent,
- NULL,
- STACK_SIZE_PARAM_IS_A_RESERVATION,
- NULL);
- if (parent_thread)
- {
- /* Must wait to avoid race conditions. */
- WaitForSingleObject (parent_thread, INFINITE);
- CloseHandle (parent_thread);
- }
- CloseHandle (parent_proc);
- }
- }
- }
+ NtSetEvent (lf_obj, NULL);
close_lock_obj ();
}
}
@@ -1035,7 +815,7 @@ fhandler_disk_file::lock (int a_op, struct __flock64 *fl)
restart: /* Entry point after a restartable signal came in. */
- inode_t *node = inode_t::get (get_dev (), get_ino (), true, true);
+ inode_t *node = inode_t::get (get_dev (), get_ino (), true);
if (!node)
{
set_errno (ENOLCK);
@@ -1247,7 +1027,7 @@ lf_setlock (lockf_t *lock, inode_t *node, lockf_t **clean, HANDLE fhdl)
timeout = 100L;
DWORD WAIT_SIGNAL_ARRIVED = WAIT_OBJECT_0 + wait_count;
- set_signal_arrived here (w4[wait_count++]);
+ w4[wait_count++] = signal_arrived;
DWORD WAIT_THREAD_CANCELED = WAIT_TIMEOUT + 1;
HANDLE cancel_event = pthread::get_cancel_event ();
diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc
index 22076fc1d..56ba0fc0f 100644
--- a/winsup/cygwin/fork.cc
+++ b/winsup/cygwin/fork.cc
@@ -47,6 +47,83 @@ class frok
friend int fork ();
};
+class lock_signals
+{
+ bool worked;
+public:
+ lock_signals ()
+ {
+ worked = sig_send (NULL, __SIGHOLD) == 0;
+ }
+ operator int () const
+ {
+ return worked;
+ }
+ void dont_bother ()
+ {
+ worked = false;
+ }
+ ~lock_signals ()
+ {
+ if (worked)
+ sig_send (NULL, __SIGNOHOLD);
+ }
+};
+
+class lock_pthread
+{
+ bool bother;
+public:
+ lock_pthread (): bother (1)
+ {
+ pthread::atforkprepare ();
+ }
+ void dont_bother ()
+ {
+ bother = false;
+ }
+ ~lock_pthread ()
+ {
+ if (bother)
+ pthread::atforkparent ();
+ }
+};
+
+class hold_everything
+{
+public: /* DELETEME*/
+ bool& ischild;
+ /* Note the order of the locks below. It is important,
+ to avoid races, that the lock order be preserved.
+
+ pthread is first because it serves as a master lock
+ against other forks being attempted while this one is active.
+
+ signals is next to stop signal processing for the duration
+ of the fork.
+
+ process is last. If it is put before signals, then a deadlock
+ could be introduced if the process attempts to exit due to a signal. */
+ lock_pthread pthread;
+ lock_signals signals;
+ lock_process process;
+
+public:
+ hold_everything (bool& x): ischild (x) {}
+ operator int () const {return signals;}
+
+ ~hold_everything()
+ {
+ if (ischild)
+ {
+ pthread.dont_bother ();
+ process.dont_bother ();
+ signals.dont_bother ();
+ }
+ }
+
+};
+
static void
resume_child (HANDLE forker_finished)
{
@@ -109,25 +186,6 @@ frok::error (const char *fmt, ...)
return true;
}
-/* Set up a pipe which will track the life of a "pid" through
- even after we've exec'ed. */
-void
-child_info::prefork (bool detached)
-{
- if (!detached)
- {
- if (!CreatePipe (&rd_proc_pipe, &wr_proc_pipe, &sec_none_nih, 16))
- api_fatal ("prefork: couldn't create pipe process tracker%E");
-
- if (!SetHandleInformation (wr_proc_pipe, HANDLE_FLAG_INHERIT,
- HANDLE_FLAG_INHERIT))
- api_fatal ("prefork: couldn't set process pipe(%p) inherit state, %E",
- wr_proc_pipe);
- ProtectHandle1 (rd_proc_pipe, rd_proc_pipe);
- ProtectHandle1 (wr_proc_pipe, wr_proc_pipe);
- }
-}
-
int __stdcall
frok::child (volatile char * volatile here)
{
@@ -213,10 +271,6 @@ frok::child (volatile char * volatile here)
ld_preload ();
fixup_hooks_after_fork ();
_my_tls.fixup_after_fork ();
- /* Clear this or the destructor will close them. In the case of
- rd_proc_pipe that would be an invalid handle. In the case of
- wr_proc_pipe it would be == my_wr_proc_pipe. Both would be bad. */
- ch.rd_proc_pipe = ch.wr_proc_pipe = NULL;
cygwin_finished_initializing = true;
return 0;
}
@@ -349,19 +403,18 @@ frok::parent (volatile char * volatile stack_here)
cygheap->user.deimpersonate ();
fix_impersonation = true;
ch.refresh_cygheap ();
- ch.prefork (); /* set up process tracking pipes. */
while (1)
{
hchild = NULL;
- rc = CreateProcessW (myself->progname, /* image to run */
- myself->progname, /* what we send in arg0 */
+ rc = CreateProcessW (myself->progname, /* image to run */
+ myself->progname, /* what we send in arg0 */
&sec_none_nih,
&sec_none_nih,
- TRUE, /* inherit handles from parent */
+ TRUE, /* inherit handles from parent */
c_flags,
- NULL, /* environment filled in later */
- 0, /* use current drive/directory */
+ NULL, /* environment filled in later */
+ 0, /* use current drive/directory */
&si,
&pi);
@@ -393,8 +446,8 @@ frok::parent (volatile char * volatile stack_here)
/* Wait for subproc to initialize itself. */
if (!ch.sync (pi.dwProcessId, hchild, FORK_WAIT_TIMEOUT))
{
- if (!error ("forked process %u died unexpectedly, retry %d, exit code %d",
- pi.dwProcessId, ch.retry, ch.exit_code))
+ if (!error ("forked process died unexpectedly, retry %d, exit code %d",
+ ch.retry, ch.exit_code))
continue;
this_errno = EAGAIN;
goto cleanup;
@@ -426,7 +479,6 @@ frok::parent (volatile char * volatile stack_here)
/* Fill in fields in the child's process table entry. */
child->dwProcessId = pi.dwProcessId;
child.hProcess = hchild;
- ch.postfork (child);
/* Hopefully, this will succeed. The alternative to doing things this
way is to reserve space prior to calling CreateProcess and then fill
diff --git a/winsup/cygwin/gendef b/winsup/cygwin/gendef
index 5cc06f76c..a76711279 100755
--- a/winsup/cygwin/gendef
+++ b/winsup/cygwin/gendef
@@ -162,23 +162,62 @@ __sigbe: # return here after cygwin syscall
.global _sigdelayed
_sigdelayed:
- pushl %ebp
- movl %esp,%ebp
+ pushl %ebp
+ movl %esp,%ebp
pushf
- pushl %esi
- pushl %edi
- pushl %edx
- pushl %ecx
- pushl %ebx
- pushl %eax
- movl %fs:4,%ebx # get tls
- pushl $tls::saved_errno(%ebx) # saved errno
-
- movl \$$tls::start_offset,%eax # point to beginning
- addl %ebx,%eax # of tls block
- call __ZN7_cygtls19call_signal_handlerEv # call handler
+ pushl %esi
+ pushl %edi
+ pushl %edx
+ pushl %ecx
+ pushl %ebx
+ pushl %eax
+ movl %fs:4,%ebx
+1: movl \$1,%eax
+ xchgl %eax,$tls::stacklock(%ebx)
+ movl %eax,$tls::spinning(%ebx) # flag if we are waiting for lock
+ # If %eax is 1 then someone else has
+ # the lock but we want to flag that
+ # we're waiting for it. If %eax is 0
+ # then we're not spinning and 0 will
+ # reflect that.
+ testl %eax,%eax
+ jz 2f
+ call _yield
+ jmp 1b
+2: incl $tls::incyg(%ebx)
+ movl $tls::sig(%ebx),%eax
+ testl %eax,%eax
+ jz leave # call_signal_handler may have beat us
+ # to it
+ pushl $tls::saved_errno(%ebx) # saved errno
+ call _set_process_mask_delta
+ pushl %eax
+
+ # fill out handler arguments
+ xorl %eax,%eax # ucontext_t (currently not set)
+ pushl %eax
+ leal $tls::infodata(%ebx),%eax
+ pushl %eax # siginfo
+ pushl $tls::sig(%ebx) # signal number
+
+ pushl \$_sigreturn # where to return
+ pushl $tls::func(%ebx) # user-supplied signal func
+ cmpl \$0,$tls::threadkill(%ebx)#pthread_kill signal?
+ jnz 4f # yes. callee clears signal number
+ movl \$0,$tls::sig(%ebx) # zero the signal number as a
+ # flag to the signal handler thread
+ # that it is ok to set up sigsave
+4: decl $tls::incyg(%ebx)
+ decl $tls::stacklock(%ebx)
+ ret # return via signal handler
+
+ .global _sigreturn
+_sigreturn:
+ movl %fs:4,%ebx
+ incl $tls::incyg(%ebx)
+ addl \$12,%esp # remove arguments
+ call _set_process_mask\@4
- movl %fs:4,%ebx # reget tls
1: movl \$1,%eax # potential lock value
xchgl %eax,$tls::stacklock(%ebx) # see if we can grab it
movl %eax,$tls::spinning(%ebx) # flag if we are waiting for lock
@@ -255,7 +294,7 @@ stabilize_sig_stack:
cmpl \$0,$tls::sig(%ebx)
jz 3f
decl $tls::stacklock(%ebx) # unlock
- movl \$$tls::start_offset,%eax # point to beginning
+ movl \$-$tls::sizeof__cygtls,%eax # point to beginning
addl %ebx,%eax # of tls block
call __ZN7_cygtls19call_signal_handlerEv
jmp 1b
diff --git a/winsup/cygwin/gendevices b/winsup/cygwin/gendevices
index 3e514bcab..df21796d0 100755
--- a/winsup/cygwin/gendevices
+++ b/winsup/cygwin/gendevices
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-# Copyright 2003, 2004, 2005, 2006, 2012 Red Hat, Inc.
+# Copyright 2003, 2004, 2005 Red Hat, Inc.
#
# This file is part of Cygwin.
#
@@ -41,7 +41,6 @@ while (<INPUT>) {
my $x = $f->[0];
my $rest = $f->[1];
my ($dev, $devrest) = ($x =~ /([^%]+)(%.*)?$/o);
- $rest .= ', ' . (($dev =~ m%/dev/%o) ? 'true' : 'false');
push(@lines, generate($dev, $devrest, $rest, []));
}
@patterns = ();
@@ -55,7 +54,7 @@ chop $storage[$#storage];
chop $storage[$#storage];
$storage[$#storage] .= "\n";
splice(@lines, $storage_ix, 1,
- "const _RDATA device dev_storage[] =\n", "{\n",
+ "static const device dev_storage[] =\n", "{\n",
@storage, "};\n\n",
sort {$a cmp $b} values %pointers);
open(SHILKA, '>', $shilka);
@@ -71,7 +70,7 @@ if ($? == -1) {
}
chdir $cwd;
unlink $shilka;
-open(C, '<', $c) or die "$0: couldn't open $c - $!\n";
+open(C, $c) or die "$0: couldn't open $c - $!\n";
@lines = <C>;
close C;
unlink $c;
@@ -117,7 +116,6 @@ sub generate {
} else {
my $fh = $dev;
$fh =~ s%/%_%og;
- $fh =~ s%^:%__%o;
my $shilka_id = $fh;
my $storage_str = $fh . '_storage';
$fh =~ s/^_dev_/FH_/o;
@@ -128,9 +126,9 @@ sub generate {
@lines = ('"' . $dev . '"' . " = $shilka_id {return $storage_loc;}\n");
$rest = "$fh, $rest" if $rest =~ /^"/o;
$rest = fixup($rest, $vars);
- if ($rest =~ /^(.*), =(\S*_dev)\b\s*(.*)$/) {
+ if ($rest =~ /^(.*), ([a-z_]*_dev)/) {
$pointers{$2} ||= "const device *$2 = $storage_loc;\n";
- $rest = $1 . $3;
+ $rest = $1;
}
push(@storage, " {\"$dev\", " . $rest . "},\n");
}
@@ -157,7 +155,5 @@ sub devsort {
my $b0 = $b->[0];
$a0 =~ s/(\D)(\d+)/"$1" . sprintf "%05d", $2/e;
$b0 =~ s/(\D)(\d+)/"$1" . sprintf "%05d", $2/e;
- $a0 =~ s%^//%:%o;
- $b0 =~ s%^//%:%o;
return $a0 cmp $b0;
}
diff --git a/winsup/cygwin/gentls_offsets b/winsup/cygwin/gentls_offsets
index de9f1b993..2c96487d4 100755
--- a/winsup/cygwin/gentls_offsets
+++ b/winsup/cygwin/gentls_offsets
@@ -14,10 +14,10 @@ my $struct = '';
my @fields = ();
my $def = '';
$tls = join('', <TLS>);
-$tls =~ s/\A.*\n#pragma once\n//os;
$tls =~ s/\n[^\n]*gentls_offsets[^\n]*\n(.+)\Z/$1/os;
my $pre = $`;
substr($tls, 0, length($pre)) = '';
+$pre =~ s/\n#ifndef _[^\n]+\n/\n/os;
$pre .= "\n//*/";
$tls =~ s%/\*\s*gentls_offsets.*?/\*\s*gentls_offsets\s*\*/%%ogs;
foreach ($tls =~ /^.*\n/mg) {
@@ -60,7 +60,7 @@ main(int argc, char **argv)
# define poffset(f) (((char *) &(foo->f)) - ((char *) foo))
EOF
print TMP 'puts ("//;# autogenerated: Do not edit.\n");', "\n\n";
- print TMP "printf (\"//; \$tls::start_offset = -%d;\\n\", CYGTLS_PADSIZE);\n";
+ print TMP "printf (\"//; \$tls::sizeof_$struct = %d;\\n\", sizeof($struct\));\n";
for my $f (@fields) {
print TMP ' printf ("//; $tls::', $f, ' = %d;\n", ', "offset($f));\n";
print TMP ' printf ("//; $tls::p', $f, ' = %d;\n", ', "poffset($f));\n";
diff --git a/winsup/cygwin/glob.cc b/winsup/cygwin/glob.cc
index 4cc442eab..b732f14c5 100644
--- a/winsup/cygwin/glob.cc
+++ b/winsup/cygwin/glob.cc
@@ -111,9 +111,6 @@ __FBSDID("$FreeBSD: src/lib/libc/gen/glob.c,v 1.28 2010/05/12 17:44:00 gordon Ex
#define Cchar(c) (ignore_case_with_glob ? towlower (c) : (c))
#endif
-#undef MAXPATHLEN
-#define MAXPATHLEN 8192
-
#define DOLLAR '$'
#define DOT '.'
#define EOS '\0'
diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc
index 05a3c390b..07bfe2feb 100644
--- a/winsup/cygwin/globals.cc
+++ b/winsup/cygwin/globals.cc
@@ -1,7 +1,7 @@
/* globals.cc - Define global variables here.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -9,7 +9,7 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#define NO_GLOBALS_H
+#define _GLOBALS_H 1
#include "winsup.h"
#include "cygtls.h"
#include "perprocess.h"
@@ -21,7 +21,6 @@ details. */
HANDLE NO_COPY hMainThread;
HANDLE NO_COPY hProcToken;
HANDLE NO_COPY hProcImpToken;
-HANDLE my_wr_proc_pipe;
HMODULE NO_COPY cygwin_hmodule;
int NO_COPY sigExeced;
WCHAR windows_system_directory[MAX_PATH];
@@ -32,20 +31,20 @@ UINT system_wow64_directory_length;
/* program exit the program */
enum exit_states
-{
- ES_NOT_EXITING = 0,
- ES_EXIT_STARTING,
- ES_PROCESS_LOCKED,
- ES_EVENTS_TERMINATE,
- ES_SIGNAL,
- ES_CLOSEALL,
- ES_THREADTERM,
- ES_HUP_PGRP,
- ES_HUP_SID,
- ES_EXEC_EXIT,
- ES_TTY_TERMINATE,
- ES_FINAL
-};
+ {
+ ES_NOT_EXITING = 0,
+ ES_EXIT_STARTING,
+ ES_PROCESS_LOCKED,
+ ES_EVENTS_TERMINATE,
+ ES_SIGNAL,
+ ES_CLOSEALL,
+ ES_THREADTERM,
+ ES_HUP_PGRP,
+ ES_HUP_SID,
+ ES_EXEC_EXIT,
+ ES_TTY_TERMINATE,
+ ES_FINAL
+ };
exit_states NO_COPY exit_state;
@@ -54,12 +53,6 @@ int NO_COPY dynamically_loaded;
/* Some CYGWIN environment variable variables. */
bool allow_glob = true;
-bool ignore_case_with_glob = false;
-bool dos_file_warning = true;
-bool allow_winsymlinks = false;
-bool reset_com = false;
-bool pipe_byte = false;
-bool detect_bloda = false;
bool NO_COPY in_forkee;
@@ -97,7 +90,6 @@ UNICODE_STRING _RDATA ro_u_com = _ROU (L".com");
UNICODE_STRING _RDATA ro_u_scr = _ROU (L".scr");
UNICODE_STRING _RDATA ro_u_sys = _ROU (L".sys");
UNICODE_STRING _RDATA ro_u_proc = _ROU (L"proc");
-UNICODE_STRING _RDATA ro_u_dev = _ROU (L"dev");
UNICODE_STRING _RDATA ro_u_pmem = _ROU (L"\\Device\\PhysicalMemory");
UNICODE_STRING _RDATA ro_u_natp = _ROU (L"\\??\\");
UNICODE_STRING _RDATA ro_u_uncp = _ROU (L"\\??\\UNC\\");
@@ -107,7 +99,6 @@ UNICODE_STRING _RDATA ro_u_fat = _ROU (L"FAT");
UNICODE_STRING _RDATA ro_u_mvfs = _ROU (L"MVFS");
UNICODE_STRING _RDATA ro_u_nfs = _ROU (L"NFS");
UNICODE_STRING _RDATA ro_u_ntfs = _ROU (L"NTFS");
-UNICODE_STRING _RDATA ro_u_refs = _ROU (L"ReFS");
UNICODE_STRING _RDATA ro_u_sunwnfs = _ROU (L"SUNWNFS");
UNICODE_STRING _RDATA ro_u_udf = _ROU (L"UDF");
UNICODE_STRING _RDATA ro_u_unixfs = _ROU (L"UNIXFS");
@@ -166,6 +157,7 @@ extern "C"
/* threadinterface */ &_mtinterf,
/* impure_ptr */ _GLOBAL_REENT,
};
+ bool ignore_case_with_glob;
int _check_for_executable = true;
};
diff --git a/winsup/cygwin/heap.cc b/winsup/cygwin/heap.cc
index 433628e06..d58a4cfcc 100644
--- a/winsup/cygwin/heap.cc
+++ b/winsup/cygwin/heap.cc
@@ -192,15 +192,8 @@ heap_init ()
api_fatal ("MEM_COMMIT failed, %E");
}
- /* CV 2012-05-21: Moved printing heap size here from strace::activate.
- The value printed in strace.activate was always wrong, because at the
- time it's called, cygheap points to cygheap_dummy. Above all, the heap
- size has not been evaluated yet, except in a forked child. Since
- heap_init is called early, the heap size is printed pretty much at the
- start of the strace output, so there isn't anything lost. */
- debug_printf ("heap base %p, heap top %p, heap size %p (%u)",
- cygheap->user_heap.base, cygheap->user_heap.top,
- cygheap->user_heap.chunk, cygheap->user_heap.chunk);
+ debug_printf ("heap base %p, heap top %p", cygheap->user_heap.base,
+ cygheap->user_heap.top);
page_const--;
// malloc_init ();
}
diff --git a/winsup/cygwin/hires.h b/winsup/cygwin/hires.h
index c9a4def38..7d84a52cd 100644
--- a/winsup/cygwin/hires.h
+++ b/winsup/cygwin/hires.h
@@ -1,6 +1,6 @@
/* hires.h: Definitions for hires clock calculations
- Copyright 2002, 2003, 2004, 2005, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2002, 2003, 2004, 2005, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -62,6 +62,7 @@ class hires_ms : public hires_base
LONGLONG nsecs ();
LONGLONG usecs () {return nsecs () / 10LL;}
LONGLONG msecs () {return nsecs () / 10000LL;}
+ UINT dmsecs () { return timeGetTime_ns () / 10000LL; }
UINT resolution ();
LONGLONG uptime () {return (nsecs () - initime_ns) / 10000LL;}
};
diff --git a/winsup/cygwin/hookapi.cc b/winsup/cygwin/hookapi.cc
index 83e9f498a..8137b85d2 100644
--- a/winsup/cygwin/hookapi.cc
+++ b/winsup/cygwin/hookapi.cc
@@ -1,6 +1,6 @@
/* hookapi.cc
- Copyright 2005, 2006, 2007, 2008, 2011, 2012 Red Hat, Inc.
+ Copyright 2005, 2006, 2007, 2008, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -49,18 +49,14 @@ PEHeaderFromHModule (HMODULE hModule)
}
static long
-rvadelta (PIMAGE_NT_HEADERS pnt, DWORD import_rva, DWORD &max_size)
+rvadelta (PIMAGE_NT_HEADERS pnt, DWORD import_rva)
{
PIMAGE_SECTION_HEADER section = (PIMAGE_SECTION_HEADER) (pnt + 1);
for (int i = 0; i < pnt->FileHeader.NumberOfSections; i++)
if (section[i].VirtualAddress <= import_rva
&& (section[i].VirtualAddress + section[i].Misc.VirtualSize) > import_rva)
// if (ascii_strncasematch ((char *) section[i].Name, ".idata", IMAGE_SIZEOF_SHORT_NAME))
- {
- max_size = section[i].SizeOfRawData
- - (import_rva - section[i].VirtualAddress);
- return section[i].VirtualAddress - section[i].PointerToRawData;
- }
+ return section[i].VirtualAddress - section[i].PointerToRawData;
return -1;
}
@@ -165,8 +161,7 @@ makename (const char *name, char *&buf, int& i, int inc)
/* Find first missing dll in a given executable.
FIXME: This is not foolproof since it doesn't look for dlls in the
same directory as the given executable, like Windows. Instead it
- searches for dlls in the context of the current executable.
- It also only finds direct dependencies, not indirect ones. */
+ searches for dlls in the context of the current executable. */
const char *
find_first_notloaded_dll (path_conv& pc)
{
@@ -177,7 +172,6 @@ find_first_notloaded_dll (path_conv& pc)
IO_STATUS_BLOCK io;
HANDLE h;
NTSTATUS status;
- LARGE_INTEGER size;
status = NtOpenFile (&h, SYNCHRONIZE | GENERIC_READ,
pc.get_object_attr (attr, sec_none_nih),
@@ -187,27 +181,13 @@ find_first_notloaded_dll (path_conv& pc)
| FILE_NON_DIRECTORY_FILE);
if (!NT_SUCCESS (status))
goto out;
- /* Just as in hook_or_detect_cygwin below, we have to take big executables
- into account. That means, we must not try to map the entire file, since
- there's no guarantee that the current process has enough VM in one block
- left for this mapping. The offset computation below ignores very big
- executables for now. In theory, since the import RVA table appears to
- be more or less at the end of the data section, independent of the used
- compiler, that shouldn't matter. */
- if (!GetFileSizeEx (h, &size))
- {
- NtClose (h);
- goto out;
- }
- if (size.QuadPart > wincap.allocation_granularity ())
- size.LowPart = wincap.allocation_granularity ();
+
hc = CreateFileMapping (h, &sec_none_nih, PAGE_READONLY, 0, 0, NULL);
NtClose (h);
if (!hc)
goto out;
- hm = (HMODULE) MapViewOfFile(hc, FILE_MAP_READ, 0, 0, size.LowPart);
- if (!hm)
- goto out;
+ hm = (HMODULE) MapViewOfFile(hc, FILE_MAP_READ, 0, 0, 0);
+ CloseHandle (hc);
PIMAGE_NT_HEADERS pExeNTHdr;
pExeNTHdr = PEHeaderFromHModule (hm);
@@ -215,55 +195,32 @@ find_first_notloaded_dll (path_conv& pc)
if (pExeNTHdr)
{
DWORD importRVA;
- DWORD importRVAMaxSize;
importRVA = pExeNTHdr->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress;
if (importRVA)
{
- long delta = rvadelta (pExeNTHdr, importRVA, importRVAMaxSize);
- if (delta < 0)
- goto out;
- importRVA -= delta;
-
- DWORD offset = 0;
- HMODULE map = NULL;
- if (importRVA + importRVAMaxSize > wincap.allocation_granularity ())
- {
- offset = rounddown (importRVA, wincap.allocation_granularity ());
- DWORD size = importRVA - offset + importRVAMaxSize;
- map = (HMODULE) MapViewOfFile (hc, FILE_MAP_READ, 0,
- offset, size);
- if (!map)
- goto out;
- }
+ long delta = rvadelta (pExeNTHdr, importRVA);
// Convert imports RVA to a usable pointer
PIMAGE_IMPORT_DESCRIPTOR pdfirst;
- pdfirst = rva (PIMAGE_IMPORT_DESCRIPTOR, map ?: hm,
- importRVA - offset);
+ pdfirst = rva (PIMAGE_IMPORT_DESCRIPTOR, hm, importRVA - delta);
// Iterate through each import descriptor, and redirect if appropriate
for (PIMAGE_IMPORT_DESCRIPTOR pd = pdfirst; pd->FirstThunk; pd++)
{
- const char *lib = rva (PSTR, map ?: hm,
- pd->Name - delta - offset);
+ const char *lib = rva (PSTR, hm, pd->Name - delta);
if (!LoadLibraryEx (lib, NULL, DONT_RESOLVE_DLL_REFERENCES
| LOAD_LIBRARY_AS_DATAFILE))
{
- static char buf[MAX_PATH];
- strlcpy (buf, lib, MAX_PATH);
- res = buf;
+ static char buf[NT_MAX_PATH];
+ res = strcpy (buf, lib);
}
}
- if (map)
- UnmapViewOfFile (map);
}
}
out:
if (hm)
UnmapViewOfFile (hm);
- if (hc)
- CloseHandle (hc);
return res;
}
@@ -276,11 +233,7 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h)
PIMAGE_NT_HEADERS pExeNTHdr = PEHeaderFromHModule (hm);
if (!pExeNTHdr)
- return NULL;
-
- /* FIXME: This code has to be made 64 bit capable. */
- if (pExeNTHdr->FileHeader.Machine != IMAGE_FILE_MACHINE_I386)
- return NULL;
+ return false;
subsys = pExeNTHdr->OptionalHeader.Subsystem;
@@ -289,19 +242,18 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h)
DWORD importRVASize = pExeNTHdr->OptionalHeader.DataDirectory
[IMAGE_DIRECTORY_ENTRY_IMPORT].Size;
if (!importRVA)
- return NULL;
+ return false;
- DWORD importRVAMaxSize;
- long delta = fn ? 0 : rvadelta (pExeNTHdr, importRVA, importRVAMaxSize);
+ long delta = fn ? 0 : rvadelta (pExeNTHdr, importRVA);
if (delta < 0)
- return NULL;
+ return false;
importRVA -= delta;
// Convert imports RVA to a usable pointer
PIMAGE_IMPORT_DESCRIPTOR pdfirst;
char *map = NULL;
DWORD offset = 0;
- if (h && importRVA + importRVAMaxSize > wincap.allocation_granularity ())
+ if (h && importRVA + importRVASize > wincap.allocation_granularity ())
{
/* If h is not NULL, the calling function only mapped at most the first
64K of the image. The IAT is usually at the end of the image, so
@@ -309,46 +261,11 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h)
reside in the first 64K anyway. The offset must be a multiple of the
allocation granularity, though, so we have to map a bit more. */
offset = rounddown (importRVA, wincap.allocation_granularity ());
- /* But that's not all, unfortunately. Apparently there's a difference
- between the importRVASize of applications built with gcc and those
- built with Visual Studio. When built with gcc, importRVASize contains
- the size of the import RVA table plus the size of the referenced
- string table with the DLL names. When built with VS, it only contains
- the size of the naked import RVA table. The following code handles
- the situation. importRVAMaxSize contains the size of the remainder
- of the section. If the difference between importRVAMaxSize and
- importRVASize is less than 64K, we just use importRVAMaxSize to
- compute the size of the memory map. Otherwise the executable may be
- very big. In that case we only map the import RVA table and ... */
- DWORD size = importRVA - offset
- + ((importRVAMaxSize - importRVASize
- <= wincap.allocation_granularity ())
- ? importRVAMaxSize : importRVASize);
+ DWORD size = importRVA - offset + importRVASize;
map = (char *) MapViewOfFile (h, FILE_MAP_READ, 0, offset, size);
if (!map)
- return NULL;
+ return false;
pdfirst = rva (PIMAGE_IMPORT_DESCRIPTOR, map, importRVA - offset);
- /* ... carefully check the required size to fit the string table into
- the map as well. Allow NAME_MAX bytes for the DLL name, but don't
- go beyond the remainder of the section. */
- if (importRVAMaxSize - importRVASize > wincap.allocation_granularity ())
- {
- DWORD newsize = size;
- for (PIMAGE_IMPORT_DESCRIPTOR pd = pdfirst; pd->FirstThunk; pd++)
- if (pd->Name - delta - offset + (NAME_MAX + 1) > newsize)
- newsize = pd->Name - delta - offset + (NAME_MAX + 1);
- if (newsize > size)
- {
- if (newsize > importRVA - offset + importRVAMaxSize)
- newsize = importRVA - offset + importRVAMaxSize;
- UnmapViewOfFile (map);
- map = (char *) MapViewOfFile (h, FILE_MAP_READ, 0, offset,
- newsize);
- if (!map)
- return NULL;
- pdfirst = rva (PIMAGE_IMPORT_DESCRIPTOR, map, importRVA - offset);
- }
- }
}
else
pdfirst = rva (PIMAGE_IMPORT_DESCRIPTOR, hm, importRVA);
@@ -356,9 +273,7 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h)
function_hook fh;
fh.origfn = NULL;
fh.hookfn = fn;
- char *buf = NULL;
- if (fn)
- buf = (char *) alloca (strlen (name) + sizeof ("_64"));
+ char *buf = (char *) alloca (strlen (name) + sizeof ("_64"));
int i = 0;
// Iterate through each import descriptor, and redirect if appropriate
for (PIMAGE_IMPORT_DESCRIPTOR pd = pdfirst; pd->FirstThunk; pd++)
@@ -381,8 +296,6 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h)
if (map)
UnmapViewOfFile (map);
- if (!fn)
- return NULL;
while (!fh.origfn && (fh.name = makename (name, buf, i, -1)))
get_export (fh);
diff --git a/winsup/cygwin/include/cygwin/if.h b/winsup/cygwin/include/cygwin/if.h
index d99cda7bc..8f76e836e 100644
--- a/winsup/cygwin/include/cygwin/if.h
+++ b/winsup/cygwin/include/cygwin/if.h
@@ -111,12 +111,10 @@ struct ifconf
#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */
#define ifc_req ifc_ifcu.ifcu_req /* array of structures */
-#ifndef __INSIDE_CYGWIN_NET__
extern unsigned if_nametoindex (const char *);
extern char *if_indextoname (unsigned, char *);
extern struct if_nameindex *if_nameindex (void);
extern void if_freenameindex (struct if_nameindex *);
-#endif
#ifdef __cplusplus
};
diff --git a/winsup/cygwin/include/cygwin/in.h b/winsup/cygwin/include/cygwin/in.h
index 49957293d..30ac623a8 100644
--- a/winsup/cygwin/include/cygwin/in.h
+++ b/winsup/cygwin/include/cygwin/in.h
@@ -23,8 +23,6 @@
typedef uint16_t in_port_t;
typedef uint32_t in_addr_t;
-#ifndef __INSIDE_CYGWIN_NET__
-
/* Standard well-defined IP protocols. If you ever add one here, don't
forget to define it below. */
enum
@@ -262,6 +260,4 @@ struct sockaddr_in
#ifdef AF_INET6
#include <cygwin/in6.h>
#endif
-#endif
-
#endif /* _CYGWIN_IN_H */
diff --git a/winsup/cygwin/include/cygwin/socket.h b/winsup/cygwin/include/cygwin/socket.h
index 678b1031a..0f099241a 100644
--- a/winsup/cygwin/include/cygwin/socket.h
+++ b/winsup/cygwin/include/cygwin/socket.h
@@ -1,6 +1,6 @@
/* cygwin/socket.h
- Copyright 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2010, 2012 Red Hat, Inc.
+ Copyright 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2010 Red Hat, Inc.
This file is part of Cygwin.
@@ -26,7 +26,6 @@ typedef int socklen_t;
typedef uint16_t sa_family_t;
-#ifndef __INSIDE_CYGWIN_NET__
struct sockaddr {
sa_family_t sa_family; /* address family, AF_xxx */
char sa_data[14]; /* 14 bytes of protocol address */
@@ -45,7 +44,6 @@ struct sockaddr_storage {
int64_t __ss_align;
char _ss_pad2[_SS_PAD2SIZE];
};
-#endif
#include <asm/socket.h> /* arch-dependent defines */
#include <cygwin/sockios.h> /* the SIOCxxx I/O controls */
@@ -205,9 +203,6 @@ struct OLD_msghdr
#define MSG_NOSIGNAL 0x20 /* Don't raise SIGPIPE */
#define MSG_TRUNC 0x0100 /* Normal data truncated */
#define MSG_CTRUNC 0x0200 /* Control data truncated */
-/* Windows-specific flag values returned by recvmsg. */
-#define MSG_BCAST 0x0400 /* Broadcast datagram */
-#define MSG_MCAST 0x0800 /* Multicast datagram */
/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */
#define SOL_IP 0
@@ -274,10 +269,8 @@ struct OLD_msghdr
#define MCAST_JOIN_SOURCE_GROUP 45
#define MCAST_LEAVE_SOURCE_GROUP 46
-#ifndef __INSIDE_CYGWIN_NET__
-#define MCAST_INCLUDE 0
-#define MCAST_EXCLUDE 1
-#endif
+#define MCAST_EXCLUDE 0
+#define MCAST_INCLUDE 1
/* Old WinSock1 values, needed internally */
#ifdef __INSIDE_CYGWIN__
diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h
index 34f501f13..be5855843 100644
--- a/winsup/cygwin/include/cygwin/version.h
+++ b/winsup/cygwin/include/cygwin/version.h
@@ -43,7 +43,7 @@ details. */
changes to the DLL and is mainly informative in nature. */
#define CYGWIN_VERSION_DLL_MAJOR 1007
-#define CYGWIN_VERSION_DLL_MINOR 17
+#define CYGWIN_VERSION_DLL_MINOR 11
/* Major numbers before CYGWIN_VERSION_DLL_EPOCH are
incompatible. */
@@ -429,14 +429,12 @@ details. */
258: Export get_current_dir_name.
259: Export pthread_sigqueue.
260: Export scandirat.
- 261: Export memrchr.
- 262: Export getmntent_r.
*/
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
#define CYGWIN_VERSION_API_MAJOR 0
-#define CYGWIN_VERSION_API_MINOR 262
+#define CYGWIN_VERSION_API_MINOR 260
/* There is also a compatibity version number associated with the
shared memory regions. It is incremented when incompatible
diff --git a/winsup/cygwin/include/elf.h b/winsup/cygwin/include/elf.h
index c094a1c78..0981dedce 100644
--- a/winsup/cygwin/include/elf.h
+++ b/winsup/cygwin/include/elf.h
@@ -1,41 +1,25 @@
-/*-
- * Copyright (c) 2001 David E. O'Brien.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
+/* elf.h
-/*
- * This is a Solaris compatibility header
- */
+ Copyright 2005 Red Hat, Inc.
+
+This file is part of Cygwin.
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+details. */
#ifndef _ELF_H_
#define _ELF_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
#include <sys/types.h>
-#include <machine/elf.h>
#include <sys/elf32.h>
#include <sys/elf64.h>
+#include <sys/elf_generic.h>
+#ifdef __cplusplus
+}
+#endif
-#endif /* !_ELF_H_ */
+#endif /*_ELF_H_*/
diff --git a/winsup/cygwin/include/inttypes.h b/winsup/cygwin/include/inttypes.h
index cc1d8970a..b24037eb4 100644
--- a/winsup/cygwin/include/inttypes.h
+++ b/winsup/cygwin/include/inttypes.h
@@ -1,6 +1,6 @@
/* inttypes.h - fixed size integer types
- Copyright 2003, 2005, 2009, 2010, 2012 Red Hat, Inc.
+ Copyright 2003, 2009, 2010 Red Hat, Inc.
This file is part of Cygwin.
@@ -15,238 +15,211 @@ details. */
#define __need_wchar_t
#include <stddef.h>
-/* C99 requires that in C++ the following macros should be defined only
- if requested. */
-#if !defined (__cplusplus) || defined (__STDC_FORMAT_MACROS) \
- || defined (__INSIDE_CYGWIN__)
-
-#ifdef __x86_64__
-#define __PRI64 "l"
-#define __PRIFAST "l"
-#define __PRIPTR "l"
-#else
-#define __PRI64 "ll"
-#define __PRIFAST
-#define __PRIPTR
-#endif
-
/* fprintf() macros for signed integers */
#define PRId8 "d"
#define PRId16 "d"
#define PRId32 "d"
-#define PRId64 __PRI64 "d"
+#define PRId64 "lld"
#define PRIdLEAST8 "d"
#define PRIdLEAST16 "d"
#define PRIdLEAST32 "d"
-#define PRIdLEAST64 __PRI64 "d"
+#define PRIdLEAST64 "lld"
#define PRIdFAST8 "d"
-#define PRIdFAST16 __PRIFAST "d"
-#define PRIdFAST32 __PRIFAST "d"
-#define PRIdFAST64 __PRI64 "d"
+#define PRIdFAST16 "d"
+#define PRIdFAST32 "d"
+#define PRIdFAST64 "lld"
-#define PRIdMAX __PRI64 "d"
-#define PRIdPTR __PRIPTR "d"
+#define PRIdMAX "lld"
+#define PRIdPTR "d"
#define PRIi8 "i"
#define PRIi16 "i"
#define PRIi32 "i"
-#define PRIi64 __PRI64 "i"
+#define PRIi64 "lli"
#define PRIiLEAST8 "i"
#define PRIiLEAST16 "i"
#define PRIiLEAST32 "i"
-#define PRIiLEAST64 __PRI64 "i"
+#define PRIiLEAST64 "lli"
#define PRIiFAST8 "i"
-#define PRIiFAST16 __PRIFAST "i"
-#define PRIiFAST32 __PRIFAST "i"
-#define PRIiFAST64 __PRI64 "i"
+#define PRIiFAST16 "i"
+#define PRIiFAST32 "i"
+#define PRIiFAST64 "lli"
-#define PRIiMAX __PRI64 "i"
-#define PRIiPTR __PRIPTR "i"
+#define PRIiMAX "lli"
+#define PRIiPTR "i"
/* fprintf() macros for unsigned integers */
#define PRIo8 "o"
#define PRIo16 "o"
#define PRIo32 "o"
-#define PRIo64 __PRI64 "o"
+#define PRIo64 "llo"
#define PRIoLEAST8 "o"
#define PRIoLEAST16 "o"
#define PRIoLEAST32 "o"
-#define PRIoLEAST64 __PRI64 "o"
+#define PRIoLEAST64 "llo"
#define PRIoFAST8 "o"
-#define PRIoFAST16 __PRIFAST "o"
-#define PRIoFAST32 __PRIFAST "o"
-#define PRIoFAST64 __PRI64 "o"
+#define PRIoFAST16 "o"
+#define PRIoFAST32 "o"
+#define PRIoFAST64 "llo"
-#define PRIoMAX __PRI64 "o"
-#define PRIoPTR __PRIPTR "o"
+#define PRIoMAX "llo"
+#define PRIoPTR "o"
#define PRIu8 "u"
#define PRIu16 "u"
#define PRIu32 "u"
-#define PRIu64 __PRI64 "u"
+#define PRIu64 "llu"
#define PRIuLEAST8 "u"
#define PRIuLEAST16 "u"
#define PRIuLEAST32 "u"
-#define PRIuLEAST64 __PRI64 "u"
+#define PRIuLEAST64 "llu"
#define PRIuFAST8 "u"
-#define PRIuFAST16 __PRIFAST "u"
-#define PRIuFAST32 __PRIFAST "u"
-#define PRIuFAST64 __PRI64 "u"
+#define PRIuFAST16 "u"
+#define PRIuFAST32 "u"
+#define PRIuFAST64 "llu"
-#define PRIuMAX __PRI64 "u"
-#define PRIuPTR __PRIPTR "u"
+#define PRIuMAX "llu"
+#define PRIuPTR "u"
#define PRIx8 "x"
#define PRIx16 "x"
#define PRIx32 "x"
-#define PRIx64 __PRI64 "x"
+#define PRIx64 "llx"
#define PRIxLEAST8 "x"
#define PRIxLEAST16 "x"
#define PRIxLEAST32 "x"
-#define PRIxLEAST64 __PRI64 "x"
+#define PRIxLEAST64 "llx"
#define PRIxFAST8 "x"
-#define PRIxFAST16 __PRIFAST "x"
-#define PRIxFAST32 __PRIFAST "x"
-#define PRIxFAST64 __PRI64 "x"
+#define PRIxFAST16 "x"
+#define PRIxFAST32 "x"
+#define PRIxFAST64 "llx"
-#define PRIxMAX __PRI64 "x"
-#define PRIxPTR __PRIPTR "x"
+#define PRIxMAX "llx"
+#define PRIxPTR "x"
#define PRIX8 "X"
#define PRIX16 "X"
#define PRIX32 "X"
-#define PRIX64 __PRI64 "X"
+#define PRIX64 "llX"
#define PRIXLEAST8 "X"
#define PRIXLEAST16 "X"
#define PRIXLEAST32 "X"
-#define PRIXLEAST64 __PRI64 "X"
+#define PRIXLEAST64 "llX"
#define PRIXFAST8 "X"
-#define PRIXFAST16 __PRIFAST "X"
-#define PRIXFAST32 __PRIFAST "X"
-#define PRIXFAST64 __PRI64 "X"
+#define PRIXFAST16 "X"
+#define PRIXFAST32 "X"
+#define PRIXFAST64 "llX"
-#define PRIXMAX __PRI64 "X"
-#define PRIXPTR __PRIPTR "X"
+#define PRIXMAX "llX"
+#define PRIXPTR "X"
/* fscanf() macros for signed integers */
-#ifdef __x86_64__
-#define __SCN64 "l"
-#define __SCNFAST "l"
-#define __SCNPTR "l"
-#else
-#define __SCN64 "ll"
-#define __SCNFAST
-#define __SCNPTR
-#endif
-
#define SCNd8 "hhd"
#define SCNd16 "hd"
#define SCNd32 "d"
-#define SCNd64 __SCN64 "d"
+#define SCNd64 "lld"
#define SCNdLEAST8 "hhd"
#define SCNdLEAST16 "hd"
#define SCNdLEAST32 "d"
-#define SCNdLEAST64 __SCN64 "d"
+#define SCNdLEAST64 "lld"
#define SCNdFAST8 "hhd"
-#define SCNdFAST16 __SCNFAST "d"
-#define SCNdFAST32 __SCNFAST "d"
-#define SCNdFAST64 __SCN64 "d"
+#define SCNdFAST16 "d"
+#define SCNdFAST32 "d"
+#define SCNdFAST64 "lld"
-#define SCNdMAX __SCN64 "d"
-#define SCNdPTR __SCNPTR "d"
+#define SCNdMAX "lld"
+#define SCNdPTR "d"
#define SCNi8 "hhi"
#define SCNi16 "hi"
#define SCNi32 "i"
-#define SCNi64 __SCN64 "i"
+#define SCNi64 "lli"
#define SCNiLEAST8 "hhi"
#define SCNiLEAST16 "hi"
#define SCNiLEAST32 "i"
-#define SCNiLEAST64 __SCN64 "i"
+#define SCNiLEAST64 "lli"
#define SCNiFAST8 "hhi"
-#define SCNiFAST16 __SCNFAST "i"
-#define SCNiFAST32 __SCNFAST "i"
-#define SCNiFAST64 __SCN64 "i"
+#define SCNiFAST16 "i"
+#define SCNiFAST32 "i"
+#define SCNiFAST64 "lli"
-#define SCNiMAX __SCN64 "i"
-#define SCNiPTR __SCNPTR "i"
+#define SCNiMAX "lli"
+#define SCNiPTR "i"
/* fscanf() macros for unsigned integers */
#define SCNo8 "hho"
#define SCNo16 "ho"
#define SCNo32 "o"
-#define SCNo64 __SCN64 "o"
+#define SCNo64 "llo"
#define SCNoLEAST8 "hho"
#define SCNoLEAST16 "ho"
#define SCNoLEAST32 "o"
-#define SCNoLEAST64 __SCN64 "o"
+#define SCNoLEAST64 "llo"
#define SCNoFAST8 "hho"
-#define SCNoFAST16 __SCNFAST "o"
-#define SCNoFAST32 __SCNFAST "o"
-#define SCNoFAST64 __SCN64 "o"
+#define SCNoFAST16 "o"
+#define SCNoFAST32 "o"
+#define SCNoFAST64 "llo"
-#define SCNoMAX __SCN64 "o"
-#define SCNoPTR __SCNPTR "o"
+#define SCNoMAX "llo"
+#define SCNoPTR "o"
#define SCNu8 "hhu"
#define SCNu16 "hu"
#define SCNu32 "u"
-#define SCNu64 __SCN64 "u"
+#define SCNu64 "llu"
#define SCNuLEAST8 "hhu"
#define SCNuLEAST16 "hu"
#define SCNuLEAST32 "u"
-#define SCNuLEAST64 __SCN64 "u"
+#define SCNuLEAST64 "llu"
#define SCNuFAST8 "hhu"
-#define SCNuFAST16 __SCNFAST "u"
-#define SCNuFAST32 __SCNFAST "u"
-#define SCNuFAST64 __SCN64 "u"
+#define SCNuFAST16 "u"
+#define SCNuFAST32 "u"
+#define SCNuFAST64 "llu"
-#define SCNuMAX __SCN64 "u"
-#define SCNuPTR __SCNPTR "u"
+#define SCNuMAX "llu"
+#define SCNuPTR "u"
#define SCNx8 "hhx"
#define SCNx16 "hx"
#define SCNx32 "x"
-#define SCNx64 __SCN64 "x"
+#define SCNx64 "llx"
#define SCNxLEAST8 "hhx"
#define SCNxLEAST16 "hx"
#define SCNxLEAST32 "x"
-#define SCNxLEAST64 __SCN64 "x"
+#define SCNxLEAST64 "llx"
#define SCNxFAST8 "hhx"
-#define SCNxFAST16 __SCNFAST "x"
-#define SCNxFAST32 __SCNFAST "x"
-#define SCNxFAST64 __SCN64 "x"
-
-#define SCNxMAX __SCN64 "x"
-#define SCNxPTR __SCNPTR "x"
+#define SCNxFAST16 "x"
+#define SCNxFAST32 "x"
+#define SCNxFAST64 "llx"
-#endif /* !__cplusplus || __STDC_FORMAT_MACROS || __INSIDE_CYGWIN__ */
+#define SCNxMAX "llx"
+#define SCNxPTR "x"
#ifdef __cplusplus
extern "C" {
diff --git a/winsup/cygwin/include/machine/elf.h b/winsup/cygwin/include/machine/elf.h
deleted file mode 100644
index 94278118f..000000000
--- a/winsup/cygwin/include/machine/elf.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/*-
- * Copyright (c) 1996-1997 John D. Polstra.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_ELF_H_
-#define _MACHINE_ELF_H_ 1
-
-/*
- * ELF definitions for the i386 architecture.
- */
-
-#include <sys/elf32.h> /* Definitions common to all 32 bit architectures. */
-#if defined(__ELF_WORD_SIZE) && __ELF_WORD_SIZE == 64
-#include <sys/elf64.h> /* Definitions common to all 64 bit architectures. */
-#endif
-
-#ifndef __ELF_WORD_SIZE
-#define __ELF_WORD_SIZE 32 /* Used by <sys/elf_generic.h> */
-#endif
-
-#include <sys/elf_generic.h>
-
-#define ELF_ARCH EM_386
-
-#define ELF_MACHINE_OK(x) ((x) == EM_386 || (x) == EM_486)
-
-/*
- * Auxiliary vector entries for passing information to the interpreter.
- *
- * The i386 supplement to the SVR4 ABI specification names this "auxv_t",
- * but POSIX lays claim to all symbols ending with "_t".
- */
-
-typedef struct { /* Auxiliary vector entry on initial stack */
- int a_type; /* Entry type. */
- union {
- long a_val; /* Integer value. */
- void *a_ptr; /* Address. */
- void (*a_fcn)(void); /* Function pointer (not used). */
- } a_un;
-} Elf32_Auxinfo;
-
-#if __ELF_WORD_SIZE == 64
-/* Fake for amd64 loader support */
-typedef struct {
- int fake;
-} Elf64_Auxinfo;
-#endif
-
-__ElfType(Auxinfo);
-
-/* Values for a_type. */
-#define AT_NULL 0 /* Terminates the vector. */
-#define AT_IGNORE 1 /* Ignored entry. */
-#define AT_EXECFD 2 /* File descriptor of program to load. */
-#define AT_PHDR 3 /* Program header of program already loaded. */
-#define AT_PHENT 4 /* Size of each program header entry. */
-#define AT_PHNUM 5 /* Number of program header entries. */
-#define AT_PAGESZ 6 /* Page size in bytes. */
-#define AT_BASE 7 /* Interpreter's base address. */
-#define AT_FLAGS 8 /* Flags (unused for i386). */
-#define AT_ENTRY 9 /* Where interpreter should transfer control. */
-#define AT_NOTELF 10 /* Program is not ELF ?? */
-#define AT_UID 11 /* Real uid. */
-#define AT_EUID 12 /* Effective uid. */
-#define AT_GID 13 /* Real gid. */
-#define AT_EGID 14 /* Effective gid. */
-#define AT_EXECPATH 15 /* Path to the executable. */
-#define AT_CANARY 16 /* Canary for SSP. */
-#define AT_CANARYLEN 17 /* Length of the canary. */
-#define AT_OSRELDATE 18 /* OSRELDATE. */
-#define AT_NCPUS 19 /* Number of CPUs. */
-#define AT_PAGESIZES 20 /* Pagesizes. */
-#define AT_PAGESIZESLEN 21 /* Number of pagesizes. */
-#define AT_STACKPROT 23 /* Initial stack protection. */
-
-#define AT_COUNT 24 /* Count of defined aux entry types. */
-
-/*
- * Relocation types.
- */
-
-#define R_386_COUNT 38 /* Count of defined relocation types. */
-
-/* Define "machine" characteristics */
-#define ELF_TARG_CLASS ELFCLASS32
-#define ELF_TARG_DATA ELFDATA2LSB
-#define ELF_TARG_MACH EM_386
-#define ELF_TARG_VER 1
-
-#define ET_DYN_LOAD_ADDR 0x01001000
-
-#endif /* !_MACHINE_ELF_H_ */
diff --git a/winsup/cygwin/include/mntent.h b/winsup/cygwin/include/mntent.h
index 5fb8e3a70..8ad270ba0 100644
--- a/winsup/cygwin/include/mntent.h
+++ b/winsup/cygwin/include/mntent.h
@@ -31,7 +31,6 @@ struct mntent
#include <stdio.h>
FILE *setmntent (const char *__filep, const char *__type);
struct mntent *getmntent (FILE *__filep);
-struct mntent *getmntent_r (FILE *, struct mntent *, char *, int);
int endmntent (FILE *__filep);
#endif
diff --git a/winsup/cygwin/include/netdb.h b/winsup/cygwin/include/netdb.h
index e4b85c6a7..69ef72765 100644
--- a/winsup/cygwin/include/netdb.h
+++ b/winsup/cygwin/include/netdb.h
@@ -117,7 +117,6 @@ struct rpcent {
int r_number; /* rpc program number */
};
-#ifndef __INSIDE_CYGWIN_NET__
struct addrinfo {
int ai_flags; /* input flags */
int ai_family; /* address family of socket */
@@ -128,7 +127,6 @@ struct addrinfo {
struct sockaddr *ai_addr; /* socket address of socket */
struct addrinfo *ai_next; /* pointer to next in list */
};
-#endif
/*
* Error return codes from gethostbyname() and gethostbyaddr()
@@ -139,9 +137,6 @@ struct addrinfo {
extern int h_errno;
#else
extern __declspec(dllimport) int h_errno;
-/* Some packages expect h_errno to be a macro, otherwise they redeclare
- h_errno, which leads to spurious warnings. */
-#define h_errno h_errno
#endif
#define NETDB_INTERNAL -1 /* see errno */
diff --git a/winsup/cygwin/include/stdint.h b/winsup/cygwin/include/stdint.h
index 070f7f306..12f16e220 100644
--- a/winsup/cygwin/include/stdint.h
+++ b/winsup/cygwin/include/stdint.h
@@ -1,6 +1,6 @@
/* stdint.h - integer types
- Copyright 2003, 2006, 2007, 2008, 2009, 2010, 2012 Red Hat, Inc.
+ Copyright 2003, 2006, 2007 Red Hat, Inc.
This file is part of Cygwin.
@@ -18,12 +18,8 @@ details. */
typedef signed char int8_t;
typedef short int16_t;
typedef int int32_t;
-#ifdef __x86_64__
-typedef long int64_t;
-#else
typedef long long int64_t;
#endif
-#endif
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
@@ -31,190 +27,114 @@ typedef unsigned short uint16_t;
#define __uint32_t_defined
typedef unsigned int uint32_t;
#endif
-#ifdef __x86_64__
-typedef unsigned long uint64_t;
-#else
typedef unsigned long long uint64_t;
-#endif
/* Minimum-width integer types */
typedef signed char int_least8_t;
typedef short int_least16_t;
typedef int int_least32_t;
-#ifdef __x86_64__
-typedef long int_least64_t;
-#else
typedef long long int_least64_t;
-#endif
typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned int uint_least32_t;
-#ifdef __x86_64__
-typedef unsigned long uint_least64_t;
-#else
typedef unsigned long long uint_least64_t;
-#endif
/* Fastest minimum-width integer types */
typedef signed char int_fast8_t;
-#ifdef __x86_64__
-typedef long int_fast16_t;
-typedef long int_fast32_t;
-typedef long int_fast64_t;
-#else
typedef int int_fast16_t;
typedef int int_fast32_t;
typedef long long int_fast64_t;
-#endif
typedef unsigned char uint_fast8_t;
-#ifdef __x86_64__
-typedef unsigned long uint_fast16_t;
-typedef unsigned long uint_fast32_t;
-typedef unsigned long uint_fast64_t;
-#else
typedef unsigned int uint_fast16_t;
typedef unsigned int uint_fast32_t;
typedef unsigned long long uint_fast64_t;
-#endif
/* Integer types capable of holding object pointers */
#ifndef __intptr_t_defined
#define __intptr_t_defined
-#ifdef __x86_64__
-typedef long intptr_t;
-#else
typedef int intptr_t;
#endif
-#endif
-#ifdef __x86_64__
-typedef unsigned long uintptr_t;
-#else
typedef unsigned int uintptr_t;
-#endif
/* Greatest-width integer types */
-#ifdef __x86_64__
-typedef long intmax_t;
-typedef unsigned long uintmax_t;
-#else
typedef long long intmax_t;
typedef unsigned long long uintmax_t;
-#endif
-
-/* C99 requires that in C++ the following macros should be defined only
- if requested. */
-#if !defined (__cplusplus) || defined (__STDC_LIMIT_MACROS) \
- || defined (__INSIDE_CYGWIN__)
-
-#if __x86_64__
-# define __I64(n) n ## L
-# define __U64(n) n ## UL
-#else
-# define __I64(n) n ## LL
-# define __U64(n) n ## ULL
-#endif
/* Limits of exact-width integer types */
#define INT8_MIN (-128)
#define INT16_MIN (-32768)
#define INT32_MIN (-2147483647 - 1)
-#define INT64_MIN (-__I64(9223372036854775807) - 1)
+#define INT64_MIN (-9223372036854775807LL - 1LL)
#define INT8_MAX (127)
#define INT16_MAX (32767)
#define INT32_MAX (2147483647)
-#define INT64_MAX (__I64(9223372036854775807))
+#define INT64_MAX (9223372036854775807LL)
#define UINT8_MAX (255)
#define UINT16_MAX (65535)
#define UINT32_MAX (4294967295U)
-#define UINT64_MAX (__U64(18446744073709551615))
+#define UINT64_MAX (18446744073709551615ULL)
/* Limits of minimum-width integer types */
#define INT_LEAST8_MIN (-128)
#define INT_LEAST16_MIN (-32768)
#define INT_LEAST32_MIN (-2147483647 - 1)
-#define INT_LEAST64_MIN (-__I64(9223372036854775807) - 1)
+#define INT_LEAST64_MIN (-9223372036854775807LL - 1LL)
#define INT_LEAST8_MAX (127)
#define INT_LEAST16_MAX (32767)
#define INT_LEAST32_MAX (2147483647)
-#define INT_LEAST64_MAX (__I64(9223372036854775807))
+#define INT_LEAST64_MAX (9223372036854775807LL)
#define UINT_LEAST8_MAX (255)
#define UINT_LEAST16_MAX (65535)
#define UINT_LEAST32_MAX (4294967295U)
-#define UINT_LEAST64_MAX (__U64(18446744073709551615))
+#define UINT_LEAST64_MAX (18446744073709551615ULL)
/* Limits of fastest minimum-width integer types */
#define INT_FAST8_MIN (-128)
-#ifdef __x86_64__
-#define INT_FAST16_MIN (-__I64(9223372036854775807) - 1)
-#define INT_FAST32_MIN (-__I64(9223372036854775807) - 1)
-#else
#define INT_FAST16_MIN (-2147483647 - 1)
#define INT_FAST32_MIN (-2147483647 - 1)
-#endif
-#define INT_FAST64_MIN (-__I64(9223372036854775807) - 1)
+#define INT_FAST64_MIN (-9223372036854775807LL - 1LL)
#define INT_FAST8_MAX (127)
-#ifdef __x86_64__
-#define INT_FAST16_MAX (__I64(9223372036854775807))
-#define INT_FAST32_MAX (__I64(9223372036854775807))
-#else
#define INT_FAST16_MAX (2147483647)
#define INT_FAST32_MAX (2147483647)
-#endif
-#define INT_FAST64_MAX (__I64(9223372036854775807))
+#define INT_FAST64_MAX (9223372036854775807LL)
#define UINT_FAST8_MAX (255)
-#ifdef __x86_64__
-#define UINT_FAST16_MAX (__U64(18446744073709551615))
-#define UINT_FAST32_MAX (__U64(18446744073709551615))
-#else
#define UINT_FAST16_MAX (4294967295U)
#define UINT_FAST32_MAX (4294967295U)
-#endif
-#define UINT_FAST64_MAX (__U64(18446744073709551615))
+#define UINT_FAST64_MAX (18446744073709551615ULL)
/* Limits of integer types capable of holding object pointers */
-#ifdef __x86_64__
-#define INTPTR_MIN (-__I64(9223372036854775807) - 1)
-#define INTPTR_MAX (__I64(9223372036854775807)
-#define UINTPTR_MAX (__U64(18446744073709551615))
-#else
#define INTPTR_MIN (-2147483647 - 1)
#define INTPTR_MAX (2147483647)
#define UINTPTR_MAX (4294967295U)
-#endif
/* Limits of greatest-width integer types */
-#define INTMAX_MIN (-__I64(9223372036854775807) - 1)
-#define INTMAX_MAX (__I64(9223372036854775807))
-#define UINTMAX_MAX (__U64(18446744073709551615))
+#define INTMAX_MIN (-9223372036854775807LL - 1LL)
+#define INTMAX_MAX (9223372036854775807LL)
+#define UINTMAX_MAX (18446744073709551615ULL)
/* Limits of other integer types */
#ifndef PTRDIFF_MIN
-#ifdef __x86_64__
-#define PTRDIFF_MIN (-9223372036854775807L - 1)
-#define PTRDIFF_MAX (9223372036854775807L)
-#else
#define PTRDIFF_MIN (-2147483647 - 1)
#define PTRDIFF_MAX (2147483647)
#endif
-#endif
#ifndef SIG_ATOMIC_MIN
#define SIG_ATOMIC_MIN (-2147483647 - 1)
@@ -224,12 +144,8 @@ typedef unsigned long long uintmax_t;
#endif
#ifndef SIZE_MAX
-#ifdef __x86_64__
-#define SIZE_MAX (18446744073709551615UL)
-#else
#define SIZE_MAX (4294967295U)
#endif
-#endif
#ifndef WCHAR_MIN
#ifdef __WCHAR_MIN__
@@ -246,43 +162,21 @@ typedef unsigned long long uintmax_t;
#define WINT_MAX (4294967295U)
#endif
-#endif /* !__cplusplus || __STDC_LIMIT_MACROS || __INSIDE_CYGWIN__ */
-
-/* C99 requires that in C++ the following macros should be defined only
- if requested. */
-#if !defined (__cplusplus) || defined (__STDC_CONSTANT_MACROS) \
- || defined (__INSIDE_CYGWIN__)
-
/* Macros for minimum-width integer constant expressions */
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
-#ifdef __x86_64__
-#define INT64_C(x) x ## L
-#else
#define INT64_C(x) x ## LL
-#endif
#define UINT8_C(x) x
#define UINT16_C(x) x
#define UINT32_C(x) x ## U
-#ifdef __x86_64__
-#define UINT64_C(x) x ## UL
-#else
#define UINT64_C(x) x ## ULL
-#endif
/* Macros for greatest-width integer constant expressions */
-#ifdef __x86_64__
-#define INTMAX_C(x) x ## L
-#define UINTMAX_C(x) x ## UL
-#else
#define INTMAX_C(x) x ## LL
#define UINTMAX_C(x) x ## ULL
-#endif
-
-#endif /* !__cplusplus || __STDC_CONSTANT_MACROS || __INSIDE_CYGWIN__ */
#endif /* _STDINT_H */
diff --git a/winsup/cygwin/include/sys/elf.h b/winsup/cygwin/include/sys/elf.h
deleted file mode 100644
index b2d6b77c9..000000000
--- a/winsup/cygwin/include/sys/elf.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-
- * Copyright (c) 2001 David E. O'Brien.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-/*
- * This is a Solaris compatibility header
- */
-
-#ifndef _SYS_ELF_H_
-#define _SYS_ELF_H_
-
-#include <sys/types.h>
-#include <machine/elf.h>
-#include <sys/elf32.h>
-#include <sys/elf64.h>
-
-#endif /* !_SYS_ELF_H_ */
diff --git a/winsup/cygwin/include/sys/elf32.h b/winsup/cygwin/include/sys/elf32.h
index 62bf7be68..5dfe9c8b0 100644
--- a/winsup/cygwin/include/sys/elf32.h
+++ b/winsup/cygwin/include/sys/elf32.h
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/sys/sys/elf32.h,v 1.8 2002/05/30 08:32:18 dfr Exp $
*/
#ifndef _SYS_ELF32_H_
@@ -35,18 +35,13 @@
* ELF definitions common to all 32-bit architectures.
*/
-typedef uint32_t Elf32_Addr;
-typedef uint16_t Elf32_Half;
-typedef uint32_t Elf32_Off;
+typedef u_int32_t Elf32_Addr;
+typedef u_int16_t Elf32_Half;
+typedef u_int32_t Elf32_Off;
typedef int32_t Elf32_Sword;
-typedef uint32_t Elf32_Word;
-typedef uint64_t Elf32_Lword;
-
-typedef Elf32_Word Elf32_Hashelt;
-
-/* Non-standard class-dependent datatype used for abstraction. */
-typedef Elf32_Word Elf32_Size;
-typedef Elf32_Sword Elf32_Ssize;
+typedef u_int32_t Elf32_Word;
+typedef u_int32_t Elf32_Size;
+typedef Elf32_Off Elf32_Hashelt;
/*
* ELF header.
@@ -80,11 +75,11 @@ typedef struct {
Elf32_Word sh_flags; /* Section flags. */
Elf32_Addr sh_addr; /* Address in memory image. */
Elf32_Off sh_offset; /* Offset in file. */
- Elf32_Word sh_size; /* Size in bytes. */
+ Elf32_Size sh_size; /* Size in bytes. */
Elf32_Word sh_link; /* Index of a related section. */
Elf32_Word sh_info; /* Depends on section type. */
- Elf32_Word sh_addralign; /* Alignment in bytes. */
- Elf32_Word sh_entsize; /* Size of each entry in section. */
+ Elf32_Size sh_addralign; /* Alignment in bytes. */
+ Elf32_Size sh_entsize; /* Size of each entry in section. */
} Elf32_Shdr;
/*
@@ -96,10 +91,10 @@ typedef struct {
Elf32_Off p_offset; /* File offset of contents. */
Elf32_Addr p_vaddr; /* Virtual address in memory image. */
Elf32_Addr p_paddr; /* Physical address (not used). */
- Elf32_Word p_filesz; /* Size of contents in file. */
- Elf32_Word p_memsz; /* Size of contents in memory. */
+ Elf32_Size p_filesz; /* Size of contents in file. */
+ Elf32_Size p_memsz; /* Size of contents in memory. */
Elf32_Word p_flags; /* Access permission flags. */
- Elf32_Word p_align; /* Alignment in memory and file. */
+ Elf32_Size p_align; /* Alignment in memory and file. */
} Elf32_Phdr;
/*
@@ -109,7 +104,7 @@ typedef struct {
typedef struct {
Elf32_Sword d_tag; /* Entry type. */
union {
- Elf32_Word d_val; /* Integer value. */
+ Elf32_Size d_val; /* Integer value. */
Elf32_Addr d_ptr; /* Address value. */
} d_un;
} Elf32_Dyn;
@@ -139,51 +134,13 @@ typedef struct {
#define ELF32_R_INFO(sym, type) (((sym) << 8) + (unsigned char)(type))
/*
- * Note entry header
- */
-typedef Elf_Note Elf32_Nhdr;
-
-/*
- * Move entry
- */
-typedef struct {
- Elf32_Lword m_value; /* symbol value */
- Elf32_Word m_info; /* size + index */
- Elf32_Word m_poffset; /* symbol offset */
- Elf32_Half m_repeat; /* repeat count */
- Elf32_Half m_stride; /* stride info */
-} Elf32_Move;
-
-/*
- * The macros compose and decompose values for Move.r_info
- *
- * sym = ELF32_M_SYM(M.m_info)
- * size = ELF32_M_SIZE(M.m_info)
- * M.m_info = ELF32_M_INFO(sym, size)
- */
-#define ELF32_M_SYM(info) ((info)>>8)
-#define ELF32_M_SIZE(info) ((unsigned char)(info))
-#define ELF32_M_INFO(sym, size) (((sym)<<8)+(unsigned char)(size))
-
-/*
- * Hardware/Software capabilities entry
- */
-typedef struct {
- Elf32_Word c_tag; /* how to interpret value */
- union {
- Elf32_Word c_val;
- Elf32_Addr c_ptr;
- } c_un;
-} Elf32_Cap;
-
-/*
* Symbol table entries.
*/
typedef struct {
Elf32_Word st_name; /* String table index of name. */
Elf32_Addr st_value; /* Symbol value. */
- Elf32_Word st_size; /* Size of associated object. */
+ Elf32_Size st_size; /* Size of associated object. */
unsigned char st_info; /* Type and binding information. */
unsigned char st_other; /* Reserved (not used). */
Elf32_Half st_shndx; /* Section index of symbol. */
@@ -196,50 +153,4 @@ typedef struct {
/* Macro for constructing st_info from field values. */
#define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-/* Macro for accessing the fields of st_other. */
-#define ELF32_ST_VISIBILITY(oth) ((oth) & 0x3)
-
-/* Structures used by Sun & GNU symbol versioning. */
-typedef struct
-{
- Elf32_Half vd_version;
- Elf32_Half vd_flags;
- Elf32_Half vd_ndx;
- Elf32_Half vd_cnt;
- Elf32_Word vd_hash;
- Elf32_Word vd_aux;
- Elf32_Word vd_next;
-} Elf32_Verdef;
-
-typedef struct
-{
- Elf32_Word vda_name;
- Elf32_Word vda_next;
-} Elf32_Verdaux;
-
-typedef struct
-{
- Elf32_Half vn_version;
- Elf32_Half vn_cnt;
- Elf32_Word vn_file;
- Elf32_Word vn_aux;
- Elf32_Word vn_next;
-} Elf32_Verneed;
-
-typedef struct
-{
- Elf32_Word vna_hash;
- Elf32_Half vna_flags;
- Elf32_Half vna_other;
- Elf32_Word vna_name;
- Elf32_Word vna_next;
-} Elf32_Vernaux;
-
-typedef Elf32_Half Elf32_Versym;
-
-typedef struct {
- Elf32_Half si_boundto; /* direct bindings - symbol bound to */
- Elf32_Half si_flags; /* per symbol flags */
-} Elf32_Syminfo;
-
#endif /* !_SYS_ELF32_H_ */
diff --git a/winsup/cygwin/include/sys/elf64.h b/winsup/cygwin/include/sys/elf64.h
index 4ec7d341e..48556be5f 100644
--- a/winsup/cygwin/include/sys/elf64.h
+++ b/winsup/cygwin/include/sys/elf64.h
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/sys/sys/elf64.h,v 1.10 2002/05/30 08:32:18 dfr Exp $
*/
#ifndef _SYS_ELF64_H_
@@ -37,12 +37,14 @@
typedef uint64_t Elf64_Addr;
typedef uint16_t Elf64_Half;
-typedef uint64_t Elf64_Off;
-typedef int32_t Elf64_Sword;
-typedef int64_t Elf64_Sxword;
typedef uint32_t Elf64_Word;
-typedef uint64_t Elf64_Lword;
+typedef int32_t Elf64_Sword;
typedef uint64_t Elf64_Xword;
+typedef int64_t Elf64_Sxword;
+typedef uint64_t Elf64_Off;
+typedef uint16_t Elf64_Section;
+typedef Elf64_Half Elf64_Versym;
+typedef uint16_t Elf64_Quarter;
/*
* Types of dynamic symbol hash table bucket and chain elements.
@@ -51,11 +53,11 @@ typedef uint64_t Elf64_Xword;
* typedef is required.
*/
-typedef Elf64_Word Elf64_Hashelt;
-
-/* Non-standard class-dependent datatype used for abstraction. */
-typedef Elf64_Xword Elf64_Size;
-typedef Elf64_Sxword Elf64_Ssize;
+#ifdef __alpha__
+typedef Elf64_Off Elf64_Hashelt;
+#else
+typedef Elf64_Half Elf64_Hashelt;
+#endif
/*
* ELF header.
@@ -141,47 +143,11 @@ typedef struct {
} Elf64_Rela;
/* Macros for accessing the fields of r_info. */
-#define ELF64_R_SYM(info) ((info) >> 32)
-#define ELF64_R_TYPE(info) ((info) & 0xffffffffL)
+#define ELF64_R_SYM(info) ((info) >> 32)
+#define ELF64_R_TYPE(info) ((unsigned char)(info))
/* Macro for constructing r_info from field values. */
-#define ELF64_R_INFO(sym, type) (((sym) << 32) + ((type) & 0xffffffffL))
-
-#define ELF64_R_TYPE_DATA(info) (((Elf64_Xword)(info)<<32)>>40)
-#define ELF64_R_TYPE_ID(info) (((Elf64_Xword)(info)<<56)>>56)
-#define ELF64_R_TYPE_INFO(data, type) \
- (((Elf64_Xword)(data)<<8)+(Elf64_Xword)(type))
-
-/*
- * Note entry header
- */
-typedef Elf_Note Elf64_Nhdr;
-
-/*
- * Move entry
- */
-typedef struct {
- Elf64_Lword m_value; /* symbol value */
- Elf64_Xword m_info; /* size + index */
- Elf64_Xword m_poffset; /* symbol offset */
- Elf64_Half m_repeat; /* repeat count */
- Elf64_Half m_stride; /* stride info */
-} Elf64_Move;
-
-#define ELF64_M_SYM(info) ((info)>>8)
-#define ELF64_M_SIZE(info) ((unsigned char)(info))
-#define ELF64_M_INFO(sym, size) (((sym)<<8)+(unsigned char)(size))
-
-/*
- * Hardware/Software capabilities entry
- */
-typedef struct {
- Elf64_Xword c_tag; /* how to interpret value */
- union {
- Elf64_Xword c_val;
- Elf64_Addr c_ptr;
- } c_un;
-} Elf64_Cap;
+#define ELF64_R_INFO(sym, type) (((sym) << 32) + (unsigned char)(type))
/*
* Symbol table entries.
@@ -191,58 +157,16 @@ typedef struct {
Elf64_Word st_name; /* String table index of name. */
unsigned char st_info; /* Type and binding information. */
unsigned char st_other; /* Reserved (not used). */
- Elf64_Half st_shndx; /* Section index of symbol. */
+ Elf64_Section st_shndx; /* Section index of symbol. */
Elf64_Addr st_value; /* Symbol value. */
Elf64_Xword st_size; /* Size of associated object. */
} Elf64_Sym;
/* Macros for accessing the fields of st_info. */
-#define ELF64_ST_BIND(info) ((info) >> 4)
-#define ELF64_ST_TYPE(info) ((info) & 0xf)
+#define ELF64_ST_BIND(info) ((info) >> 4)
+#define ELF64_ST_TYPE(info) ((info) & 0xf)
/* Macro for constructing st_info from field values. */
-#define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-
-/* Macro for accessing the fields of st_other. */
-#define ELF64_ST_VISIBILITY(oth) ((oth) & 0x3)
-
-/* Structures used by Sun & GNU-style symbol versioning. */
-typedef struct {
- Elf64_Half vd_version;
- Elf64_Half vd_flags;
- Elf64_Half vd_ndx;
- Elf64_Half vd_cnt;
- Elf64_Word vd_hash;
- Elf64_Word vd_aux;
- Elf64_Word vd_next;
-} Elf64_Verdef;
-
-typedef struct {
- Elf64_Word vda_name;
- Elf64_Word vda_next;
-} Elf64_Verdaux;
-
-typedef struct {
- Elf64_Half vn_version;
- Elf64_Half vn_cnt;
- Elf64_Word vn_file;
- Elf64_Word vn_aux;
- Elf64_Word vn_next;
-} Elf64_Verneed;
-
-typedef struct {
- Elf64_Word vna_hash;
- Elf64_Half vna_flags;
- Elf64_Half vna_other;
- Elf64_Word vna_name;
- Elf64_Word vna_next;
-} Elf64_Vernaux;
-
-typedef Elf64_Half Elf64_Versym;
-
-typedef struct {
- Elf64_Half si_boundto; /* direct bindings - symbol bound to */
- Elf64_Half si_flags; /* per symbol flags */
-} Elf64_Syminfo;
+#define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
#endif /* !_SYS_ELF64_H_ */
diff --git a/winsup/cygwin/include/sys/elf_common.h b/winsup/cygwin/include/sys/elf_common.h
index 4b1025613..b864f0464 100644
--- a/winsup/cygwin/include/sys/elf_common.h
+++ b/winsup/cygwin/include/sys/elf_common.h
@@ -1,5 +1,4 @@
/*-
- * Copyright (c) 2000, 2001, 2008, 2011, David E. O'Brien
* Copyright (c) 1998 John D. Polstra.
* All rights reserved.
*
@@ -24,11 +23,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/sys/sys/elf_common.h,v 1.15 2004/05/05 02:38:54 marcel Exp $
*/
#ifndef _SYS_ELF_COMMON_H_
-#define _SYS_ELF_COMMON_H_ 1
+#define _SYS_ELF_COMMON_H_ 1
/*
* ELF definitions that are independent of architecture or word size.
@@ -49,336 +48,185 @@ typedef struct {
u_int32_t n_type; /* Type of this note. */
} Elf_Note;
-/*
- * The header for GNU-style hash sections.
- */
-
-typedef struct {
- u_int32_t gh_nbuckets; /* Number of hash buckets. */
- u_int32_t gh_symndx; /* First visible symbol in .dynsym. */
- u_int32_t gh_maskwords; /* #maskwords used in bloom filter. */
- u_int32_t gh_shift2; /* Bloom filter shift count. */
-} Elf_GNU_Hash_Header;
-
/* Indexes into the e_ident array. Keep synced with
- http://www.sco.com/developers/gabi/latest/ch4.eheader.html */
-#define EI_MAG0 0 /* Magic number, byte 0. */
-#define EI_MAG1 1 /* Magic number, byte 1. */
-#define EI_MAG2 2 /* Magic number, byte 2. */
-#define EI_MAG3 3 /* Magic number, byte 3. */
-#define EI_CLASS 4 /* Class of machine. */
-#define EI_DATA 5 /* Data format. */
-#define EI_VERSION 6 /* ELF format version. */
-#define EI_OSABI 7 /* Operating system / ABI identification */
-#define EI_ABIVERSION 8 /* ABI version */
-#define OLD_EI_BRAND 8 /* Start of architecture identification. */
-#define EI_PAD 9 /* Start of padding (per SVR4 ABI). */
-#define EI_NIDENT 16 /* Size of e_ident array. */
+ http://www.sco.com/developer/gabi/ch4.eheader.html */
+#define EI_MAG0 0 /* Magic number, byte 0. */
+#define EI_MAG1 1 /* Magic number, byte 1. */
+#define EI_MAG2 2 /* Magic number, byte 2. */
+#define EI_MAG3 3 /* Magic number, byte 3. */
+#define EI_CLASS 4 /* Class of machine. */
+#define EI_DATA 5 /* Data format. */
+#define EI_VERSION 6 /* ELF format version. */
+#define EI_OSABI 7 /* Operating system / ABI identification */
+#define EI_ABIVERSION 8 /* ABI version */
+#define OLD_EI_BRAND 8 /* Start of architecture identification. */
+#define EI_PAD 9 /* Start of padding (per SVR4 ABI). */
+#define EI_NIDENT 16 /* Size of e_ident array. */
/* Values for the magic number bytes. */
-#define ELFMAG0 0x7f
-#define ELFMAG1 'E'
-#define ELFMAG2 'L'
-#define ELFMAG3 'F'
-#define ELFMAG "\177ELF" /* magic string */
-#define SELFMAG 4 /* magic string size */
+#define ELFMAG0 0x7f
+#define ELFMAG1 'E'
+#define ELFMAG2 'L'
+#define ELFMAG3 'F'
+#define ELFMAG "\177ELF" /* magic string */
+#define SELFMAG 4 /* magic string size */
/* Values for e_ident[EI_VERSION] and e_version. */
-#define EV_NONE 0
-#define EV_CURRENT 1
+#define EV_NONE 0
+#define EV_CURRENT 1
/* Values for e_ident[EI_CLASS]. */
-#define ELFCLASSNONE 0 /* Unknown class. */
-#define ELFCLASS32 1 /* 32-bit architecture. */
-#define ELFCLASS64 2 /* 64-bit architecture. */
+#define ELFCLASSNONE 0 /* Unknown class. */
+#define ELFCLASS32 1 /* 32-bit architecture. */
+#define ELFCLASS64 2 /* 64-bit architecture. */
/* Values for e_ident[EI_DATA]. */
-#define ELFDATANONE 0 /* Unknown data format. */
-#define ELFDATA2LSB 1 /* 2's complement little-endian. */
-#define ELFDATA2MSB 2 /* 2's complement big-endian. */
+#define ELFDATANONE 0 /* Unknown data format. */
+#define ELFDATA2LSB 1 /* 2's complement little-endian. */
+#define ELFDATA2MSB 2 /* 2's complement big-endian. */
/* Values for e_ident[EI_OSABI]. */
-#define ELFOSABI_NONE 0 /* UNIX System V ABI */
-#define ELFOSABI_HPUX 1 /* HP-UX operating system */
-#define ELFOSABI_NETBSD 2 /* NetBSD */
-#define ELFOSABI_LINUX 3 /* GNU/Linux */
-#define ELFOSABI_HURD 4 /* GNU/Hurd */
-#define ELFOSABI_86OPEN 5 /* 86Open common IA32 ABI */
-#define ELFOSABI_SOLARIS 6 /* Solaris */
-#define ELFOSABI_AIX 7 /* AIX */
-#define ELFOSABI_IRIX 8 /* IRIX */
-#define ELFOSABI_FREEBSD 9 /* FreeBSD */
-#define ELFOSABI_TRU64 10 /* TRU64 UNIX */
-#define ELFOSABI_MODESTO 11 /* Novell Modesto */
-#define ELFOSABI_OPENBSD 12 /* OpenBSD */
-#define ELFOSABI_OPENVMS 13 /* Open VMS */
-#define ELFOSABI_NSK 14 /* HP Non-Stop Kernel */
-#define ELFOSABI_AROS 15 /* Amiga Research OS */
-#define ELFOSABI_ARM 97 /* ARM */
-#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
-
-#define ELFOSABI_SYSV ELFOSABI_NONE /* symbol used in old spec */
-#define ELFOSABI_MONTEREY ELFOSABI_AIX /* Monterey */
+#define ELFOSABI_SYSV 0 /* UNIX System V ABI */
+#define ELFOSABI_NONE ELFOSABI_SYSV /* symbol used in old spec */
+#define ELFOSABI_HPUX 1 /* HP-UX operating system */
+#define ELFOSABI_NETBSD 2 /* NetBSD */
+#define ELFOSABI_LINUX 3 /* GNU/Linux */
+#define ELFOSABI_HURD 4 /* GNU/Hurd */
+#define ELFOSABI_86OPEN 5 /* 86Open common IA32 ABI */
+#define ELFOSABI_SOLARIS 6 /* Solaris */
+#define ELFOSABI_MONTEREY 7 /* Monterey */
+#define ELFOSABI_IRIX 8 /* IRIX */
+#define ELFOSABI_FREEBSD 9 /* FreeBSD */
+#define ELFOSABI_TRU64 10 /* TRU64 UNIX */
+#define ELFOSABI_MODESTO 11 /* Novell Modesto */
+#define ELFOSABI_OPENBSD 12 /* OpenBSD */
+#define ELFOSABI_ARM 97 /* ARM */
+#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
/* e_ident */
-#define IS_ELF(ehdr) ((ehdr).e_ident[EI_MAG0] == ELFMAG0 && \
+#define IS_ELF(ehdr) ((ehdr).e_ident[EI_MAG0] == ELFMAG0 && \
(ehdr).e_ident[EI_MAG1] == ELFMAG1 && \
(ehdr).e_ident[EI_MAG2] == ELFMAG2 && \
(ehdr).e_ident[EI_MAG3] == ELFMAG3)
/* Values for e_type. */
-#define ET_NONE 0 /* Unknown type. */
-#define ET_REL 1 /* Relocatable. */
-#define ET_EXEC 2 /* Executable. */
-#define ET_DYN 3 /* Shared object. */
-#define ET_CORE 4 /* Core file. */
-#define ET_LOOS 0xfe00 /* First operating system specific. */
-#define ET_HIOS 0xfeff /* Last operating system-specific. */
-#define ET_LOPROC 0xff00 /* First processor-specific. */
-#define ET_HIPROC 0xffff /* Last processor-specific. */
+#define ET_NONE 0 /* Unknown type. */
+#define ET_REL 1 /* Relocatable. */
+#define ET_EXEC 2 /* Executable. */
+#define ET_DYN 3 /* Shared object. */
+#define ET_CORE 4 /* Core file. */
/* Values for e_machine. */
-#define EM_NONE 0 /* Unknown machine. */
-#define EM_M32 1 /* AT&T WE32100. */
-#define EM_SPARC 2 /* Sun SPARC. */
-#define EM_386 3 /* Intel i386. */
-#define EM_68K 4 /* Motorola 68000. */
-#define EM_88K 5 /* Motorola 88000. */
-#define EM_860 7 /* Intel i860. */
-#define EM_MIPS 8 /* MIPS R3000 Big-Endian only. */
-#define EM_S370 9 /* IBM System/370. */
-#define EM_MIPS_RS3_LE 10 /* MIPS R3000 Little-Endian. */
-#define EM_PARISC 15 /* HP PA-RISC. */
-#define EM_VPP500 17 /* Fujitsu VPP500. */
-#define EM_SPARC32PLUS 18 /* SPARC v8plus. */
-#define EM_960 19 /* Intel 80960. */
-#define EM_PPC 20 /* PowerPC 32-bit. */
-#define EM_PPC64 21 /* PowerPC 64-bit. */
-#define EM_S390 22 /* IBM System/390. */
-#define EM_V800 36 /* NEC V800. */
-#define EM_FR20 37 /* Fujitsu FR20. */
-#define EM_RH32 38 /* TRW RH-32. */
-#define EM_RCE 39 /* Motorola RCE. */
-#define EM_ARM 40 /* ARM. */
-#define EM_SH 42 /* Hitachi SH. */
-#define EM_SPARCV9 43 /* SPARC v9 64-bit. */
-#define EM_TRICORE 44 /* Siemens TriCore embedded processor. */
-#define EM_ARC 45 /* Argonaut RISC Core. */
-#define EM_H8_300 46 /* Hitachi H8/300. */
-#define EM_H8_300H 47 /* Hitachi H8/300H. */
-#define EM_H8S 48 /* Hitachi H8S. */
-#define EM_H8_500 49 /* Hitachi H8/500. */
-#define EM_IA_64 50 /* Intel IA-64 Processor. */
-#define EM_MIPS_X 51 /* Stanford MIPS-X. */
-#define EM_COLDFIRE 52 /* Motorola ColdFire. */
-#define EM_68HC12 53 /* Motorola M68HC12. */
-#define EM_MMA 54 /* Fujitsu MMA. */
-#define EM_PCP 55 /* Siemens PCP. */
-#define EM_NCPU 56 /* Sony nCPU. */
-#define EM_NDR1 57 /* Denso NDR1 microprocessor. */
-#define EM_STARCORE 58 /* Motorola Star*Core processor. */
-#define EM_ME16 59 /* Toyota ME16 processor. */
-#define EM_ST100 60 /* STMicroelectronics ST100 processor. */
-#define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ processor. */
-#define EM_X86_64 62 /* Advanced Micro Devices x86-64 */
-#define EM_AMD64 EM_X86_64 /* Advanced Micro Devices x86-64 (compat) */
-#define EM_PDSP 63 /* Sony DSP Processor. */
-#define EM_FX66 66 /* Siemens FX66 microcontroller. */
-#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16
- microcontroller. */
-#define EM_ST7 68 /* STmicroelectronics ST7 8-bit
- microcontroller. */
-#define EM_68HC16 69 /* Motorola MC68HC16 microcontroller. */
-#define EM_68HC11 70 /* Motorola MC68HC11 microcontroller. */
-#define EM_68HC08 71 /* Motorola MC68HC08 microcontroller. */
-#define EM_68HC05 72 /* Motorola MC68HC05 microcontroller. */
-#define EM_SVX 73 /* Silicon Graphics SVx. */
-#define EM_ST19 74 /* STMicroelectronics ST19 8-bit mc. */
-#define EM_VAX 75 /* Digital VAX. */
-#define EM_CRIS 76 /* Axis Communications 32-bit embedded
- processor. */
-#define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded
- processor. */
-#define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor. */
-#define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor. */
-#define EM_MMIX 80 /* Donald Knuth's educational 64-bit proc. */
-#define EM_HUANY 81 /* Harvard University machine-independent
- object files. */
-#define EM_PRISM 82 /* SiTera Prism. */
-#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller. */
-#define EM_FR30 84 /* Fujitsu FR30. */
-#define EM_D10V 85 /* Mitsubishi D10V. */
-#define EM_D30V 86 /* Mitsubishi D30V. */
-#define EM_V850 87 /* NEC v850. */
-#define EM_M32R 88 /* Mitsubishi M32R. */
-#define EM_MN10300 89 /* Matsushita MN10300. */
-#define EM_MN10200 90 /* Matsushita MN10200. */
-#define EM_PJ 91 /* picoJava. */
-#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor. */
-#define EM_ARC_A5 93 /* ARC Cores Tangent-A5. */
-#define EM_XTENSA 94 /* Tensilica Xtensa Architecture. */
-#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor. */
-#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose
- Processor. */
-#define EM_NS32K 97 /* National Semiconductor 32000 series. */
-#define EM_TPC 98 /* Tenor Network TPC processor. */
-#define EM_SNP1K 99 /* Trebia SNP 1000 processor. */
-#define EM_ST200 100 /* STMicroelectronics ST200 microcontroller. */
-#define EM_IP2K 101 /* Ubicom IP2xxx microcontroller family. */
-#define EM_MAX 102 /* MAX Processor. */
-#define EM_CR 103 /* National Semiconductor CompactRISC
- microprocessor. */
-#define EM_F2MC16 104 /* Fujitsu F2MC16. */
-#define EM_MSP430 105 /* Texas Instruments embedded microcontroller
- msp430. */
-#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor. */
-#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors. */
-#define EM_SEP 108 /* Sharp embedded microprocessor. */
-#define EM_ARCA 109 /* Arca RISC Microprocessor. */
-#define EM_UNICORE 110 /* Microprocessor series from PKU-Unity Ltd.
- and MPRC of Peking University */
-
-/* Non-standard or deprecated. */
-#define EM_486 6 /* Intel i486. */
-#define EM_MIPS_RS4_BE 10 /* MIPS R4000 Big-Endian */
-#define EM_ALPHA_STD 41 /* Digital Alpha (standard value). */
-#define EM_ALPHA 0x9026 /* Alpha (written in the absence of an ABI) */
+#define EM_NONE 0 /* Unknown machine. */
+#define EM_M32 1 /* AT&T WE32100. */
+#define EM_SPARC 2 /* Sun SPARC. */
+#define EM_386 3 /* Intel i386. */
+#define EM_68K 4 /* Motorola 68000. */
+#define EM_88K 5 /* Motorola 88000. */
+#define EM_486 6 /* Intel i486. */
+#define EM_860 7 /* Intel i860. */
+#define EM_MIPS 8 /* MIPS R3000 Big-Endian only */
+
+/* Extensions. This list is not complete. */
+#define EM_S370 9 /* IBM System/370 */
+#define EM_MIPS_RS4_BE 10 /* MIPS R4000 Big-Endian */ /* Depreciated */
+#define EM_PARISC 15 /* HPPA */
+#define EM_SPARC32PLUS 18 /* SPARC v8plus */
+#define EM_PPC 20 /* PowerPC 32-bit */
+#define EM_PPC64 21 /* PowerPC 64-bit */
+#define EM_ARM 40 /* ARM */
+#define EM_SPARCV9 43 /* SPARC v9 64-bit */
+#define EM_IA_64 50 /* Intel IA-64 Processor */
+#define EM_X86_64 62 /* Advanced Micro Devices x86-64 */
+#define EM_ALPHA 0x9026 /* Alpha (written in the absence of an ABI */
/* Special section indexes. */
-#define SHN_UNDEF 0 /* Undefined, missing, irrelevant. */
-#define SHN_LORESERVE 0xff00 /* First of reserved range. */
-#define SHN_LOPROC 0xff00 /* First processor-specific. */
-#define SHN_HIPROC 0xff1f /* Last processor-specific. */
-#define SHN_LOOS 0xff20 /* First operating system-specific. */
-#define SHN_HIOS 0xff3f /* Last operating system-specific. */
-#define SHN_ABS 0xfff1 /* Absolute values. */
-#define SHN_COMMON 0xfff2 /* Common data. */
-#define SHN_XINDEX 0xffff /* Escape -- index stored elsewhere. */
-#define SHN_HIRESERVE 0xffff /* Last of reserved range. */
+#define SHN_UNDEF 0 /* Undefined, missing, irrelevant. */
+#define SHN_LORESERVE 0xff00 /* First of reserved range. */
+#define SHN_LOPROC 0xff00 /* First processor-specific. */
+#define SHN_HIPROC 0xff1f /* Last processor-specific. */
+#define SHN_ABS 0xfff1 /* Absolute values. */
+#define SHN_COMMON 0xfff2 /* Common data. */
+#define SHN_HIRESERVE 0xffff /* Last of reserved range. */
/* sh_type */
-#define SHT_NULL 0 /* inactive */
-#define SHT_PROGBITS 1 /* program defined information */
-#define SHT_SYMTAB 2 /* symbol table section */
-#define SHT_STRTAB 3 /* string table section */
-#define SHT_RELA 4 /* relocation section with addends */
-#define SHT_HASH 5 /* symbol hash table section */
-#define SHT_DYNAMIC 6 /* dynamic section */
-#define SHT_NOTE 7 /* note section */
-#define SHT_NOBITS 8 /* no space section */
-#define SHT_REL 9 /* relocation section - no addends */
-#define SHT_SHLIB 10 /* reserved - purpose unknown */
-#define SHT_DYNSYM 11 /* dynamic symbol table section */
-#define SHT_INIT_ARRAY 14 /* Initialization function pointers. */
-#define SHT_FINI_ARRAY 15 /* Termination function pointers. */
-#define SHT_PREINIT_ARRAY 16 /* Pre-initialization function ptrs. */
-#define SHT_GROUP 17 /* Section group. */
-#define SHT_SYMTAB_SHNDX 18 /* Section indexes (see SHN_XINDEX). */
-#define SHT_LOOS 0x60000000 /* First of OS specific semantics */
-#define SHT_LOSUNW 0x6ffffff4
-#define SHT_SUNW_dof 0x6ffffff4
-#define SHT_SUNW_cap 0x6ffffff5
-#define SHT_SUNW_SIGNATURE 0x6ffffff6
-#define SHT_GNU_HASH 0x6ffffff6
-#define SHT_SUNW_ANNOTATE 0x6ffffff7
-#define SHT_SUNW_DEBUGSTR 0x6ffffff8
-#define SHT_SUNW_DEBUG 0x6ffffff9
-#define SHT_SUNW_move 0x6ffffffa
-#define SHT_SUNW_COMDAT 0x6ffffffb
-#define SHT_SUNW_syminfo 0x6ffffffc
-#define SHT_SUNW_verdef 0x6ffffffd
-#define SHT_GNU_verdef 0x6ffffffd /* Symbol versions provided */
-#define SHT_SUNW_verneed 0x6ffffffe
-#define SHT_GNU_verneed 0x6ffffffe /* Symbol versions required */
-#define SHT_SUNW_versym 0x6fffffff
-#define SHT_GNU_versym 0x6fffffff /* Symbol version table */
-#define SHT_HISUNW 0x6fffffff
-#define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */
-#define SHT_LOPROC 0x70000000 /* reserved range for processor */
-#define SHT_AMD64_UNWIND 0x70000001 /* unwind information */
-#define SHT_MIPS_REGINFO 0x70000006
-#define SHT_MIPS_OPTIONS 0x7000000d
-#define SHT_MIPS_DWARF 0x7000001e /* MIPS gcc uses MIPS_DWARF */
-#define SHT_HIPROC 0x7fffffff /* specific section header types */
-#define SHT_LOUSER 0x80000000 /* reserved range for application */
-#define SHT_HIUSER 0xffffffff /* specific indexes */
+#define SHT_NULL 0 /* inactive */
+#define SHT_PROGBITS 1 /* program defined information */
+#define SHT_SYMTAB 2 /* symbol table section */
+#define SHT_STRTAB 3 /* string table section */
+#define SHT_RELA 4 /* relocation section with addends */
+#define SHT_HASH 5 /* symbol hash table section */
+#define SHT_DYNAMIC 6 /* dynamic section */
+#define SHT_NOTE 7 /* note section */
+#define SHT_NOBITS 8 /* no space section */
+#define SHT_REL 9 /* relocation section - no addends */
+#define SHT_SHLIB 10 /* reserved - purpose unknown */
+#define SHT_DYNSYM 11 /* dynamic symbol table section */
+#define SHT_NUM 12 /* number of section types */
+#define SHT_LOOS 0x60000000 /* First of OS specific semantics */
+#define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */
+#define SHT_LOPROC 0x70000000 /* reserved range for processor */
+#define SHT_HIPROC 0x7fffffff /* specific section header types */
+#define SHT_LOUSER 0x80000000 /* reserved range for application */
+#define SHT_HIUSER 0xffffffff /* specific indexes */
/* Flags for sh_flags. */
-#define SHF_WRITE 0x1 /* Section contains writable data. */
-#define SHF_ALLOC 0x2 /* Section occupies memory. */
-#define SHF_EXECINSTR 0x4 /* Section contains instructions. */
-#define SHF_MERGE 0x10 /* Section may be merged. */
-#define SHF_STRINGS 0x20 /* Section contains strings. */
-#define SHF_INFO_LINK 0x40 /* sh_info holds section index. */
-#define SHF_LINK_ORDER 0x80 /* Special ordering requirements. */
-#define SHF_OS_NONCONFORMING 0x100 /* OS-specific processing required. */
-#define SHF_GROUP 0x200 /* Member of section group. */
-#define SHF_TLS 0x400 /* Section contains TLS data. */
-#define SHF_MASKOS 0x0ff00000 /* OS-specific semantics. */
-#define SHF_MASKPROC 0xf0000000 /* Processor-specific semantics. */
+#define SHF_WRITE 0x1 /* Section contains writable data. */
+#define SHF_ALLOC 0x2 /* Section occupies memory. */
+#define SHF_EXECINSTR 0x4 /* Section contains instructions. */
+#define SHF_TLS 0x400 /* Section contains TLS data. */
+#define SHF_MASKPROC 0xf0000000 /* Reserved for processor-specific. */
/* Values for p_type. */
-#define PT_NULL 0 /* Unused entry. */
-#define PT_LOAD 1 /* Loadable segment. */
-#define PT_DYNAMIC 2 /* Dynamic linking information segment. */
-#define PT_INTERP 3 /* Pathname of interpreter. */
-#define PT_NOTE 4 /* Auxiliary information. */
-#define PT_SHLIB 5 /* Reserved (not used). */
-#define PT_PHDR 6 /* Location of program header itself. */
+#define PT_NULL 0 /* Unused entry. */
+#define PT_LOAD 1 /* Loadable segment. */
+#define PT_DYNAMIC 2 /* Dynamic linking information segment. */
+#define PT_INTERP 3 /* Pathname of interpreter. */
+#define PT_NOTE 4 /* Auxiliary information. */
+#define PT_SHLIB 5 /* Reserved (not used). */
+#define PT_PHDR 6 /* Location of program header itself. */
#define PT_TLS 7 /* Thread local storage segment */
-#define PT_LOOS 0x60000000 /* First OS-specific. */
-#define PT_SUNW_UNWIND 0x6464e550 /* amd64 UNWIND program header */
-#define PT_GNU_EH_FRAME 0x6474e550
-#define PT_GNU_STACK 0x6474e551
-#define PT_GNU_RELRO 0x6474e552
-#define PT_LOSUNW 0x6ffffffa
-#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
-#define PT_SUNWSTACK 0x6ffffffb /* describes the stack segment */
-#define PT_SUNWDTRACE 0x6ffffffc /* private */
-#define PT_SUNWCAP 0x6ffffffd /* hard/soft capabilities segment */
-#define PT_HISUNW 0x6fffffff
-#define PT_HIOS 0x6fffffff /* Last OS-specific. */
-#define PT_LOPROC 0x70000000 /* First processor-specific type. */
-#define PT_HIPROC 0x7fffffff /* Last processor-specific type. */
-/* Values for p_flags. */
-#define PF_X 0x1 /* Executable. */
-#define PF_W 0x2 /* Writable. */
-#define PF_R 0x4 /* Readable. */
-#define PF_MASKOS 0x0ff00000 /* Operating system-specific. */
-#define PF_MASKPROC 0xf0000000 /* Processor-specific. */
+#define PT_COUNT 8 /* Number of defined p_type values. */
-/* Extended program header index. */
-#define PN_XNUM 0xffff
+#define PT_LOOS 0x60000000 /* OS-specific */
+#define PT_HIOS 0x6fffffff /* OS-specific */
+#define PT_LOPROC 0x70000000 /* First processor-specific type. */
+#define PT_HIPROC 0x7fffffff /* Last processor-specific type. */
+
+/* Values for p_flags. */
+#define PF_X 0x1 /* Executable. */
+#define PF_W 0x2 /* Writable. */
+#define PF_R 0x4 /* Readable. */
/* Values for d_tag. */
-#define DT_NULL 0 /* Terminating entry. */
-#define DT_NEEDED 1 /* String table offset of a needed shared
+#define DT_NULL 0 /* Terminating entry. */
+#define DT_NEEDED 1 /* String table offset of a needed shared
library. */
-#define DT_PLTRELSZ 2 /* Total size in bytes of PLT relocations. */
-#define DT_PLTGOT 3 /* Processor-dependent address. */
-#define DT_HASH 4 /* Address of symbol hash table. */
-#define DT_STRTAB 5 /* Address of string table. */
-#define DT_SYMTAB 6 /* Address of symbol table. */
-#define DT_RELA 7 /* Address of ElfNN_Rela relocations. */
-#define DT_RELASZ 8 /* Total size of ElfNN_Rela relocations. */
-#define DT_RELAENT 9 /* Size of each ElfNN_Rela relocation entry. */
-#define DT_STRSZ 10 /* Size of string table. */
-#define DT_SYMENT 11 /* Size of each symbol table entry. */
-#define DT_INIT 12 /* Address of initialization function. */
-#define DT_FINI 13 /* Address of finalization function. */
-#define DT_SONAME 14 /* String table offset of shared object
+#define DT_PLTRELSZ 2 /* Total size in bytes of PLT relocations. */
+#define DT_PLTGOT 3 /* Processor-dependent address. */
+#define DT_HASH 4 /* Address of symbol hash table. */
+#define DT_STRTAB 5 /* Address of string table. */
+#define DT_SYMTAB 6 /* Address of symbol table. */
+#define DT_RELA 7 /* Address of ElfNN_Rela relocations. */
+#define DT_RELASZ 8 /* Total size of ElfNN_Rela relocations. */
+#define DT_RELAENT 9 /* Size of each ElfNN_Rela relocation entry. */
+#define DT_STRSZ 10 /* Size of string table. */
+#define DT_SYMENT 11 /* Size of each symbol table entry. */
+#define DT_INIT 12 /* Address of initialization function. */
+#define DT_FINI 13 /* Address of finalization function. */
+#define DT_SONAME 14 /* String table offset of shared object
name. */
-#define DT_RPATH 15 /* String table offset of library path. [sup] */
-#define DT_SYMBOLIC 16 /* Indicates "symbolic" linking. [sup] */
-#define DT_REL 17 /* Address of ElfNN_Rel relocations. */
-#define DT_RELSZ 18 /* Total size of ElfNN_Rel relocations. */
-#define DT_RELENT 19 /* Size of each ElfNN_Rel relocation. */
-#define DT_PLTREL 20 /* Type of relocation used for PLT. */
-#define DT_DEBUG 21 /* Reserved (not used). */
-#define DT_TEXTREL 22 /* Indicates there may be relocations in
+#define DT_RPATH 15 /* String table offset of library path. [sup] */
+#define DT_SYMBOLIC 16 /* Indicates "symbolic" linking. [sup] */
+#define DT_REL 17 /* Address of ElfNN_Rel relocations. */
+#define DT_RELSZ 18 /* Total size of ElfNN_Rel relocations. */
+#define DT_RELENT 19 /* Size of each ElfNN_Rel relocation. */
+#define DT_PLTREL 20 /* Type of relocation used for PLT. */
+#define DT_DEBUG 21 /* Reserved (not used). */
+#define DT_TEXTREL 22 /* Indicates there may be relocations in
non-writable segments. [sup] */
-#define DT_JMPREL 23 /* Address of PLT relocations. */
+#define DT_JMPREL 23 /* Address of PLT relocations. */
#define DT_BIND_NOW 24 /* [sup] */
#define DT_INIT_ARRAY 25 /* Address of the array of pointers to
initialization functions */
@@ -387,75 +235,25 @@ typedef struct {
#define DT_INIT_ARRAYSZ 27 /* Size in bytes of the array of
initialization functions. */
#define DT_FINI_ARRAYSZ 28 /* Size in bytes of the array of
- termination functions. */
+ terminationfunctions. */
#define DT_RUNPATH 29 /* String table offset of a null-terminated
library search path string. */
#define DT_FLAGS 30 /* Object specific flag values. */
#define DT_ENCODING 32 /* Values greater than or equal to DT_ENCODING
and less than DT_LOOS follow the rules for
the interpretation of the d_un union
- as follows: even == 'd_ptr', odd == 'd_val'
+ as follows: even == 'd_ptr', even == 'd_val'
or none */
#define DT_PREINIT_ARRAY 32 /* Address of the array of pointers to
pre-initialization functions. */
#define DT_PREINIT_ARRAYSZ 33 /* Size in bytes of the array of
pre-initialization functions. */
-#define DT_MAXPOSTAGS 34 /* number of positive tags */
-#define DT_LOOS 0x6000000d /* First OS-specific */
-#define DT_SUNW_AUXILIARY 0x6000000d /* symbol auxiliary name */
-#define DT_SUNW_RTLDINF 0x6000000e /* ld.so.1 info (private) */
-#define DT_SUNW_FILTER 0x6000000f /* symbol filter name */
-#define DT_SUNW_CAP 0x60000010 /* hardware/software */
-#define DT_HIOS 0x6ffff000 /* Last OS-specific */
-
-/*
- * DT_* entries which fall between DT_VALRNGHI & DT_VALRNGLO use the
- * Dyn.d_un.d_val field of the Elf*_Dyn structure.
- */
-#define DT_VALRNGLO 0x6ffffd00
-#define DT_CHECKSUM 0x6ffffdf8 /* elf checksum */
-#define DT_PLTPADSZ 0x6ffffdf9 /* pltpadding size */
-#define DT_MOVEENT 0x6ffffdfa /* move table entry size */
-#define DT_MOVESZ 0x6ffffdfb /* move table size */
-#define DT_FEATURE_1 0x6ffffdfc /* feature holder */
-#define DT_POSFLAG_1 0x6ffffdfd /* flags for DT_* entries, effecting */
- /* the following DT_* entry. */
- /* See DF_P1_* definitions */
-#define DT_SYMINSZ 0x6ffffdfe /* syminfo table size (in bytes) */
-#define DT_SYMINENT 0x6ffffdff /* syminfo entry size (in bytes) */
-#define DT_VALRNGHI 0x6ffffdff
-
-/*
- * DT_* entries which fall between DT_ADDRRNGHI & DT_ADDRRNGLO use the
- * Dyn.d_un.d_ptr field of the Elf*_Dyn structure.
- *
- * If any adjustment is made to the ELF object after it has been
- * built, these entries will need to be adjusted.
- */
-#define DT_ADDRRNGLO 0x6ffffe00
-#define DT_GNU_HASH 0x6ffffef5 /* GNU-style hash table */
-#define DT_CONFIG 0x6ffffefa /* configuration information */
-#define DT_DEPAUDIT 0x6ffffefb /* dependency auditing */
-#define DT_AUDIT 0x6ffffefc /* object auditing */
-#define DT_PLTPAD 0x6ffffefd /* pltpadding (sparcv9) */
-#define DT_MOVETAB 0x6ffffefe /* move table */
-#define DT_SYMINFO 0x6ffffeff /* syminfo table */
-#define DT_ADDRRNGHI 0x6ffffeff
-#define DT_VERSYM 0x6ffffff0 /* Address of versym section. */
-#define DT_RELACOUNT 0x6ffffff9 /* number of RELATIVE relocations */
-#define DT_RELCOUNT 0x6ffffffa /* number of RELATIVE relocations */
-#define DT_FLAGS_1 0x6ffffffb /* state flags - see DF_1_* defs */
-#define DT_VERDEF 0x6ffffffc /* Address of verdef section. */
-#define DT_VERDEFNUM 0x6ffffffd /* Number of elems in verdef section */
-#define DT_VERNEED 0x6ffffffe /* Address of verneed section. */
-#define DT_VERNEEDNUM 0x6fffffff /* Number of elems in verneed section */
+#define DT_COUNT 33 /* Number of defined d_tag values. */
+#define DT_LOOS 0x6000000d /* First OS-specific */
+#define DT_HIOS 0x6fff0000 /* Last OS-specific */
#define DT_LOPROC 0x70000000 /* First processor-specific type. */
-#define DT_DEPRECATED_SPARC_REGISTER 0x7000001
-#define DT_AUXILIARY 0x7ffffffd /* shared library auxiliary name */
-#define DT_USED 0x7ffffffe /* ignored - same as needed */
-#define DT_FILTER 0x7fffffff /* shared library filter name */
#define DT_HIPROC 0x7fffffff /* Last processor-specific type. */
/* Values for DT_FLAGS */
@@ -473,638 +271,29 @@ typedef struct {
executable contains code using a static
thread-local storage scheme. */
-/* Values for DT_FLAGS_1 */
-#define DF_1_BIND_NOW 0x00000001 /* Same as DF_BIND_NOW */
-#define DF_1_GLOBAL 0x00000002 /* Set the RTLD_GLOBAL for object */
-#define DF_1_NODELETE 0x00000008 /* Set the RTLD_NODELETE for object */
-#define DF_1_LOADFLTR 0x00000010 /* Immediate loading of filtees */
-#define DF_1_NOOPEN 0x00000040 /* Do not allow loading on dlopen() */
-#define DF_1_ORIGIN 0x00000080 /* Process $ORIGIN */
-#define DF_1_NODEFLIB 0x00000800 /* Do not search default paths */
-
/* Values for n_type. Used in core files. */
-#define NT_PRSTATUS 1 /* Process status. */
-#define NT_FPREGSET 2 /* Floating point registers. */
-#define NT_PRPSINFO 3 /* Process state info. */
-#define NT_THRMISC 7 /* Thread miscellaneous info. */
+#define NT_PRSTATUS 1 /* Process status. */
+#define NT_FPREGSET 2 /* Floating point registers. */
+#define NT_PRPSINFO 3 /* Process state info. */
/* Symbol Binding - ELFNN_ST_BIND - st_info */
-#define STB_LOCAL 0 /* Local symbol */
-#define STB_GLOBAL 1 /* Global symbol */
-#define STB_WEAK 2 /* like global - lower precedence */
-#define STB_LOOS 10 /* Reserved range for operating system */
-#define STB_HIOS 12 /* specific semantics. */
-#define STB_LOPROC 13 /* reserved range for processor */
-#define STB_HIPROC 15 /* specific semantics. */
+#define STB_LOCAL 0 /* Local symbol */
+#define STB_GLOBAL 1 /* Global symbol */
+#define STB_WEAK 2 /* like global - lower precedence */
+#define STB_LOPROC 13 /* reserved range for processor */
+#define STB_HIPROC 15 /* specific symbol bindings */
/* Symbol type - ELFNN_ST_TYPE - st_info */
-#define STT_NOTYPE 0 /* Unspecified type. */
-#define STT_OBJECT 1 /* Data object. */
-#define STT_FUNC 2 /* Function. */
-#define STT_SECTION 3 /* Section. */
-#define STT_FILE 4 /* Source file. */
-#define STT_COMMON 5 /* Uninitialized common block. */
-#define STT_TLS 6 /* TLS object. */
-#define STT_NUM 7
-#define STT_LOOS 10 /* Reserved range for operating system */
-#define STT_GNU_IFUNC 10
-#define STT_HIOS 12 /* specific semantics. */
-#define STT_LOPROC 13 /* reserved range for processor */
-#define STT_HIPROC 15 /* specific semantics. */
-
-/* Symbol visibility - ELFNN_ST_VISIBILITY - st_other */
-#define STV_DEFAULT 0x0 /* Default visibility (see binding). */
-#define STV_INTERNAL 0x1 /* Special meaning in relocatable objects. */
-#define STV_HIDDEN 0x2 /* Not visible. */
-#define STV_PROTECTED 0x3 /* Visible but not preemptible. */
-#define STV_EXPORTED 0x4
-#define STV_SINGLETON 0x5
-#define STV_ELIMINATE 0x6
+#define STT_NOTYPE 0 /* Unspecified type. */
+#define STT_OBJECT 1 /* Data object. */
+#define STT_FUNC 2 /* Function. */
+#define STT_SECTION 3 /* Section. */
+#define STT_FILE 4 /* Source file. */
+#define STT_TLS 6 /* TLS object. */
+#define STT_LOPROC 13 /* reserved range for processor */
+#define STT_HIPROC 15 /* specific symbol types */
/* Special symbol table indexes. */
-#define STN_UNDEF 0 /* Undefined symbol index. */
-
-/* Symbol versioning flags. */
-#define VER_DEF_CURRENT 1
-#define VER_DEF_IDX(x) VER_NDX(x)
-
-#define VER_FLG_BASE 0x01
-#define VER_FLG_WEAK 0x02
-
-#define VER_NEED_CURRENT 1
-#define VER_NEED_WEAK (1u << 15)
-#define VER_NEED_HIDDEN VER_NDX_HIDDEN
-#define VER_NEED_IDX(x) VER_NDX(x)
-
-#define VER_NDX_LOCAL 0
-#define VER_NDX_GLOBAL 1
-#define VER_NDX_GIVEN 2
-
-#define VER_NDX_HIDDEN (1u << 15)
-#define VER_NDX(x) ((x) & ~(1u << 15))
-
-#define CA_SUNW_NULL 0
-#define CA_SUNW_HW_1 1 /* first hardware capabilities entry */
-#define CA_SUNW_SF_1 2 /* first software capabilities entry */
-
-/*
- * Syminfo flag values
- */
-#define SYMINFO_FLG_DIRECT 0x0001 /* symbol ref has direct association */
- /* to object containing defn. */
-#define SYMINFO_FLG_PASSTHRU 0x0002 /* ignored - see SYMINFO_FLG_FILTER */
-#define SYMINFO_FLG_COPY 0x0004 /* symbol is a copy-reloc */
-#define SYMINFO_FLG_LAZYLOAD 0x0008 /* object containing defn should be */
- /* lazily-loaded */
-#define SYMINFO_FLG_DIRECTBIND 0x0010 /* ref should be bound directly to */
- /* object containing defn. */
-#define SYMINFO_FLG_NOEXTDIRECT 0x0020 /* don't let an external reference */
- /* directly bind to this symbol */
-#define SYMINFO_FLG_FILTER 0x0002 /* symbol ref is associated to a */
-#define SYMINFO_FLG_AUXILIARY 0x0040 /* standard or auxiliary filter */
-
-/*
- * Syminfo.si_boundto values.
- */
-#define SYMINFO_BT_SELF 0xffff /* symbol bound to self */
-#define SYMINFO_BT_PARENT 0xfffe /* symbol bound to parent */
-#define SYMINFO_BT_NONE 0xfffd /* no special symbol binding */
-#define SYMINFO_BT_EXTERN 0xfffc /* symbol defined as external */
-#define SYMINFO_BT_LOWRESERVE 0xff00 /* beginning of reserved entries */
-
-/*
- * Syminfo version values.
- */
-#define SYMINFO_NONE 0 /* Syminfo version */
-#define SYMINFO_CURRENT 1
-#define SYMINFO_NUM 2
-
-/*
- * Relocation types.
- *
- * All machine architectures are defined here to allow tools on one to
- * handle others.
- */
-
-#define R_386_NONE 0 /* No relocation. */
-#define R_386_32 1 /* Add symbol value. */
-#define R_386_PC32 2 /* Add PC-relative symbol value. */
-#define R_386_GOT32 3 /* Add PC-relative GOT offset. */
-#define R_386_PLT32 4 /* Add PC-relative PLT offset. */
-#define R_386_COPY 5 /* Copy data from shared object. */
-#define R_386_GLOB_DAT 6 /* Set GOT entry to data address. */
-#define R_386_JMP_SLOT 7 /* Set GOT entry to code address. */
-#define R_386_RELATIVE 8 /* Add load address of shared object. */
-#define R_386_GOTOFF 9 /* Add GOT-relative symbol address. */
-#define R_386_GOTPC 10 /* Add PC-relative GOT table address. */
-#define R_386_TLS_TPOFF 14 /* Negative offset in static TLS block */
-#define R_386_TLS_IE 15 /* Absolute address of GOT for -ve static TLS */
-#define R_386_TLS_GOTIE 16 /* GOT entry for negative static TLS block */
-#define R_386_TLS_LE 17 /* Negative offset relative to static TLS */
-#define R_386_TLS_GD 18 /* 32 bit offset to GOT (index,off) pair */
-#define R_386_TLS_LDM 19 /* 32 bit offset to GOT (index,zero) pair */
-#define R_386_16 20
-#define R_386_PC16 21
-#define R_386_8 22
-#define R_386_PC8 23
-#define R_386_TLS_GD_32 24 /* 32 bit offset to GOT (index,off) pair */
-#define R_386_TLS_GD_PUSH 25 /* pushl instruction for Sun ABI GD sequence */
-#define R_386_TLS_GD_CALL 26 /* call instruction for Sun ABI GD sequence */
-#define R_386_TLS_GD_POP 27 /* popl instruction for Sun ABI GD sequence */
-#define R_386_TLS_LDM_32 28 /* 32 bit offset to GOT (index,zero) pair */
-#define R_386_TLS_LDM_PUSH 29 /* pushl instruction for Sun ABI LD sequence */
-#define R_386_TLS_LDM_CALL 30 /* call instruction for Sun ABI LD sequence */
-#define R_386_TLS_LDM_POP 31 /* popl instruction for Sun ABI LD sequence */
-#define R_386_TLS_LDO_32 32 /* 32 bit offset from start of TLS block */
-#define R_386_TLS_IE_32 33 /* 32 bit offset to GOT static TLS offset entry */
-#define R_386_TLS_LE_32 34 /* 32 bit offset within static TLS block */
-#define R_386_TLS_DTPMOD32 35 /* GOT entry containing TLS index */
-#define R_386_TLS_DTPOFF32 36 /* GOT entry containing TLS offset */
-#define R_386_TLS_TPOFF32 37 /* GOT entry of -ve static TLS offset */
-#define R_386_IRELATIVE 42 /* PLT entry resolved indirectly at runtime */
-
-#define R_ARM_NONE 0 /* No relocation. */
-#define R_ARM_PC24 1
-#define R_ARM_ABS32 2
-#define R_ARM_REL32 3
-#define R_ARM_PC13 4
-#define R_ARM_ABS16 5
-#define R_ARM_ABS12 6
-#define R_ARM_THM_ABS5 7
-#define R_ARM_ABS8 8
-#define R_ARM_SBREL32 9
-#define R_ARM_THM_PC22 10
-#define R_ARM_THM_PC8 11
-#define R_ARM_AMP_VCALL9 12
-#define R_ARM_SWI24 13
-#define R_ARM_THM_SWI8 14
-#define R_ARM_XPC25 15
-#define R_ARM_THM_XPC22 16
-/* TLS relocations */
-#define R_ARM_TLS_DTPMOD32 17 /* ID of module containing symbol */
-#define R_ARM_TLS_DTPOFF32 18 /* Offset in TLS block */
-#define R_ARM_TLS_TPOFF32 19 /* Offset in static TLS block */
-#define R_ARM_COPY 20 /* Copy data from shared object. */
-#define R_ARM_GLOB_DAT 21 /* Set GOT entry to data address. */
-#define R_ARM_JUMP_SLOT 22 /* Set GOT entry to code address. */
-#define R_ARM_RELATIVE 23 /* Add load address of shared object. */
-#define R_ARM_GOTOFF 24 /* Add GOT-relative symbol address. */
-#define R_ARM_GOTPC 25 /* Add PC-relative GOT table address. */
-#define R_ARM_GOT32 26 /* Add PC-relative GOT offset. */
-#define R_ARM_PLT32 27 /* Add PC-relative PLT offset. */
-#define R_ARM_GNU_VTENTRY 100
-#define R_ARM_GNU_VTINHERIT 101
-#define R_ARM_RSBREL32 250
-#define R_ARM_THM_RPC22 251
-#define R_ARM_RREL32 252
-#define R_ARM_RABS32 253
-#define R_ARM_RPC24 254
-#define R_ARM_RBASE 255
-
-/* Name Value Field Calculation */
-#define R_IA_64_NONE 0 /* None */
-#define R_IA_64_IMM14 0x21 /* immediate14 S + A */
-#define R_IA_64_IMM22 0x22 /* immediate22 S + A */
-#define R_IA_64_IMM64 0x23 /* immediate64 S + A */
-#define R_IA_64_DIR32MSB 0x24 /* word32 MSB S + A */
-#define R_IA_64_DIR32LSB 0x25 /* word32 LSB S + A */
-#define R_IA_64_DIR64MSB 0x26 /* word64 MSB S + A */
-#define R_IA_64_DIR64LSB 0x27 /* word64 LSB S + A */
-#define R_IA_64_GPREL22 0x2a /* immediate22 @gprel(S + A) */
-#define R_IA_64_GPREL64I 0x2b /* immediate64 @gprel(S + A) */
-#define R_IA_64_GPREL32MSB 0x2c /* word32 MSB @gprel(S + A) */
-#define R_IA_64_GPREL32LSB 0x2d /* word32 LSB @gprel(S + A) */
-#define R_IA_64_GPREL64MSB 0x2e /* word64 MSB @gprel(S + A) */
-#define R_IA_64_GPREL64LSB 0x2f /* word64 LSB @gprel(S + A) */
-#define R_IA_64_LTOFF22 0x32 /* immediate22 @ltoff(S + A) */
-#define R_IA_64_LTOFF64I 0x33 /* immediate64 @ltoff(S + A) */
-#define R_IA_64_PLTOFF22 0x3a /* immediate22 @pltoff(S + A) */
-#define R_IA_64_PLTOFF64I 0x3b /* immediate64 @pltoff(S + A) */
-#define R_IA_64_PLTOFF64MSB 0x3e /* word64 MSB @pltoff(S + A) */
-#define R_IA_64_PLTOFF64LSB 0x3f /* word64 LSB @pltoff(S + A) */
-#define R_IA_64_FPTR64I 0x43 /* immediate64 @fptr(S + A) */
-#define R_IA_64_FPTR32MSB 0x44 /* word32 MSB @fptr(S + A) */
-#define R_IA_64_FPTR32LSB 0x45 /* word32 LSB @fptr(S + A) */
-#define R_IA_64_FPTR64MSB 0x46 /* word64 MSB @fptr(S + A) */
-#define R_IA_64_FPTR64LSB 0x47 /* word64 LSB @fptr(S + A) */
-#define R_IA_64_PCREL60B 0x48 /* immediate60 form1 S + A - P */
-#define R_IA_64_PCREL21B 0x49 /* immediate21 form1 S + A - P */
-#define R_IA_64_PCREL21M 0x4a /* immediate21 form2 S + A - P */
-#define R_IA_64_PCREL21F 0x4b /* immediate21 form3 S + A - P */
-#define R_IA_64_PCREL32MSB 0x4c /* word32 MSB S + A - P */
-#define R_IA_64_PCREL32LSB 0x4d /* word32 LSB S + A - P */
-#define R_IA_64_PCREL64MSB 0x4e /* word64 MSB S + A - P */
-#define R_IA_64_PCREL64LSB 0x4f /* word64 LSB S + A - P */
-#define R_IA_64_LTOFF_FPTR22 0x52 /* immediate22 @ltoff(@fptr(S + A)) */
-#define R_IA_64_LTOFF_FPTR64I 0x53 /* immediate64 @ltoff(@fptr(S + A)) */
-#define R_IA_64_LTOFF_FPTR32MSB 0x54 /* word32 MSB @ltoff(@fptr(S + A)) */
-#define R_IA_64_LTOFF_FPTR32LSB 0x55 /* word32 LSB @ltoff(@fptr(S + A)) */
-#define R_IA_64_LTOFF_FPTR64MSB 0x56 /* word64 MSB @ltoff(@fptr(S + A)) */
-#define R_IA_64_LTOFF_FPTR64LSB 0x57 /* word64 LSB @ltoff(@fptr(S + A)) */
-#define R_IA_64_SEGREL32MSB 0x5c /* word32 MSB @segrel(S + A) */
-#define R_IA_64_SEGREL32LSB 0x5d /* word32 LSB @segrel(S + A) */
-#define R_IA_64_SEGREL64MSB 0x5e /* word64 MSB @segrel(S + A) */
-#define R_IA_64_SEGREL64LSB 0x5f /* word64 LSB @segrel(S + A) */
-#define R_IA_64_SECREL32MSB 0x64 /* word32 MSB @secrel(S + A) */
-#define R_IA_64_SECREL32LSB 0x65 /* word32 LSB @secrel(S + A) */
-#define R_IA_64_SECREL64MSB 0x66 /* word64 MSB @secrel(S + A) */
-#define R_IA_64_SECREL64LSB 0x67 /* word64 LSB @secrel(S + A) */
-#define R_IA_64_REL32MSB 0x6c /* word32 MSB BD + A */
-#define R_IA_64_REL32LSB 0x6d /* word32 LSB BD + A */
-#define R_IA_64_REL64MSB 0x6e /* word64 MSB BD + A */
-#define R_IA_64_REL64LSB 0x6f /* word64 LSB BD + A */
-#define R_IA_64_LTV32MSB 0x74 /* word32 MSB S + A */
-#define R_IA_64_LTV32LSB 0x75 /* word32 LSB S + A */
-#define R_IA_64_LTV64MSB 0x76 /* word64 MSB S + A */
-#define R_IA_64_LTV64LSB 0x77 /* word64 LSB S + A */
-#define R_IA_64_PCREL21BI 0x79 /* immediate21 form1 S + A - P */
-#define R_IA_64_PCREL22 0x7a /* immediate22 S + A - P */
-#define R_IA_64_PCREL64I 0x7b /* immediate64 S + A - P */
-#define R_IA_64_IPLTMSB 0x80 /* function descriptor MSB special */
-#define R_IA_64_IPLTLSB 0x81 /* function descriptor LSB speciaal */
-#define R_IA_64_SUB 0x85 /* immediate64 A - S */
-#define R_IA_64_LTOFF22X 0x86 /* immediate22 special */
-#define R_IA_64_LDXMOV 0x87 /* immediate22 special */
-#define R_IA_64_TPREL14 0x91 /* imm14 @tprel(S + A) */
-#define R_IA_64_TPREL22 0x92 /* imm22 @tprel(S + A) */
-#define R_IA_64_TPREL64I 0x93 /* imm64 @tprel(S + A) */
-#define R_IA_64_TPREL64MSB 0x96 /* word64 MSB @tprel(S + A) */
-#define R_IA_64_TPREL64LSB 0x97 /* word64 LSB @tprel(S + A) */
-#define R_IA_64_LTOFF_TPREL22 0x9a /* imm22 @ltoff(@tprel(S+A)) */
-#define R_IA_64_DTPMOD64MSB 0xa6 /* word64 MSB @dtpmod(S + A) */
-#define R_IA_64_DTPMOD64LSB 0xa7 /* word64 LSB @dtpmod(S + A) */
-#define R_IA_64_LTOFF_DTPMOD22 0xaa /* imm22 @ltoff(@dtpmod(S+A)) */
-#define R_IA_64_DTPREL14 0xb1 /* imm14 @dtprel(S + A) */
-#define R_IA_64_DTPREL22 0xb2 /* imm22 @dtprel(S + A) */
-#define R_IA_64_DTPREL64I 0xb3 /* imm64 @dtprel(S + A) */
-#define R_IA_64_DTPREL32MSB 0xb4 /* word32 MSB @dtprel(S + A) */
-#define R_IA_64_DTPREL32LSB 0xb5 /* word32 LSB @dtprel(S + A) */
-#define R_IA_64_DTPREL64MSB 0xb6 /* word64 MSB @dtprel(S + A) */
-#define R_IA_64_DTPREL64LSB 0xb7 /* word64 LSB @dtprel(S + A) */
-#define R_IA_64_LTOFF_DTPREL22 0xba /* imm22 @ltoff(@dtprel(S+A)) */
-
-/* Linux style aliases */
-#define R_IA64_NONE R_IA_64_NONE
-#define R_IA64_IMM14 R_IA_64_IMM14
-#define R_IA64_IMM22 R_IA_64_IMM22
-#define R_IA64_IMM64 R_IA_64_IMM64
-#define R_IA64_DIR32MSB R_IA_64_DIR32MSB
-#define R_IA64_DIR32LSB R_IA_64_DIR32LSB
-#define R_IA64_DIR64MSB R_IA_64_DIR64MSB
-#define R_IA64_DIR64LSB R_IA_64_DIR64LSB
-#define R_IA64_GPREL22 R_IA_64_GPREL22
-#define R_IA64_GPREL64I R_IA_64_GPREL64I
-#define R_IA64_GPREL32MSB R_IA_64_GPREL32MSB
-#define R_IA64_GPREL32LSB R_IA_64_GPREL32LSB
-#define R_IA64_GPREL64MSB R_IA_64_GPREL64MSB
-#define R_IA64_GPREL64LSB R_IA_64_GPREL64LSB
-#define R_IA64_LTOFF22 R_IA_64_LTOFF22
-#define R_IA64_LTOFF64I R_IA_64_LTOFF64I
-#define R_IA64_PLTOFF22 R_IA_64_PLTOFF22
-#define R_IA64_PLTOFF64I R_IA_64_PLTOFF64I
-#define R_IA64_PLTOFF64MSB R_IA_64_PLTOFF64MSB
-#define R_IA64_PLTOFF64LSB R_IA_64_PLTOFF64LSB
-#define R_IA64_FPTR64I R_IA_64_FPTR64I
-#define R_IA64_FPTR32MSB R_IA_64_FPTR32MSB
-#define R_IA64_FPTR32LSB R_IA_64_FPTR32LSB
-#define R_IA64_FPTR64MSB R_IA_64_FPTR64MSB
-#define R_IA64_FPTR64LSB R_IA_64_FPTR64LSB
-#define R_IA64_PCREL60B R_IA_64_PCREL60B
-#define R_IA64_PCREL21B R_IA_64_PCREL21B
-#define R_IA64_PCREL21M R_IA_64_PCREL21M
-#define R_IA64_PCREL21F R_IA_64_PCREL21F
-#define R_IA64_PCREL32MSB R_IA_64_PCREL32MSB
-#define R_IA64_PCREL32LSB R_IA_64_PCREL32LSB
-#define R_IA64_PCREL64MSB R_IA_64_PCREL64MSB
-#define R_IA64_PCREL64LSB R_IA_64_PCREL64LSB
-#define R_IA64_LTOFF_FPTR22 R_IA_64_LTOFF_FPTR22
-#define R_IA64_LTOFF_FPTR64I R_IA_64_LTOFF_FPTR64I
-#define R_IA64_LTOFF_FPTR32MSB R_IA_64_LTOFF_FPTR32MSB
-#define R_IA64_LTOFF_FPTR32LSB R_IA_64_LTOFF_FPTR32LSB
-#define R_IA64_LTOFF_FPTR64MSB R_IA_64_LTOFF_FPTR64MSB
-#define R_IA64_LTOFF_FPTR64LSB R_IA_64_LTOFF_FPTR64LSB
-#define R_IA64_SEGREL32MSB R_IA_64_SEGREL32MSB
-#define R_IA64_SEGREL32LSB R_IA_64_SEGREL32LSB
-#define R_IA64_SEGREL64MSB R_IA_64_SEGREL64MSB
-#define R_IA64_SEGREL64LSB R_IA_64_SEGREL64LSB
-#define R_IA64_SECREL32MSB R_IA_64_SECREL32MSB
-#define R_IA64_SECREL32LSB R_IA_64_SECREL32LSB
-#define R_IA64_SECREL64MSB R_IA_64_SECREL64MSB
-#define R_IA64_SECREL64LSB R_IA_64_SECREL64LSB
-#define R_IA64_REL32MSB R_IA_64_REL32MSB
-#define R_IA64_REL32LSB R_IA_64_REL32LSB
-#define R_IA64_REL64MSB R_IA_64_REL64MSB
-#define R_IA64_REL64LSB R_IA_64_REL64LSB
-#define R_IA64_LTV32MSB R_IA_64_LTV32MSB
-#define R_IA64_LTV32LSB R_IA_64_LTV32LSB
-#define R_IA64_LTV64MSB R_IA_64_LTV64MSB
-#define R_IA64_LTV64LSB R_IA_64_LTV64LSB
-#define R_IA64_PCREL21BI R_IA_64_PCREL21BI
-#define R_IA64_PCREL22 R_IA_64_PCREL22
-#define R_IA64_PCREL64I R_IA_64_PCREL64I
-#define R_IA64_IPLTMSB R_IA_64_IPLTMSB
-#define R_IA64_IPLTLSB R_IA_64_IPLTLSB
-#define R_IA64_SUB R_IA_64_SUB
-#define R_IA64_LTOFF22X R_IA_64_LTOFF22X
-#define R_IA64_LDXMOV R_IA_64_LDXMOV
-#define R_IA64_TPREL14 R_IA_64_TPREL14
-#define R_IA64_TPREL22 R_IA_64_TPREL22
-#define R_IA64_TPREL64I R_IA_64_TPREL64I
-#define R_IA64_TPREL64MSB R_IA_64_TPREL64MSB
-#define R_IA64_TPREL64LSB R_IA_64_TPREL64LSB
-#define R_IA64_LTOFF_TPREL22 R_IA_64_LTOFF_TPREL22
-#define R_IA64_DTPMOD64MSB R_IA_64_DTPMOD64MSB
-#define R_IA64_DTPMOD64LSB R_IA_64_DTPMOD64LSB
-#define R_IA64_LTOFF_DTPMOD22 R_IA_64_LTOFF_DTPMOD22
-#define R_IA64_DTPREL14 R_IA_64_DTPREL14
-#define R_IA64_DTPREL22 R_IA_64_DTPREL22
-#define R_IA64_DTPREL64I R_IA_64_DTPREL64I
-#define R_IA64_DTPREL32MSB R_IA_64_DTPREL32MSB
-#define R_IA64_DTPREL32LSB R_IA_64_DTPREL32LSB
-#define R_IA64_DTPREL64MSB R_IA_64_DTPREL64MSB
-#define R_IA64_DTPREL64LSB R_IA_64_DTPREL64LSB
-#define R_IA64_LTOFF_DTPREL22 R_IA_64_LTOFF_DTPREL22
-
-#define R_MIPS_NONE 0 /* No reloc */
-#define R_MIPS_16 1 /* Direct 16 bit */
-#define R_MIPS_32 2 /* Direct 32 bit */
-#define R_MIPS_REL32 3 /* PC relative 32 bit */
-#define R_MIPS_26 4 /* Direct 26 bit shifted */
-#define R_MIPS_HI16 5 /* High 16 bit */
-#define R_MIPS_LO16 6 /* Low 16 bit */
-#define R_MIPS_GPREL16 7 /* GP relative 16 bit */
-#define R_MIPS_LITERAL 8 /* 16 bit literal entry */
-#define R_MIPS_GOT16 9 /* 16 bit GOT entry */
-#define R_MIPS_PC16 10 /* PC relative 16 bit */
-#define R_MIPS_CALL16 11 /* 16 bit GOT entry for function */
-#define R_MIPS_GPREL32 12 /* GP relative 32 bit */
-#define R_MIPS_64 18 /* Direct 64 bit */
-#define R_MIPS_GOTHI16 21 /* GOT HI 16 bit */
-#define R_MIPS_GOTLO16 22 /* GOT LO 16 bit */
-#define R_MIPS_CALLHI16 30 /* upper 16 bit GOT entry for function */
-#define R_MIPS_CALLLO16 31 /* lower 16 bit GOT entry for function */
-
-#define R_PPC_NONE 0 /* No relocation. */
-#define R_PPC_ADDR32 1
-#define R_PPC_ADDR24 2
-#define R_PPC_ADDR16 3
-#define R_PPC_ADDR16_LO 4
-#define R_PPC_ADDR16_HI 5
-#define R_PPC_ADDR16_HA 6
-#define R_PPC_ADDR14 7
-#define R_PPC_ADDR14_BRTAKEN 8
-#define R_PPC_ADDR14_BRNTAKEN 9
-#define R_PPC_REL24 10
-#define R_PPC_REL14 11
-#define R_PPC_REL14_BRTAKEN 12
-#define R_PPC_REL14_BRNTAKEN 13
-#define R_PPC_GOT16 14
-#define R_PPC_GOT16_LO 15
-#define R_PPC_GOT16_HI 16
-#define R_PPC_GOT16_HA 17
-#define R_PPC_PLTREL24 18
-#define R_PPC_COPY 19
-#define R_PPC_GLOB_DAT 20
-#define R_PPC_JMP_SLOT 21
-#define R_PPC_RELATIVE 22
-#define R_PPC_LOCAL24PC 23
-#define R_PPC_UADDR32 24
-#define R_PPC_UADDR16 25
-#define R_PPC_REL32 26
-#define R_PPC_PLT32 27
-#define R_PPC_PLTREL32 28
-#define R_PPC_PLT16_LO 29
-#define R_PPC_PLT16_HI 30
-#define R_PPC_PLT16_HA 31
-#define R_PPC_SDAREL16 32
-#define R_PPC_SECTOFF 33
-#define R_PPC_SECTOFF_LO 34
-#define R_PPC_SECTOFF_HI 35
-#define R_PPC_SECTOFF_HA 36
-
-/*
- * 64-bit relocations
- */
-#define R_PPC64_ADDR64 38
-#define R_PPC64_ADDR16_HIGHER 39
-#define R_PPC64_ADDR16_HIGHERA 40
-#define R_PPC64_ADDR16_HIGHEST 41
-#define R_PPC64_ADDR16_HIGHESTA 42
-#define R_PPC64_UADDR64 43
-#define R_PPC64_REL64 44
-#define R_PPC64_PLT64 45
-#define R_PPC64_PLTREL64 46
-#define R_PPC64_TOC16 47
-#define R_PPC64_TOC16_LO 48
-#define R_PPC64_TOC16_HI 49
-#define R_PPC64_TOC16_HA 50
-#define R_PPC64_TOC 51
-#define R_PPC64_DTPMOD64 68
-#define R_PPC64_TPREL64 73
-#define R_PPC64_DTPREL64 78
-
-/*
- * TLS relocations
- */
-#define R_PPC_TLS 67
-#define R_PPC_DTPMOD32 68
-#define R_PPC_TPREL16 69
-#define R_PPC_TPREL16_LO 70
-#define R_PPC_TPREL16_HI 71
-#define R_PPC_TPREL16_HA 72
-#define R_PPC_TPREL32 73
-#define R_PPC_DTPREL16 74
-#define R_PPC_DTPREL16_LO 75
-#define R_PPC_DTPREL16_HI 76
-#define R_PPC_DTPREL16_HA 77
-#define R_PPC_DTPREL32 78
-#define R_PPC_GOT_TLSGD16 79
-#define R_PPC_GOT_TLSGD16_LO 80
-#define R_PPC_GOT_TLSGD16_HI 81
-#define R_PPC_GOT_TLSGD16_HA 82
-#define R_PPC_GOT_TLSLD16 83
-#define R_PPC_GOT_TLSLD16_LO 84
-#define R_PPC_GOT_TLSLD16_HI 85
-#define R_PPC_GOT_TLSLD16_HA 86
-#define R_PPC_GOT_TPREL16 87
-#define R_PPC_GOT_TPREL16_LO 88
-#define R_PPC_GOT_TPREL16_HI 89
-#define R_PPC_GOT_TPREL16_HA 90
-
-/*
- * The remaining relocs are from the Embedded ELF ABI, and are not in the
- * SVR4 ELF ABI.
- */
-
-#define R_PPC_EMB_NADDR32 101
-#define R_PPC_EMB_NADDR16 102
-#define R_PPC_EMB_NADDR16_LO 103
-#define R_PPC_EMB_NADDR16_HI 104
-#define R_PPC_EMB_NADDR16_HA 105
-#define R_PPC_EMB_SDAI16 106
-#define R_PPC_EMB_SDA2I16 107
-#define R_PPC_EMB_SDA2REL 108
-#define R_PPC_EMB_SDA21 109
-#define R_PPC_EMB_MRKREF 110
-#define R_PPC_EMB_RELSEC16 111
-#define R_PPC_EMB_RELST_LO 112
-#define R_PPC_EMB_RELST_HI 113
-#define R_PPC_EMB_RELST_HA 114
-#define R_PPC_EMB_BIT_FLD 115
-#define R_PPC_EMB_RELSDA 116
-
-#define R_SH_NONE 0
-#define R_SH_DIR32 1
-#define R_SH_REL32 2
-#define R_SH_DIR8WPN 3
-#define R_SH_IND12W 4
-#define R_SH_DIR8WPL 5
-#define R_SH_DIR8WPZ 6
-#define R_SH_DIR8BP 7
-#define R_SH_DIR8W 8
-#define R_SH_DIR8L 9
-#define R_SH_GOT32 0xa0
-#define R_SH_PLT32 0xa1
-#define R_SH_COPY 0xa2
-#define R_SH_GLOB_DAT 0xa3
-#define R_SH_JMP_SLOT 0xa4
-#define R_SH_RELATIVE 0xa5
-#define R_SH_GOTOFF 0xa6
-#define R_SH_GOTPC 0xa7
-
-#define R_SPARC_NONE 0
-#define R_SPARC_8 1
-#define R_SPARC_16 2
-#define R_SPARC_32 3
-#define R_SPARC_DISP8 4
-#define R_SPARC_DISP16 5
-#define R_SPARC_DISP32 6
-#define R_SPARC_WDISP30 7
-#define R_SPARC_WDISP22 8
-#define R_SPARC_HI22 9
-#define R_SPARC_22 10
-#define R_SPARC_13 11
-#define R_SPARC_LO10 12
-#define R_SPARC_GOT10 13
-#define R_SPARC_GOT13 14
-#define R_SPARC_GOT22 15
-#define R_SPARC_PC10 16
-#define R_SPARC_PC22 17
-#define R_SPARC_WPLT30 18
-#define R_SPARC_COPY 19
-#define R_SPARC_GLOB_DAT 20
-#define R_SPARC_JMP_SLOT 21
-#define R_SPARC_RELATIVE 22
-#define R_SPARC_UA32 23
-#define R_SPARC_PLT32 24
-#define R_SPARC_HIPLT22 25
-#define R_SPARC_LOPLT10 26
-#define R_SPARC_PCPLT32 27
-#define R_SPARC_PCPLT22 28
-#define R_SPARC_PCPLT10 29
-#define R_SPARC_10 30
-#define R_SPARC_11 31
-#define R_SPARC_64 32
-#define R_SPARC_OLO10 33
-#define R_SPARC_HH22 34
-#define R_SPARC_HM10 35
-#define R_SPARC_LM22 36
-#define R_SPARC_PC_HH22 37
-#define R_SPARC_PC_HM10 38
-#define R_SPARC_PC_LM22 39
-#define R_SPARC_WDISP16 40
-#define R_SPARC_WDISP19 41
-#define R_SPARC_GLOB_JMP 42
-#define R_SPARC_7 43
-#define R_SPARC_5 44
-#define R_SPARC_6 45
-#define R_SPARC_DISP64 46
-#define R_SPARC_PLT64 47
-#define R_SPARC_HIX22 48
-#define R_SPARC_LOX10 49
-#define R_SPARC_H44 50
-#define R_SPARC_M44 51
-#define R_SPARC_L44 52
-#define R_SPARC_REGISTER 53
-#define R_SPARC_UA64 54
-#define R_SPARC_UA16 55
-#define R_SPARC_TLS_GD_HI22 56
-#define R_SPARC_TLS_GD_LO10 57
-#define R_SPARC_TLS_GD_ADD 58
-#define R_SPARC_TLS_GD_CALL 59
-#define R_SPARC_TLS_LDM_HI22 60
-#define R_SPARC_TLS_LDM_LO10 61
-#define R_SPARC_TLS_LDM_ADD 62
-#define R_SPARC_TLS_LDM_CALL 63
-#define R_SPARC_TLS_LDO_HIX22 64
-#define R_SPARC_TLS_LDO_LOX10 65
-#define R_SPARC_TLS_LDO_ADD 66
-#define R_SPARC_TLS_IE_HI22 67
-#define R_SPARC_TLS_IE_LO10 68
-#define R_SPARC_TLS_IE_LD 69
-#define R_SPARC_TLS_IE_LDX 70
-#define R_SPARC_TLS_IE_ADD 71
-#define R_SPARC_TLS_LE_HIX22 72
-#define R_SPARC_TLS_LE_LOX10 73
-#define R_SPARC_TLS_DTPMOD32 74
-#define R_SPARC_TLS_DTPMOD64 75
-#define R_SPARC_TLS_DTPOFF32 76
-#define R_SPARC_TLS_DTPOFF64 77
-#define R_SPARC_TLS_TPOFF32 78
-#define R_SPARC_TLS_TPOFF64 79
-
-#define R_X86_64_NONE 0 /* No relocation. */
-#define R_X86_64_64 1 /* Add 64 bit symbol value. */
-#define R_X86_64_PC32 2 /* PC-relative 32 bit signed sym value. */
-#define R_X86_64_GOT32 3 /* PC-relative 32 bit GOT offset. */
-#define R_X86_64_PLT32 4 /* PC-relative 32 bit PLT offset. */
-#define R_X86_64_COPY 5 /* Copy data from shared object. */
-#define R_X86_64_GLOB_DAT 6 /* Set GOT entry to data address. */
-#define R_X86_64_JMP_SLOT 7 /* Set GOT entry to code address. */
-#define R_X86_64_RELATIVE 8 /* Add load address of shared object. */
-#define R_X86_64_GOTPCREL 9 /* Add 32 bit signed pcrel offset to GOT. */
-#define R_X86_64_32 10 /* Add 32 bit zero extended symbol value */
-#define R_X86_64_32S 11 /* Add 32 bit sign extended symbol value */
-#define R_X86_64_16 12 /* Add 16 bit zero extended symbol value */
-#define R_X86_64_PC16 13 /* Add 16 bit signed extended pc relative symbol value */
-#define R_X86_64_8 14 /* Add 8 bit zero extended symbol value */
-#define R_X86_64_PC8 15 /* Add 8 bit signed extended pc relative symbol value */
-#define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */
-#define R_X86_64_DTPOFF64 17 /* Offset in TLS block */
-#define R_X86_64_TPOFF64 18 /* Offset in static TLS block */
-#define R_X86_64_TLSGD 19 /* PC relative offset to GD GOT entry */
-#define R_X86_64_TLSLD 20 /* PC relative offset to LD GOT entry */
-#define R_X86_64_DTPOFF32 21 /* Offset in TLS block */
-#define R_X86_64_GOTTPOFF 22 /* PC relative offset to IE GOT entry */
-#define R_X86_64_TPOFF32 23 /* Offset in static TLS block */
-#define R_X86_64_IRELATIVE 37
-
-#define R_390_NONE 0
-#define R_390_8 1
-#define R_390_12 2
-#define R_390_16 3
-#define R_390_32 4
-#define R_390_PC32 5
-#define R_390_GOT12 6
-#define R_390_GOT32 7
-#define R_390_PLT32 8
-#define R_390_COPY 9
-#define R_390_GLOB_DAT 10
-#define R_390_JMP_SLOT 11
-#define R_390_RELATIVE 12
-#define R_390_GOTOFF 13
-#define R_390_GOTPC 14
-#define R_390_GOT16 15
-#define R_390_PC16 16
-#define R_390_PC16DBL 17
-#define R_390_PLT16DBL 18
-#define R_390_PC32DBL 19
-#define R_390_PLT32DBL 20
-#define R_390_GOTPCDBL 21
-#define R_390_64 22
-#define R_390_PC64 23
-#define R_390_GOT64 24
-#define R_390_PLT64 25
-#define R_390_GOTENT 26
+#define STN_UNDEF 0 /* Undefined symbol index. */
#endif /* !_SYS_ELF_COMMON_H_ */
diff --git a/winsup/cygwin/include/sys/elf_generic.h b/winsup/cygwin/include/sys/elf_generic.h
index 95a682f25..dbe9f1e83 100644
--- a/winsup/cygwin/include/sys/elf_generic.h
+++ b/winsup/cygwin/include/sys/elf_generic.h
@@ -23,11 +23,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/sys/sys/elf_generic.h,v 1.6 2002/07/20 02:56:11 peter Exp $
*/
#ifndef _SYS_ELF_GENERIC_H_
-#define _SYS_ELF_GENERIC_H_ 1
+#define _SYS_ELF_GENERIC_H_ 1
#include <sys/cdefs.h>
@@ -36,30 +36,43 @@
* needing to know the word size.
*/
+#ifndef __ELF_WORD_SIZE
+# define __ELF_WORD_SIZE 32
+#endif
+
#if __ELF_WORD_SIZE != 32 && __ELF_WORD_SIZE != 64
#error "__ELF_WORD_SIZE must be defined as 32 or 64"
#endif
-#define ELF_CLASS __CONCAT(ELFCLASS,__ELF_WORD_SIZE)
+#define ELF_CLASS __CONCAT(ELFCLASS,__ELF_WORD_SIZE)
#if BYTE_ORDER == LITTLE_ENDIAN
-#define ELF_DATA ELFDATA2LSB
+#define ELF_DATA ELFDATA2LSB
#elif BYTE_ORDER == BIG_ENDIAN
-#define ELF_DATA ELFDATA2MSB
+#define ELF_DATA ELFDATA2MSB
#else
#error "Unknown byte order"
#endif
-#define __elfN(x) __CONCAT(__CONCAT(__CONCAT(elf,__ELF_WORD_SIZE),_),x)
-#define __ElfN(x) __CONCAT(__CONCAT(__CONCAT(Elf,__ELF_WORD_SIZE),_),x)
-#define __ELFN(x) __CONCAT(__CONCAT(__CONCAT(ELF,__ELF_WORD_SIZE),_),x)
-#define __ElfType(x) typedef __ElfN(x) __CONCAT(Elf_,x)
+#if __ELF_WORD_SIZE == 32
+#define __elfN(x) elf32_##x
+#define __ElfN(x) Elf32_##x
+#define __ELFN(x) ELF32_##x
+#else
+#define __elfN(x) elf364_##x
+#define __ElfN(x) Elf364_##x
+#define __ELFN(x) ELF364_##x
+#endif
+#define __ElfType(x) typedef __ElfN(x) Elf_##x
+#define FOO
__ElfType(Addr);
__ElfType(Half);
__ElfType(Off);
__ElfType(Sword);
__ElfType(Word);
+__ElfType(Size);
+__ElfType(Hashelt);
__ElfType(Ehdr);
__ElfType(Shdr);
__ElfType(Phdr);
@@ -67,22 +80,12 @@ __ElfType(Dyn);
__ElfType(Rel);
__ElfType(Rela);
__ElfType(Sym);
-__ElfType(Verdef);
-__ElfType(Verdaux);
-__ElfType(Verneed);
-__ElfType(Vernaux);
-__ElfType(Versym);
-
-/* Non-standard ELF types. */
-__ElfType(Hashelt);
-__ElfType(Size);
-__ElfType(Ssize);
-#define ELF_R_SYM __ELFN(R_SYM)
-#define ELF_R_TYPE __ELFN(R_TYPE)
-#define ELF_R_INFO __ELFN(R_INFO)
-#define ELF_ST_BIND __ELFN(ST_BIND)
-#define ELF_ST_TYPE __ELFN(ST_TYPE)
-#define ELF_ST_INFO __ELFN(ST_INFO)
+#define ELF_R_SYM __ELFN(R_SYM)
+#define ELF_R_TYPE __ELFN(R_TYPE)
+#define ELF_R_INFO __ELFN(R_INFO)
+#define ELF_ST_BIND __ELFN(ST_BIND)
+#define ELF_ST_TYPE __ELFN(ST_TYPE)
+#define ELF_ST_INFO __ELFN(ST_INFO)
#endif /* !_SYS_ELF_GENERIC_H_ */
diff --git a/winsup/cygwin/include/sys/termios.h b/winsup/cygwin/include/sys/termios.h
index a87f9de68..a0d1b2445 100644
--- a/winsup/cygwin/include/sys/termios.h
+++ b/winsup/cygwin/include/sys/termios.h
@@ -1,7 +1,7 @@
/* sys/termios.h
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -14,8 +14,6 @@ details. */
#ifndef _SYS_TERMIOS_H
#define _SYS_TERMIOS_H
-#include <sys/types.h>
-
#define TIOCMGET 0x5415
#define TIOCMBIS 0x5416
#define TIOCMBIC 0x5417
@@ -330,7 +328,7 @@ int tcsendbreak (int, int);
int tcdrain (int);
int tcflush (int, int);
int tcflow (int, int);
-pid_t tcgetsid (int);
+int tcgetsid (int);
void cfmakeraw (struct termios *);
speed_t cfgetispeed(const struct termios *);
speed_t cfgetospeed(const struct termios *);
diff --git a/winsup/cygwin/include/sys/wait.h b/winsup/cygwin/include/sys/wait.h
index be3e56fd2..5dea7283a 100644
--- a/winsup/cygwin/include/sys/wait.h
+++ b/winsup/cygwin/include/sys/wait.h
@@ -1,6 +1,6 @@
/* sys/wait.h
- Copyright 1997, 1998, 2001, 2002, 2003, 2004, 2006, 2011, 2012 Red Hat, Inc.
+ Copyright 1997, 1998, 2001, 2002, 2003, 2004, 2006, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -44,10 +44,6 @@ pid_t waitpid (pid_t __pid, __wait_status_ptr_t __status, int __options);
pid_t wait3 (__wait_status_ptr_t __status, int __options, struct rusage *__rusage);
pid_t wait4 (pid_t __pid, __wait_status_ptr_t __status, int __options, struct rusage *__rusage);
-#ifdef _COMPILING_NEWLIB
-pid_t _wait (__wait_status_ptr_t __status);
-#endif
-
union wait
{
int w_status;
diff --git a/winsup/cygwin/init.cc b/winsup/cygwin/init.cc
index 1b245f581..c8d4d02db 100644
--- a/winsup/cygwin/init.cc
+++ b/winsup/cygwin/init.cc
@@ -1,7 +1,7 @@
/* init.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -74,6 +74,7 @@ dll_entry (HANDLE h, DWORD reason, void *static_load)
switch (reason)
{
case DLL_PROCESS_ATTACH:
+ wincap.init ();
init_console_handler (false);
cygwin_hmodule = (HMODULE) h;
diff --git a/winsup/cygwin/kernel32.cc b/winsup/cygwin/kernel32.cc
index e95a43121..fd25358aa 100644
--- a/winsup/cygwin/kernel32.cc
+++ b/winsup/cygwin/kernel32.cc
@@ -1,6 +1,6 @@
/* kernel32.cc: Win32 replacement functions.
- Copyright 2008, 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2008, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -11,6 +11,7 @@ details. */
#include "winsup.h"
#include "shared_info.h"
#include "ntdll.h"
+#include <wchar.h>
/* Implement CreateEvent/OpenEvent so that named objects are always created in
Cygwin shared object namespace. */
@@ -307,8 +308,8 @@ CreateFileMappingW (HANDLE hFile, LPSECURITY_ATTRIBUTES lpAttributes,
| PAGE_WRITECOPY | PAGE_EXECUTE
| PAGE_EXECUTE_READ | PAGE_EXECUTE_READWRITE
| PAGE_EXECUTE_WRITECOPY);
- ULONG attribs = flProtect & (SEC_COMMIT | SEC_IMAGE | SEC_NOCACHE
- | SEC_RESERVE);
+ ULONG attribs = flProtect & (SEC_BASED | SEC_NO_CHANGE | SEC_IMAGE | SEC_VLM
+ | SEC_RESERVE | SEC_COMMIT | SEC_NOCACHE);
LARGE_INTEGER size = {{ LowPart : dwMaximumSizeLow,
HighPart : dwMaximumSizeHigh }};
PLARGE_INTEGER psize = size.QuadPart ? &size : NULL;
diff --git a/winsup/cygwin/lib/_cygwin_crt0_common.cc b/winsup/cygwin/lib/_cygwin_crt0_common.cc
index a0dfb8fe4..d44b7c453 100644
--- a/winsup/cygwin/lib/_cygwin_crt0_common.cc
+++ b/winsup/cygwin/lib/_cygwin_crt0_common.cc
@@ -49,6 +49,7 @@ extern "C"
{
char **environ;
int _fmode;
+void _pei386_runtime_relocator (void);
extern char __RUNTIME_PSEUDO_RELOC_LIST__;
extern char __RUNTIME_PSEUDO_RELOC_LIST_END__;
@@ -154,7 +155,7 @@ _cygwin_crt0_common (MainFunc f, per_process *u)
u->image_base = &_image_base__;
/* This is actually a dummy call to force the linker to load this
symbol for older apps which need it. */
- _pei386_runtime_relocator (NULL);
+ _pei386_runtime_relocator ();
return 1;
}
} /* "C" */
diff --git a/winsup/cygwin/lib/crt0.h b/winsup/cygwin/lib/crt0.h
index 878db05ed..461ea9b2e 100644
--- a/winsup/cygwin/lib/crt0.h
+++ b/winsup/cygwin/lib/crt0.h
@@ -12,7 +12,7 @@ details. */
extern "C" {
#endif
-#include "winlean.h"
+#include <windows.h>
struct per_process;
typedef int (*MainFunc) (int argc, char *argv[], char **env);
int __stdcall _cygwin_crt0_common (MainFunc, struct per_process *);
diff --git a/winsup/cygwin/libc/inet_addr.c b/winsup/cygwin/libc/inet_addr.c
index 465e86ed3..24028ad95 100644
--- a/winsup/cygwin/libc/inet_addr.c
+++ b/winsup/cygwin/libc/inet_addr.c
@@ -72,7 +72,8 @@ static const char rcsid[] = "$Id$";
#ifndef __CYGWIN__
__FBSDID("$FreeBSD$");
#else
-#include "winsup.h"
+#define __INSIDE_CYGWIN__
+#define __INSIDE_CYGWIN_NET__
#endif
#ifndef __CYGWIN__
diff --git a/winsup/cygwin/libc/inet_network.c b/winsup/cygwin/libc/inet_network.c
index 01e1a7682..52286f453 100644
--- a/winsup/cygwin/libc/inet_network.c
+++ b/winsup/cygwin/libc/inet_network.c
@@ -34,7 +34,8 @@ static const char sccsid[] = "@(#)inet_network.c 8.1 (Berkeley) 6/4/93";
#ifndef __CYGWIN__
__FBSDID("$FreeBSD$");
#else
-#include "winsup.h"
+#define __INSIDE_CYGWIN__
+#define __INSIDE_CYGWIN_NET__
#endif
#ifndef __CYGWIN__
diff --git a/winsup/cygwin/libc/minires-os-if.c b/winsup/cygwin/libc/minires-os-if.c
index 46e8297fd..f59369827 100644
--- a/winsup/cygwin/libc/minires-os-if.c
+++ b/winsup/cygwin/libc/minires-os-if.c
@@ -1,6 +1,6 @@
/* minires-os-if.c. Stub synchronous resolver for Cygwin.
- Copyright 2006, 2007, 2008, 2009, 2011, 2012 Red Hat, Inc.
+ Copyright 2006, 2007, 2008, 2009, 2011 Red Hat, Inc.
Written by Pierre A. Humblet <Pierre.Humblet@ieee.org>
@@ -10,14 +10,6 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#define __INSIDE_CYGWIN_NET__
-#define USE_SYS_TYPES_FD_SET
-#include <winsup.h>
-#include <ws2tcpip.h>
-#include <iphlpapi.h>
-#include <windns.h>
-#include "ntdll.h"
-#undef h_errno
#include "minires.h"
#ifdef __CYGWIN__
@@ -32,6 +24,13 @@ details. */
#undef NOERROR
#undef DELETE
+#include <windows.h>
+#include <iphlpapi.h>
+#include <windns.h>
+#include <ntdef.h>
+#include "ntdll.h"
+#include <wchar.h>
+
/***********************************************************************
* write_record: Translates a Windows DNS record into a compressed record
***********************************************************************/
diff --git a/winsup/cygwin/libc/minires.h b/winsup/cygwin/libc/minires.h
index 028b1e084..cda0b4c51 100644
--- a/winsup/cygwin/libc/minires.h
+++ b/winsup/cygwin/libc/minires.h
@@ -1,6 +1,6 @@
/* minires.h. Stub synchronous resolver for Cygwin.
- Copyright 2006, 2012 Red Hat, Inc.
+ Copyright 2006 Red Hat, Inc.
Written by Pierre A. Humblet <Pierre.Humblet@ieee.org>
@@ -10,10 +10,13 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
+#define __INSIDE_CYGWIN_NET__
+
#include "winsup.h"
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
+#include <netdb.h>
#include <ctype.h>
#include <sys/time.h>
#include <sys/socket.h>
@@ -24,7 +27,6 @@ details. */
#include <stdio.h>
#include <stdarg.h>
#include <sys/unistd.h>
-#define __INSIDE_CYGWIN_NET__
#include <netdb.h>
#include <arpa/nameser.h>
#include <resolv.h>
diff --git a/winsup/cygwin/libc/rcmd.cc b/winsup/cygwin/libc/rcmd.cc
index 16c05b01b..8012790ec 100644
--- a/winsup/cygwin/libc/rcmd.cc
+++ b/winsup/cygwin/libc/rcmd.cc
@@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$");
#else
#define __INSIDE_CYGWIN_NET__
#include "winsup.h"
-#undef __INSIDE_CYGWIN_NET__
#endif
#ifndef __CYGWIN__
diff --git a/winsup/cygwin/miscfuncs.cc b/winsup/cygwin/miscfuncs.cc
index 10bf4f7e9..4a4cd3ee5 100644
--- a/winsup/cygwin/miscfuncs.cc
+++ b/winsup/cygwin/miscfuncs.cc
@@ -365,7 +365,7 @@ ReadPipeOverlapped (HANDLE h, PVOID buf, DWORD len, LPDWORD ret_len,
}
BOOL WINAPI
-WritePipeOverlapped (HANDLE h, LPCVOID buf, DWORD len, LPDWORD ret_len,
+WritePipeOverlapped (HANDLE h, PCVOID buf, DWORD len, LPDWORD ret_len,
DWORD timeout)
{
OVERLAPPED ov;
diff --git a/winsup/cygwin/miscfuncs.h b/winsup/cygwin/miscfuncs.h
index ff5fa1ef7..9ec6f5916 100644
--- a/winsup/cygwin/miscfuncs.h
+++ b/winsup/cygwin/miscfuncs.h
@@ -1,7 +1,7 @@
/* miscfuncs.h: main Cygwin header file.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -21,7 +21,7 @@ BOOL WINAPI CreatePipeOverlapped (PHANDLE read_handle, PHANDLE write_handle,
LPSECURITY_ATTRIBUTES sa);
BOOL WINAPI ReadPipeOverlapped (HANDLE h, PVOID buf, DWORD len,
LPDWORD ret_len, DWORD timeout);
-BOOL WINAPI WritePipeOverlapped (HANDLE h, LPCVOID buf, DWORD len,
+BOOL WINAPI WritePipeOverlapped (HANDLE h, PCVOID buf, DWORD len,
LPDWORD ret_len, DWORD timeout);
extern "C" void yield ();
diff --git a/winsup/cygwin/mkglobals_h b/winsup/cygwin/mkglobals_h
index ea4a582f4..1e409e01f 100755
--- a/winsup/cygwin/mkglobals_h
+++ b/winsup/cygwin/mkglobals_h
@@ -14,10 +14,10 @@ s/-NL-/\n/sog;
s/-EQ-/=/sog;
s/\s+\n/\n/sog;
s/\n{2,}/\n/sog;
-print <<PRELUDE,$_;
+print <<PRELUDE,$_,"#endif /*_GLOBALS_H*/\n";
/* $target - Autogenerated from @argv. Look there for comments. */
-#pragma once
+#ifndef _GLOBALS_H
PRELUDE
close $target_fd;
sub munge($) {
diff --git a/winsup/cygwin/mmap.cc b/winsup/cygwin/mmap.cc
index d8d78a51a..2a22a4323 100644
--- a/winsup/cygwin/mmap.cc
+++ b/winsup/cygwin/mmap.cc
@@ -526,8 +526,7 @@ mmap_record::alloc_fh ()
fdev.name = fdev.native = "";
fdev.parse (get_device ());
fhandler_base *fh = build_fh_dev (fdev);
- if (fh)
- fh->set_access (get_openflags ());
+ fh->set_access (get_openflags ());
return fh;
}
diff --git a/winsup/cygwin/mount.cc b/winsup/cygwin/mount.cc
index 125f248e4..90b369154 100644
--- a/winsup/cygwin/mount.cc
+++ b/winsup/cygwin/mount.cc
@@ -402,7 +402,6 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol)
if (!got_fs ()
&& !is_ntfs (RtlEqualUnicodeString (&fsname, &ro_u_ntfs, FALSE))
&& !is_fat (RtlEqualUnicodePathPrefix (&fsname, &ro_u_fat, TRUE))
- && !is_refs (RtlEqualUnicodeString (&fsname, &ro_u_refs, FALSE))
&& !is_csc_cache (RtlEqualUnicodeString (&fsname, &ro_u_csc, FALSE))
&& is_cdrom (ffdi.DeviceType == FILE_DEVICE_CD_ROM))
is_udf (RtlEqualUnicodeString (&fsname, &ro_u_udf, FALSE));
@@ -648,6 +647,7 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev,
if (!src_path[n])
{
+ unit = 0;
dst[0] = '\0';
if (mount_table->cygdrive_len > 1)
dev = *cygdrive_dev;
@@ -1628,7 +1628,7 @@ fillout_mntent (const char *native_path, const char *posix_path, unsigned flags)
RtlAppendUnicodeToString (&unat, L"\\");
mntinfo.update (&unat, NULL);
- if (mntinfo.what_fs () > none && mntinfo.what_fs () < max_fs_type)
+ if (mntinfo.what_fs () > 0 && mntinfo.what_fs () < max_fs_type)
strcpy (_my_tls.locals.mnt_type, fs_names[mntinfo.what_fs ()].name);
else
strcpy (_my_tls.locals.mnt_type, mntinfo.fsname ());
@@ -1899,34 +1899,6 @@ getmntent (FILE *)
return mount_table->getmntent (_my_tls.locals.iteration++);
}
-extern "C" struct mntent *
-getmntent_r (FILE *, struct mntent *mntbuf, char *buf, int buflen)
-{
- struct mntent *mnt = mount_table->getmntent (_my_tls.locals.iteration++);
- int fsname_len, dir_len, type_len, tmplen = buflen;
-
- if (!mnt)
- return NULL;
-
- fsname_len = strlen (mnt->mnt_fsname) + 1;
- dir_len = strlen (mnt->mnt_dir) + 1;
- type_len = strlen (mnt->mnt_type) + 1;
-
- snprintf (buf, buflen, "%s%c%s%c%s%c%s", mnt->mnt_fsname, '\0',
- mnt->mnt_dir, '\0', mnt->mnt_type, '\0', mnt->mnt_opts);
-
- mntbuf->mnt_fsname = buf;
- tmplen -= fsname_len;
- mntbuf->mnt_dir = tmplen > 0 ? buf + fsname_len : (char *)"";
- tmplen -= dir_len;
- mntbuf->mnt_type = tmplen > 0 ? buf + fsname_len + dir_len : (char *)"";
- tmplen -= type_len;
- mntbuf->mnt_opts = tmplen > 0 ? buf + fsname_len + dir_len + type_len : (char *)"";
- mntbuf->mnt_freq = mnt->mnt_freq;
- mntbuf->mnt_passno = mnt->mnt_passno;
- return mntbuf;
-}
-
extern "C" int
endmntent (FILE *)
{
diff --git a/winsup/cygwin/mount.h b/winsup/cygwin/mount.h
index 1d3b7451b..1c8a6cd5c 100644
--- a/winsup/cygwin/mount.h
+++ b/winsup/cygwin/mount.h
@@ -29,7 +29,6 @@ enum fs_info_type
none = 0,
fat,
ntfs,
- refs,
samba,
nfs,
netapp,
@@ -75,6 +74,7 @@ class fs_info
} status;
ULONG sernum; /* Volume Serial Number */
char fsn[80]; /* Windows filesystem name */
+ unsigned long got_fs () const { return status.fs_type != none; }
public:
void clear ()
@@ -99,7 +99,6 @@ class fs_info
IMPLEMENT_STATUS_FLAG (bool, has_dos_filenames_only)
IMPLEMENT_FS_FLAG (fat)
IMPLEMENT_FS_FLAG (ntfs)
- IMPLEMENT_FS_FLAG (refs)
IMPLEMENT_FS_FLAG (samba)
IMPLEMENT_FS_FLAG (nfs)
IMPLEMENT_FS_FLAG (netapp)
@@ -113,7 +112,6 @@ class fs_info
IMPLEMENT_FS_FLAG (nwfs)
IMPLEMENT_FS_FLAG (ncfsd)
fs_info_type what_fs () const { return status.fs_type; }
- bool got_fs () const { return status.fs_type != none; }
ULONG serial_number () const { return sernum; }
diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc
index 8b91e940a..2115debab 100644
--- a/winsup/cygwin/net.cc
+++ b/winsup/cygwin/net.cc
@@ -1,7 +1,7 @@
/* net.cc: network-related routines.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -12,27 +12,27 @@ details. */
/* #define DEBUG_NEST_ON 1 */
#define __INSIDE_CYGWIN_NET__
-#define USE_SYS_TYPES_FD_SET
-#define __WSA_ERR_MACROS_DEFINED
-/* FIXME: Collision with different declarations of if_nametoindex and
- if_indextoname functions in iphlpapi.h since Vista.
- TODO: Convert if_nametoindex to cygwin_if_nametoindex and call
- system functions on Vista and later. */
-#define _INC_NETIOAPI
+
#include "winsup.h"
-#include <ws2tcpip.h>
-#include <mswsock.h>
-#include <iphlpapi.h>
+
+/* unfortunately defined in windows header file but used in
+ cygwin header files too */
+#undef NOERROR
+#undef DELETE
+
#include "miscfuncs.h"
#include <ctype.h>
#include <wchar.h>
+
#include <stdlib.h>
#define gethostname cygwin_gethostname
#include <unistd.h>
#undef gethostname
#include <netdb.h>
-#include <cygwin/in.h>
#include <asm/byteorder.h>
+#define USE_SYS_TYPES_FD_SET
+#include <winsock2.h>
+#include <iphlpapi.h>
#include <assert.h>
#include "cygerrno.h"
#include "security.h"
@@ -46,13 +46,10 @@ details. */
#include "sigproc.h"
#include "registry.h"
#include "cygtls.h"
+#include "cygwin/in6.h"
#include "ifaddrs.h"
#include "tls_pbuf.h"
#include "ntdll.h"
-
-/* Unfortunately defined in Windows header files and arpa/nameser_compat.h. */
-#undef NOERROR
-#undef DELETE
#define _CYGWIN_IN_H
#include <resolv.h>
@@ -535,33 +532,19 @@ fdsock (cygheap_fdmanip& fd, const device *dev, SOCKET soc)
sizeof (base_soc), &bret, NULL, NULL);
if (ret)
debug_printf ("WSAIoctl: %lu", WSAGetLastError ());
- else if (base_soc != soc)
+ else if (base_soc != soc
+ && GetHandleInformation ((HANDLE) base_soc, &flags)
+ && (flags & HANDLE_FLAG_INHERIT))
{
- /* LSPs are often BLODAs as well. So we print an info about
- detecting an LSP if BLODA detection is desired. */
- if (detect_bloda)
- {
- WSAPROTOCOL_INFO prot;
-
- memset (&prot, 0, sizeof prot);
- ::getsockopt (soc, SOL_SOCKET, SO_PROTOCOL_INFO, (char *) &prot,
- (size = sizeof prot, &size));
- small_printf ("\n\nPotential BLODA detected! Layered Socket "
- "Service Provider:\n %s\n\n", prot.szProtocol);
- }
- if (GetHandleInformation ((HANDLE) base_soc, &flags)
- && (flags & HANDLE_FLAG_INHERIT))
+ if (!DuplicateHandle (GetCurrentProcess (), (HANDLE) base_soc,
+ GetCurrentProcess (), (PHANDLE) &base_soc,
+ 0, TRUE, DUPLICATE_SAME_ACCESS))
+ debug_printf ("DuplicateHandle failed, %E");
+ else
{
- if (!DuplicateHandle (GetCurrentProcess (), (HANDLE) base_soc,
- GetCurrentProcess (), (PHANDLE) &base_soc,
- 0, TRUE, DUPLICATE_SAME_ACCESS))
- debug_printf ("DuplicateHandle failed, %E");
- else
- {
- closesocket (soc);
- soc = base_soc;
- fixup = false;
- }
+ closesocket (soc);
+ soc = base_soc;
+ fixup = false;
}
}
}
@@ -715,11 +698,7 @@ cygwin_recvfrom (int fd, void *buf, size_t len, int flags,
myfault efault;
if (efault.faulted (EFAULT) || !fh)
res = -1;
- else
- /* Originally we shortcircuited here if res == 0.
- Allow 0 bytes buffer. This is valid in POSIX and handled in
- fhandler_socket::recv_internal. If we shortcircuit, we fail
- to deliver valid error conditions and peer address. */
+ else if ((res = len) != 0)
res = fh->recvfrom (buf, len, flags, from, fromlen);
syscall_printf ("%R = recvfrom(%d, %p, %d, %x, %p, %p)",
@@ -1472,11 +1451,7 @@ cygwin_recv (int fd, void *buf, size_t len, int flags)
myfault efault;
if (efault.faulted (EFAULT) || !fh)
res = -1;
- else
- /* Originally we shortcircuited here if res == 0.
- Allow 0 bytes buffer. This is valid in POSIX and handled in
- fhandler_socket::recv_internal. If we shortcircuit, we fail
- to deliver valid error conditions. */
+ else if ((res = len) != 0)
res = fh->recvfrom (buf, len, flags, NULL, NULL);
syscall_printf ("%R = recv(%d, %p, %d, %x)", res, fd, buf, len, flags);
@@ -1525,8 +1500,6 @@ getdomainname (char *domain, size_t len)
/* Fill out an ifconf struct. */
-#ifndef __MINGW64_VERSION_MAJOR
-
/* Vista/Longhorn: unicast address has additional OnLinkPrefixLength member. */
typedef struct _IP_ADAPTER_UNICAST_ADDRESS_LH {
_ANONYMOUS_UNION union {
@@ -1584,9 +1557,29 @@ typedef struct _IP_ADAPTER_ADDRESSES_LH {
ULONG Ipv6Metric;
} IP_ADAPTER_ADDRESSES_LH,*PIP_ADAPTER_ADDRESSES_LH;
+/* We can't include ws2tcpip.h. */
+
#define SIO_GET_INTERFACE_LIST _IOR('t', 127, u_long)
-#endif /* !__MINGW64_VERSION_MAJOR */
+struct sockaddr_in6_old {
+ short sin6_family;
+ u_short sin6_port;
+ u_long sin6_flowinfo;
+ struct in6_addr sin6_addr;
+};
+
+typedef union sockaddr_gen{
+ struct sockaddr Address;
+ struct sockaddr_in AddressIn;
+ struct sockaddr_in6_old AddressIn6;
+} sockaddr_gen;
+
+typedef struct _INTERFACE_INFO {
+ u_long iiFlags;
+ sockaddr_gen iiAddress;
+ sockaddr_gen iiBroadcastAddress;
+ sockaddr_gen iiNetmask;
+} INTERFACE_INFO, *LPINTERFACE_INFO;
#ifndef IN_LOOPBACK
#define IN_LOOPBACK(a) ((((long int) (a)) & 0xff000000) == 0x7f000000)
@@ -1643,75 +1636,36 @@ ip_addr_prefix (PIP_ADAPTER_UNICAST_ADDRESS pua, PIP_ADAPTER_PREFIX pap)
#define GAA_FLAG_INCLUDE_ALL_INTERFACES 0x0100
#endif
-struct gaa_wa {
- ULONG family;
- PIP_ADAPTER_ADDRESSES *pa_ret;
-};
-
-DWORD WINAPI
-call_gaa (LPVOID param)
+bool
+get_adapters_addresses (PIP_ADAPTER_ADDRESSES *pa_ret, ULONG family)
{
DWORD ret, size = 0;
- gaa_wa *p = (gaa_wa *) param;
PIP_ADAPTER_ADDRESSES pa0 = NULL;
- if (!p->pa_ret)
- return GetAdaptersAddresses (p->family, GAA_FLAG_INCLUDE_PREFIX
+ if (!pa_ret)
+ return ERROR_BUFFER_OVERFLOW
+ == GetAdaptersAddresses (family, GAA_FLAG_INCLUDE_PREFIX
| GAA_FLAG_INCLUDE_ALL_INTERFACES,
- NULL, NULL, &size);
+ NULL, NULL, &size);
do
{
- ret = GetAdaptersAddresses (p->family, GAA_FLAG_INCLUDE_PREFIX
- | GAA_FLAG_INCLUDE_ALL_INTERFACES,
+ ret = GetAdaptersAddresses (family, GAA_FLAG_INCLUDE_PREFIX
+ | GAA_FLAG_INCLUDE_ALL_INTERFACES,
NULL, pa0, &size);
if (ret == ERROR_BUFFER_OVERFLOW
&& !(pa0 = (PIP_ADAPTER_ADDRESSES) realloc (pa0, size)))
break;
}
while (ret == ERROR_BUFFER_OVERFLOW);
- if (pa0)
- {
- if (ret != ERROR_SUCCESS)
- {
- free (pa0);
- *p->pa_ret = pa0;
- }
- else
- *p->pa_ret = pa0;
- }
- return ret;
-}
-
-bool
-get_adapters_addresses (PIP_ADAPTER_ADDRESSES *pa_ret, ULONG family)
-{
- DWORD ret;
- gaa_wa param = { family, pa_ret ?: NULL };
-
- if ((uintptr_t) &param >= (uintptr_t) 0x80000000L
- && wincap.has_gaa_largeaddress_bug ())
+ if (ret != ERROR_SUCCESS)
{
- /* In Windows Vista and Windows 7 under WOW64, GetAdaptersAddresses fails
- if it's running in a thread with a stack located in the large address
- area. So, if we're running in a pthread with such a stack, we call
- GetAdaptersAddresses in a child thread with an OS-allocated stack.
- The OS allocates stacks bottom up, so chances are good that the new
- stack will be located in the lower address area.
- FIXME: The problem is fixed in W8CP, but needs testing before W8 goes
- gold. */
- HANDLE thr = CreateThread (NULL, 0, call_gaa, &param, 0, NULL);
- if (!thr)
- {
- debug_printf ("CreateThread: %E");
- return false;
- }
- WaitForSingleObject (thr, INFINITE);
- GetExitCodeThread (thr, &ret);
- CloseHandle (thr);
+ if (pa0)
+ free (pa0);
+ *pa_ret = NULL;
+ return false;
}
- else
- ret = call_gaa (&param);
- return ret == ERROR_SUCCESS || (!pa_ret && ret == ERROR_BUFFER_OVERFLOW);
+ *pa_ret = pa0;
+ return true;
}
#define WS_IFF_UP 1
@@ -2858,11 +2812,7 @@ cygwin_recvmsg (int fd, struct msghdr *msg, int flags)
else
{
res = check_iovec_for_read (msg->msg_iov, msg->msg_iovlen);
- /* Originally we shortcircuited here if res == 0.
- Allow 0 bytes buffer. This is valid in POSIX and handled in
- fhandler_socket::recv_internal. If we shortcircuit, we fail
- to deliver valid error conditions and peer address. */
- if (res >= 0)
+ if (res > 0)
res = fh->recvmsg (msg, flags);
}
@@ -3154,8 +3104,6 @@ inet_ntop6 (const u_char *src, char *dst, size_t size)
words[i / 2] |= (src[i] << ((1 - (i % 2)) << 3));
best.base = -1;
cur.base = -1;
- best.len = 0;
- cur.len = 0;
for (i = 0; i < (IN6ADDRSZ / INT16SZ); i++)
{
if (words[i] == 0)
@@ -4215,24 +4163,24 @@ w32_to_gai_err (int w32_err)
are implemented in ws2_32.dll. For older systems we use the ipv4-only
version above. */
-static void (WINAPI *ws_freeaddrinfo)(const struct addrinfo *);
-static int (WINAPI *ws_getaddrinfo)(const char *, const char *,
- const struct addrinfo *,
- struct addrinfo **);
-static int (WINAPI *ws_getnameinfo)(const struct sockaddr *, socklen_t,
- char *, size_t, char *, size_t, int);
+static void (WINAPI *freeaddrinfo)(const struct addrinfo *);
+static int (WINAPI *getaddrinfo)(const char *, const char *,
+ const struct addrinfo *,
+ struct addrinfo **);
+static int (WINAPI *getnameinfo)(const struct sockaddr *, socklen_t,
+ char *, size_t, char *, size_t, int);
static bool
get_ipv6_funcs (HMODULE lib)
{
- return ((ws_freeaddrinfo = (void (WINAPI *)(const struct addrinfo *))
+ return ((freeaddrinfo = (void (WINAPI *)(const struct addrinfo *))
GetProcAddress (lib, "freeaddrinfo"))
- && (ws_getaddrinfo = (int (WINAPI *)(const char *, const char *,
- const struct addrinfo *,
- struct addrinfo **))
+ && (getaddrinfo = (int (WINAPI *)(const char *, const char *,
+ const struct addrinfo *,
+ struct addrinfo **))
GetProcAddress (lib, "getaddrinfo"))
- && (ws_getnameinfo = (int (WINAPI *)(const struct sockaddr *,
- socklen_t, char *, size_t,
- char *, size_t, int))
+ && (getnameinfo = (int (WINAPI *)(const struct sockaddr *,
+ socklen_t, char *, size_t,
+ char *, size_t, int))
GetProcAddress (lib, "getnameinfo")));
}
@@ -4267,9 +4215,9 @@ load_ipv6_funcs ()
goto out;
FreeLibrary (lib);
}
- ws_freeaddrinfo = NULL;
- ws_getaddrinfo = NULL;
- ws_getnameinfo = NULL;
+ freeaddrinfo = NULL;
+ getaddrinfo = NULL;
+ getnameinfo = NULL;
out:
ipv6_inited = true;
@@ -4309,7 +4257,7 @@ cygwin_getaddrinfo (const char *hostname, const char *servname,
return EAI_NONAME;
}
load_ipv6 ();
- if (!ws_getaddrinfo)
+ if (!getaddrinfo)
return ipv4_getaddrinfo (hostname, servname, hints, res);
struct addrinfo nhints, *dupres;
@@ -4326,12 +4274,12 @@ cygwin_getaddrinfo (const char *hostname, const char *servname,
hints = &nhints;
nhints.ai_flags |= AI_ALL;
}
- int ret = w32_to_gai_err (ws_getaddrinfo (hostname, servname, hints, res));
+ int ret = w32_to_gai_err (getaddrinfo (hostname, servname, hints, res));
/* Always copy over to self-allocated memory. */
if (!ret)
{
dupres = ga_duplist (*res, false);
- ws_freeaddrinfo (*res);
+ freeaddrinfo (*res);
*res = dupres;
if (!dupres)
return EAI_MEMORY;
@@ -4351,12 +4299,12 @@ cygwin_getaddrinfo (const char *hostname, const char *servname,
struct addrinfo *v4res;
nhints = *hints;
nhints.ai_family = AF_INET;
- int ret2 = w32_to_gai_err (ws_getaddrinfo (hostname, servname,
- &nhints, &v4res));
+ int ret2 = w32_to_gai_err (getaddrinfo (hostname, servname,
+ &nhints, &v4res));
if (!ret2)
{
dupres = ga_duplist (v4res, true);
- ws_freeaddrinfo (v4res);
+ freeaddrinfo (v4res);
if (!dupres)
{
if (!ret)
@@ -4389,7 +4337,7 @@ cygwin_getnameinfo (const struct sockaddr *sa, socklen_t salen,
if (efault.faulted (EFAULT))
return EAI_SYSTEM;
load_ipv6 ();
- if (!ws_getnameinfo)
+ if (!getnameinfo)
return ipv4_getnameinfo (sa, salen, host, hostlen, serv, servlen, flags);
/* When the incoming port number does not resolve to a well-known service,
@@ -4414,8 +4362,8 @@ cygwin_getnameinfo (const struct sockaddr *sa, socklen_t salen,
if (!port || !getservbyport (port, flags & NI_DGRAM ? "udp" : "tcp"))
flags |= NI_NUMERICSERV;
}
- int ret = w32_to_gai_err (ws_getnameinfo (sa, salen, host, hostlen, serv,
- servlen, flags));
+ int ret = w32_to_gai_err (getnameinfo (sa, salen, host, hostlen, serv,
+ servlen, flags));
if (ret)
set_winsock_errno ();
return ret;
diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h
index 2ca6a5ab3..d921867bd 100644
--- a/winsup/cygwin/ntdll.h
+++ b/winsup/cygwin/ntdll.h
@@ -9,20 +9,70 @@
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
-
-#ifndef __MINGW64_VERSION_MAJOR
-# include <ddk/ntstatus.h>
-#else
-# include <ntstatus.h>
+#ifndef _NTDLL_H
+#define _NTDLL_H 1
+
+/* NTSTATUS values. */
+#define STATUS_NOT_ALL_ASSIGNED ((NTSTATUS) 0x00000106)
+#define STATUS_OBJECT_NAME_EXISTS ((NTSTATUS) 0x40000000)
+#define STATUS_BUFFER_OVERFLOW ((NTSTATUS) 0x80000005)
+#define STATUS_NO_MORE_FILES ((NTSTATUS) 0x80000006)
+#ifdef STATUS_INVALID_INFO_CLASS /* Defined as unsigned value in subauth.h */
+#undef STATUS_INVALID_INFO_CLASS
+#endif
+#define STATUS_INVALID_INFO_CLASS ((NTSTATUS) 0xc0000003)
+#define STATUS_NOT_IMPLEMENTED ((NTSTATUS) 0xc0000002)
+#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS) 0xc0000004)
+#ifdef STATUS_INVALID_HANDLE /* Defined as unsigned value in winbase.h */
+#undef STATUS_INVALID_HANDLE
#endif
+#define STATUS_INVALID_HANDLE ((NTSTATUS) 0xc0000008)
+#define STATUS_INVALID_PARAMETER ((NTSTATUS) 0xc000000d)
+#define STATUS_NO_SUCH_FILE ((NTSTATUS) 0xc000000f)
+#define STATUS_INVALID_DEVICE_REQUEST ((NTSTATUS) 0xc0000010)
+#define STATUS_END_OF_FILE ((NTSTATUS) 0xc0000011)
+#define STATUS_NO_MEDIA_IN_DEVICE ((NTSTATUS) 0xc0000013)
+#define STATUS_ACCESS_DENIED ((NTSTATUS) 0xc0000022)
+#define STATUS_BUFFER_TOO_SMALL ((NTSTATUS) 0xc0000023)
+#define STATUS_OBJECT_TYPE_MISMATCH ((NTSTATUS) 0xc0000024)
+#define STATUS_OBJECT_NAME_INVALID ((NTSTATUS) 0xc0000033)
+#define STATUS_OBJECT_NAME_NOT_FOUND ((NTSTATUS) 0xc0000034)
+#define STATUS_OBJECT_NAME_COLLISION ((NTSTATUS) 0xc0000035)
+#define STATUS_OBJECT_PATH_NOT_FOUND ((NTSTATUS) 0xc000003A)
+#define STATUS_SHARING_VIOLATION ((NTSTATUS) 0xc0000043)
+#define STATUS_EAS_NOT_SUPPORTED ((NTSTATUS) 0xc000004f)
+#define STATUS_EA_TOO_LARGE ((NTSTATUS) 0xc0000050)
+#define STATUS_NONEXISTENT_EA_ENTRY ((NTSTATUS) 0xc0000051)
+#define STATUS_NO_EAS_ON_FILE ((NTSTATUS) 0xc0000052)
+#define STATUS_LOCK_NOT_GRANTED ((NTSTATUS) 0xc0000055)
+#define STATUS_DELETE_PENDING ((NTSTATUS) 0xc0000056)
+#define STATUS_PROCEDURE_NOT_FOUND ((NTSTATUS) 0xc000007a)
+#define STATUS_DISK_FULL ((NTSTATUS) 0xc000007f)
+#define STATUS_WORKING_SET_QUOTA ((NTSTATUS) 0xc00000a1)
+#define STATUS_INSTANCE_NOT_AVAILABLE ((NTSTATUS) 0xc00000ab)
+#define STATUS_PIPE_NOT_AVAILABLE ((NTSTATUS) 0xc00000ac)
+#define STATUS_INVALID_PIPE_STATE ((NTSTATUS) 0xc00000ad)
+#define STATUS_PIPE_BUSY ((NTSTATUS) 0xc00000ae)
+#define STATUS_NOT_SUPPORTED ((NTSTATUS) 0xc00000bb)
+#define STATUS_BAD_NETWORK_PATH ((NTSTATUS) 0xc00000be)
+#define STATUS_INVALID_NETWORK_RESPONSE ((NTSTATUS) 0xc00000c3)
+#define STATUS_BAD_NETWORK_NAME ((NTSTATUS) 0xc00000cc)
+#define STATUS_DIRECTORY_NOT_EMPTY ((NTSTATUS) 0xc0000101)
+#define STATUS_PROCESS_IS_TERMINATING ((NTSTATUS) 0xc000010a)
+#define STATUS_CANNOT_DELETE ((NTSTATUS) 0xc0000121)
+#define STATUS_INVALID_LEVEL ((NTSTATUS) 0xc0000148)
+#define STATUS_DLL_NOT_FOUND ((NTSTATUS) 0xc0000135)
+#define STATUS_ENTRYPOINT_NOT_FOUND ((NTSTATUS) 0xc0000139)
+#define STATUS_NOT_FOUND ((NTSTATUS) 0xc0000225)
+#define STATUS_BAD_DLL_ENTRYPOINT ((NTSTATUS) 0xc0000251)
+#define STATUS_ILLEGAL_DLL_RELOCATION ((NTSTATUS) 0xc0000269)
/* custom status code: */
#define STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION ((NTSTATUS) 0xe0000269)
#define NtCurrentProcess() ((HANDLE) 0xffffffff)
#define NtCurrentThread() ((HANDLE) 0xfffffffe)
-/* Creation information returned in IO_STATUS_BLOCK. */
+/* CreateDisposition in NtCreateFile call. */
#define FILE_SUPERSEDED 0
#define FILE_OPENED 1
#define FILE_CREATED 2
@@ -490,8 +540,7 @@ typedef enum _PROCESSINFOCLASS
ProcessVmCounters = 3,
ProcessTimes = 4,
ProcessSessionInformation = 24,
- ProcessWow64Information = 26,
- ProcessImageFileName = 27
+ ProcessWow64Information = 26
} PROCESSINFOCLASS;
typedef struct _DEBUG_BUFFER
@@ -973,13 +1022,11 @@ typedef struct _FILE_MAILSLOT_SET_INFORMATION
typedef VOID NTAPI (*PIO_APC_ROUTINE)(PVOID, PIO_STATUS_BLOCK, ULONG);
-#ifndef __MINGW64_VERSION_MAJOR
typedef enum _EVENT_TYPE
{
NotificationEvent = 0,
SynchronizationEvent
} EVENT_TYPE, *PEVENT_TYPE;
-#endif
typedef struct _EVENT_BASIC_INFORMATION
{
@@ -1046,21 +1093,11 @@ typedef struct _KEY_VALUE_PARTIAL_INFORMATION
UCHAR Data[1];
} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
-#ifndef __MINGW64_VERSION_MAJOR
typedef enum _TIMER_TYPE
{
NotificationTimer,
SynchronisationTimer
} TIMER_TYPE, *PTIMER_TYPE;
-#endif
-
-#ifdef __MINGW64_VERSION_MAJOR
-typedef enum _SECTION_INHERIT
-{
- ViewShare = 1,
- ViewUnmap = 2
-} SECTION_INHERIT;
-#endif
typedef VOID (APIENTRY *PTIMER_APC_ROUTINE)(PVOID, ULONG, ULONG);
@@ -1069,10 +1106,9 @@ typedef VOID (APIENTRY *PTIMER_APC_ROUTINE)(PVOID, ULONG, ULONG);
#ifdef __cplusplus
/* This is the mapping of the KUSER_SHARED_DATA structure into the 32 bit
- user address space. We need it here to access the current DismountCount
- and InterruptTime. */
-static volatile KUSER_SHARED_DATA &SharedUserData
- = *(volatile KUSER_SHARED_DATA *) 0x7ffe0000;
+ user address space. We need it here to access the current DismountCount. */
+static KUSER_SHARED_DATA &SharedUserData
+ = *(volatile PKUSER_SHARED_DATA) 0x7ffe0000;
extern "C"
{
@@ -1215,11 +1251,7 @@ extern "C"
PSECURITY_DESCRIPTOR, PULONG);
VOID NTAPI RtlAcquirePebLock ();
NTSTATUS NTAPI RtlAddAccessAllowedAce (PACL, ULONG, ACCESS_MASK, PSID);
- NTSTATUS NTAPI RtlAddAccessAllowedAceEx (PACL, ULONG, ULONG, ACCESS_MASK,
- PSID);
NTSTATUS NTAPI RtlAddAccessDeniedAce (PACL, ULONG, ACCESS_MASK, PSID);
- NTSTATUS NTAPI RtlAddAccessDeniedAceEx (PACL, ULONG, ULONG, ACCESS_MASK,
- PSID);
NTSTATUS NTAPI RtlAddAce (PACL, ULONG, ULONG, PVOID, ULONG);
PVOID NTAPI RtlAllocateHeap (PVOID, ULONG, SIZE_T);
NTSTATUS NTAPI RtlAppendUnicodeToString (PUNICODE_STRING, PCWSTR);
@@ -1270,7 +1302,6 @@ extern "C"
PBOOLEAN);
PSID_IDENTIFIER_AUTHORITY NTAPI RtlIdentifierAuthoritySid (PSID);
VOID NTAPI RtlInitEmptyUnicodeString (PUNICODE_STRING, PCWSTR, USHORT);
- VOID NTAPI RtlInitAnsiString (PANSI_STRING, PCSTR);
NTSTATUS NTAPI RtlInitializeSid (PSID, PSID_IDENTIFIER_AUTHORITY, UCHAR);
VOID NTAPI RtlInitUnicodeString (PUNICODE_STRING, PCWSTR);
NTSTATUS NTAPI RtlIntegerToUnicodeString (ULONG, ULONG, PUNICODE_STRING);
@@ -1302,7 +1333,6 @@ extern "C"
BOOLEAN);
PUCHAR NTAPI RtlSubAuthorityCountSid (PSID);
PULONG NTAPI RtlSubAuthoritySid (PSID, ULONG);
- ULONG NTAPI RtlUnicodeStringToAnsiSize (PUNICODE_STRING);
NTSTATUS NTAPI RtlUnicodeStringToAnsiString (PANSI_STRING, PUNICODE_STRING,
BOOLEAN);
NTSTATUS NTAPI RtlUnicodeStringToOemString (PANSI_STRING, PUNICODE_STRING,
@@ -1424,3 +1454,4 @@ extern "C"
}
}
#endif
+#endif /*_NTDLL_H*/
diff --git a/winsup/cygwin/passwd.cc b/winsup/cygwin/passwd.cc
index c6abb0205..962bf776e 100644
--- a/winsup/cygwin/passwd.cc
+++ b/winsup/cygwin/passwd.cc
@@ -58,7 +58,7 @@ pwdgrp::read_passwd ()
bool searchentry = true;
struct passwd *pw;
/* must be static */
- static char NO_COPY pretty_ls[] = "????????:*:-1:-1:::";
+ static char NO_COPY pretty_ls[] = "????????:*:-1:-1:";
add_line (pretty_ls);
cygsid tu = cygheap->user.sid ();
@@ -269,55 +269,29 @@ setpassent ()
return 0;
}
-static void
-_getpass_close_fd (void *arg)
-{
- if (arg)
- fclose ((FILE *) arg);
-}
-
extern "C" char *
getpass (const char * prompt)
{
char *pass = _my_tls.locals.pass;
struct termios ti, newti;
- bool tc_set = false;
-
- /* Try to use controlling tty in the first place. Use stdin and stderr
- only as fallback. */
- FILE *in = stdin, *err = stderr;
- FILE *tty = fopen ("/dev/tty", "w+b");
- pthread_cleanup_push (_getpass_close_fd, tty);
- if (tty)
- {
- /* Set close-on-exec for obvious reasons. */
- fcntl (fileno (tty), F_SETFD, fcntl (fileno (tty), F_GETFD) | FD_CLOEXEC);
- in = err = tty;
- }
- /* Make sure to notice if stdin is closed. */
- if (fileno (in) >= 0)
+ cygheap_fdget fhstdin (0);
+
+ if (fhstdin < 0)
+ pass[0] = '\0';
+ else
{
- flockfile (in);
- /* Change tty attributes if possible. */
- if (!tcgetattr (fileno (in), &ti))
- {
- newti = ti;
- newti.c_lflag &= ~(ECHO | ISIG); /* No echo, no signal handling. */
- if (!tcsetattr (fileno (in), TCSANOW, &newti))
- tc_set = true;
- }
- fputs (prompt, err);
- fflush (err);
- fgets (pass, _PASSWORD_LEN, in);
- fprintf (err, "\n");
- if (tc_set)
- tcsetattr (fileno (in), TCSANOW, &ti);
- funlockfile (in);
- char *crlf = strpbrk (pass, "\r\n");
- if (crlf)
- *crlf = '\0';
+ fhstdin->tcgetattr (&ti);
+ newti = ti;
+ newti.c_lflag &= ~ECHO;
+ fhstdin->tcsetattr (TCSANOW, &newti);
+ fputs (prompt, stderr);
+ fgets (pass, _PASSWORD_LEN, stdin);
+ fprintf (stderr, "\n");
+ for (int i=0; pass[i]; i++)
+ if (pass[i] == '\r' || pass[i] == '\n')
+ pass[i] = '\0';
+ fhstdin->tcsetattr (TCSANOW, &ti);
}
- pthread_cleanup_pop (1);
return pass;
}
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index d1a881c39..fdef934b8 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -57,7 +57,6 @@
#include <winnetwk.h>
#include <winnls.h>
#include <shlobj.h>
-#include <sys/param.h>
#include <sys/cygwin.h>
#include "cygerrno.h"
#include "security.h"
@@ -74,6 +73,8 @@
#include <wchar.h>
#include <wctype.h>
+bool dos_file_warning = true;
+
suffix_info stat_suffixes[] =
{
suffix_info ("", 1),
@@ -112,8 +113,7 @@ muto NO_COPY cwdstuff::cwd_lock;
static const GUID GUID_shortcut
= { 0x00021401L, 0, 0, {0xc0, 0, 0, 0, 0, 0, 0, 0x46}};
-enum
-{
+enum {
WSH_FLAG_IDLIST = 0x01, /* Contains an ITEMIDLIST. */
WSH_FLAG_FILE = 0x02, /* Contains a file locator element. */
WSH_FLAG_DESC = 0x04, /* Contains a description. */
@@ -124,24 +124,24 @@ enum
};
struct win_shortcut_hdr
-{
- DWORD size; /* Header size in bytes. Must contain 0x4c. */
- GUID magic; /* GUID of shortcut files. */
- DWORD flags; /* Content flags. See above. */
-
- /* The next fields from attr to icon_no are always set to 0 in Cygwin
- and U/Win shortcuts. */
- DWORD attr; /* Target file attributes. */
- FILETIME ctime; /* These filetime items are never touched by the */
- FILETIME mtime; /* system, apparently. Values don't matter. */
- FILETIME atime;
- DWORD filesize; /* Target filesize. */
- DWORD icon_no; /* Icon number. */
-
- DWORD run; /* Values defined in winuser.h. Use SW_NORMAL. */
- DWORD hotkey; /* Hotkey value. Set to 0. */
- DWORD dummy[2]; /* Future extension probably. Always 0. */
-};
+ {
+ DWORD size; /* Header size in bytes. Must contain 0x4c. */
+ GUID magic; /* GUID of shortcut files. */
+ DWORD flags; /* Content flags. See above. */
+
+ /* The next fields from attr to icon_no are always set to 0 in Cygwin
+ and U/Win shortcuts. */
+ DWORD attr; /* Target file attributes. */
+ FILETIME ctime; /* These filetime items are never touched by the */
+ FILETIME mtime; /* system, apparently. Values don't matter. */
+ FILETIME atime;
+ DWORD filesize; /* Target filesize. */
+ DWORD icon_no; /* Icon number. */
+
+ DWORD run; /* Values defined in winuser.h. Use SW_NORMAL. */
+ DWORD hotkey; /* Hotkey value. Set to 0. */
+ DWORD dummy[2]; /* Future extension probably. Always 0. */
+ };
/* Return non-zero if PATH1 is a prefix of PATH2.
Both are assumed to be of the same path style and / vs \ usage.
@@ -719,13 +719,7 @@ path_conv::check (const char *src, unsigned opt,
sym.pflags |= pflags_or;
- if (!dev.exists ())
- {
- error = ENXIO;
- return;
- }
-
- if (iscygdrive_dev (dev))
+ if (dev.get_major () == DEV_CYGDRIVE_MAJOR)
{
if (!component)
fileattr = FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY;
@@ -737,27 +731,29 @@ path_conv::check (const char *src, unsigned opt,
}
goto out;
}
- else if (isdev_dev (dev))
+ else if (dev == FH_DEV)
{
- /* Just make sure that the path handling goes on as with FH_FS. */
+ dev = FH_FS;
+#if 0
+ fileattr = getfileattr (THIS_path, sym.pflags & MOUNT_NOPOSIX);
+ if (!component && fileattr == INVALID_FILE_ATTRIBUTES)
+ {
+ fileattr = FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY;
+ goto out;
+ }
+#endif
}
else if (isvirtual_dev (dev))
{
/* FIXME: Calling build_fhandler here is not the right way to handle this. */
fhandler_virtual *fh = (fhandler_virtual *) build_fh_dev (dev, path_copy);
- virtual_ftype_t file_type;
- if (!fh)
- file_type = virt_none;
- else
+ virtual_ftype_t file_type = fh->exists ();
+ if (file_type == virt_symlink)
{
- file_type = fh->exists ();
- if (file_type == virt_symlink)
- {
- fh->fill_filebuf ();
- symlen = sym.set (fh->get_filebuf ());
- }
- delete fh;
+ fh->fill_filebuf ();
+ symlen = sym.set (fh->get_filebuf ());
}
+ delete fh;
switch (file_type)
{
case virt_directory:
@@ -884,27 +880,9 @@ is_virtual_symlink:
if (!component)
{
- /* Make sure that /dev always exists. */
- fileattr = isdev_dev (dev) ? FILE_ATTRIBUTE_DIRECTORY
- : sym.fileattr;
+ fileattr = sym.fileattr;
path_flags = sym.pflags;
}
- else if (isdev_dev (dev))
- {
- /* If we're looking for a file below /dev, which doesn't exist,
- make sure that the device type is converted to FH_FS, so that
- subsequent code handles the file correctly.
- Unless /dev itself doesn't exist on disk. In that case /dev
- is handled as virtual filesystem, and virtual filesystems are
- read-only. The PC_KEEP_HANDLE check allows to check for
- a call from an informational system call. In that case we
- just stick to ENOENT, and the device type doesn't matter
- anyway. */
- if (sym.error == ENOENT && !(opt & PC_KEEP_HANDLE))
- sym.error = EROFS;
- else
- dev = FH_FS;
- }
/* If symlink.check found an existing non-symlink file, then
it sets the appropriate flag. It also sets any suffix found
@@ -1153,7 +1131,7 @@ out:
if (opt & PC_CTTY)
path_flags |= PATH_CTTY;
- if (opt & PC_POSIX)
+ if ((opt & PC_POSIX))
{
if (tail < path_end && tail > path_copy + 1)
*tail = '/';
@@ -1352,8 +1330,8 @@ normalize_win32_path (const char *src, char *dst, char *&tail)
if ((tail - dst) >= NT_MAX_PATH)
return ENAMETOOLONG;
}
- if (tail > dst + 1 && tail[-1] == '.' && tail[-2] == '\\')
- tail--;
+ if (tail > dst + 1 && tail[-1] == '.' && tail[-2] == '\\')
+ tail--;
*tail = '\0';
debug_printf ("%s = normalize_win32_path (%s)", dst, src_start);
return 0;
@@ -1474,6 +1452,10 @@ conv_path_list (const char *src, char *dst, size_t size,
/* Create a symlink from FROMPATH to TOPATH. */
+/* If TRUE create symlinks as Windows shortcuts, if false create symlinks
+ as normal files with magic number and system bit set. */
+bool allow_winsymlinks = false;
+
extern "C" int
symlink (const char *oldpath, const char *newpath)
{
@@ -2372,6 +2354,8 @@ restart:
bool had_ext = !!*ext_here;
while (suffix.next ())
{
+ bool no_ea = false;
+
error = 0;
get_nt_native_path (suffix.path, upath, pflags & PATH_DOS);
if (h)
@@ -2402,6 +2386,7 @@ restart:
root dir which has EAs enabled? */
|| status == STATUS_INVALID_PARAMETER))
{
+ no_ea = true;
/* If EAs are not supported, there's no sense to check them again
with suffixes attached. So we set eabuf/easize to 0 here once. */
if (status == STATUS_EAS_NOT_SUPPORTED
@@ -2803,8 +2788,7 @@ readlink (const char *path, char *buf, size_t buflen)
return -1;
}
- size_t pathbuf_len = strlen (pathbuf.get_win32 ());
- ssize_t len = MIN (buflen, pathbuf_len);
+ ssize_t len = min (buflen, strlen (pathbuf.get_win32 ()));
memcpy (buf, pathbuf.get_win32 (), len);
/* errno set by symlink.check if error */
@@ -3204,14 +3188,11 @@ realpath (const char *path, char *resolved)
if (efault.faulted (EFAULT))
return NULL;
- /* Win32 drive letter paths have to be converted to a POSIX path first,
- because path_conv leaves the incoming path untouched except for
- converting backslashes to forward slashes. */
char *tpath;
if (isdrive (path))
{
tpath = tp.c_get ();
- mount_table->conv_to_posix_path (path, tpath, 0);
+ mount_table->cygdrive_posix_path (path, tpath, 0);
}
else
tpath = (char *) path;
@@ -3535,132 +3516,205 @@ copy_cwd_str (PUNICODE_STRING tgt, PUNICODE_STRING src)
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE. */
-void
-fcwd_access_t::SetFSCharacteristics (LONG val)
-{
+/* This class is used to store the CWD starting with Windows Vista.
+ The CWD storage in the RTL_USER_PROCESS_PARAMETERS block is only
+ an afterthought now. The actual CWD storage is a FAST_CWD structure
+ which is allocated on the process heap. The new method only requires
+ minimal locking and it's much more multi-thread friendly. Presumably
+ it minimizes contention when accessing the CWD.
+ The class fcwd_access_t is supposed to encapsulate the gory implementation
+ details depending on OS version from the calling functions. */
+class fcwd_access_t {
+ /* This is the layout used in Windows 8 developer preview. */
+ struct FAST_CWD_8 {
+ LONG ReferenceCount; /* Only release when this is 0. */
+ HANDLE DirectoryHandle;
+ ULONG OldDismountCount; /* Reflects the system DismountCount
+ at the time the CWD has been set. */
+ UNICODE_STRING Path; /* Path's Buffer member always refers
+ to the following Buffer array. */
+ LONG FSCharacteristics; /* Taken from FileFsDeviceInformation */
+ WCHAR Buffer[MAX_PATH];
+ };
+ /* This is the layout used in Windows 7 and Vista. */
+ struct FAST_CWD_7 {
+ UNICODE_STRING Path; /* Path's Buffer member always refers
+ to the following Buffer array. */
+ HANDLE DirectoryHandle;
+ LONG FSCharacteristics; /* Taken from FileFsDeviceInformation */
+ LONG ReferenceCount; /* Only release when this is 0. */
+ ULONG OldDismountCount; /* Reflects the system DismountCount
+ at the time the CWD has been set. */
+ WCHAR Buffer[MAX_PATH];
+ };
+ /* This is the old FAST_CWD structure up to the patch from KB 2393802,
+ release in February 2011. */
+ struct FAST_CWD_OLD {
+ LONG ReferenceCount; /* Only release when this is 0. */
+ HANDLE DirectoryHandle;
+ ULONG OldDismountCount; /* Reflects the system DismountCount
+ at the time the CWD has been set. */
+ UNICODE_STRING Path; /* Path's Buffer member always refers
+ to the following Buffer array. */
+ WCHAR Buffer[MAX_PATH];
+ };
+ union {
+ FAST_CWD_OLD fold;
+ FAST_CWD_7 f7;
+ FAST_CWD_8 f8;
+ };
+
+ /* Type of FAST_CWD used on this system. Keeping this information available
+ in shared memory avoids to test for the version every time around.
+ Default to new version. */
+ enum fcwd_version_t {
+ FCWD_OLD,
+ FCWD_W7,
+ FCWD_W8
+ };
+ static fcwd_version_t fast_cwd_version;
+
+#define IMPLEMENT(type, name) \
+ type name () { \
+ switch (fast_cwd_version) { \
+ case FCWD_OLD: \
+ default: \
+ return fold.name; \
+ case FCWD_W7: \
+ return f7.name; \
+ case FCWD_W8: \
+ return f8.name; \
+ } \
+ }
+ IMPLEMENT (LONG &, ReferenceCount)
+ IMPLEMENT (HANDLE &, DirectoryHandle)
+ IMPLEMENT (ULONG &, OldDismountCount)
+ IMPLEMENT (UNICODE_STRING &, Path)
+ IMPLEMENT (WCHAR *, Buffer)
/* Special case FSCharacteristics. Didn't exist originally. */
- switch (fast_cwd_version ())
+ void SetFSCharacteristics (LONG val)
{
- case FCWD_OLD:
- break;
- case FCWD_W7:
- f7.FSCharacteristics = val;
- break;
- case FCWD_W8:
- f8.FSCharacteristics = val;
- break;
+ switch (fast_cwd_version)
+ {
+ case FCWD_OLD:
+ break;
+ case FCWD_W7:
+ f7.FSCharacteristics = val;
+ break;
+ case FCWD_W8:
+ f8.FSCharacteristics = val;
+ break;
+ }
}
-}
-
-fcwd_version_t &
-fcwd_access_t::fast_cwd_version ()
-{
- return cygheap->cwd.fast_cwd_version;
-}
-
-void
-fcwd_access_t::CopyPath (UNICODE_STRING &target)
-{
- /* Copy the Path contents over into the UNICODE_STRING referenced by
- target. This is used to set the CurrentDirectoryName in the
- user parameter block. */
- target = Path ();
-}
-
-void
-fcwd_access_t::Free (PVOID heap)
-{
- /* Decrement the reference count. If it's down to 0, free
- structure from heap. */
- if (this && InterlockedDecrement (&ReferenceCount ()) == 0)
+public:
+ void CopyPath (UNICODE_STRING &target)
{
- /* In contrast to pre-Vista, the handle on init is always a
- fresh one and not the handle inherited from the parent
- process. So we always have to close it here. However, the
- handle could be NULL, if we cd'ed into a virtual dir. */
- HANDLE h = DirectoryHandle ();
- if (h)
- NtClose (h);
- RtlFreeHeap (heap, 0, this);
+ /* Copy the Path contents over into the UNICODE_STRING referenced by
+ target. This is used to set the CurrentDirectoryName in the
+ user parameter block. */
+ target = Path ();
}
-}
-
-void
-fcwd_access_t::FillIn (HANDLE dir, PUNICODE_STRING name,
- ULONG old_dismount_count)
-{
- /* Fill in all values into this FAST_CWD structure. */
- DirectoryHandle () = dir;
- ReferenceCount () = 1;
- OldDismountCount () = old_dismount_count;
- /* The new structure stores the device characteristics of the
- volume holding the dir. RtlGetCurrentDirectory_U checks
- if the FILE_REMOVABLE_MEDIA flag is set and, if so, checks if
- the volume is still the same as the one used when opening
- the directory handle.
- We don't call NtQueryVolumeInformationFile for the \\?\PIPE,
- though. It just returns STATUS_INVALID_HANDLE anyway. */
- if (fast_cwd_version () != FCWD_OLD)
+ void Free (PVOID heap)
{
- SetFSCharacteristics (0);
- if (name != &ro_u_pipedir)
+ /* Decrement the reference count. If it's down to 0, free
+ structure from heap. */
+ if (this && InterlockedDecrement (&ReferenceCount ()) == 0)
{
- IO_STATUS_BLOCK io;
- FILE_FS_DEVICE_INFORMATION ffdi;
- if (NT_SUCCESS (NtQueryVolumeInformationFile (dir, &io, &ffdi,
- sizeof ffdi, FileFsDeviceInformation)))
- SetFSCharacteristics (ffdi.Characteristics);
+ /* In contrast to pre-Vista, the handle on init is always a
+ fresh one and not the handle inherited from the parent
+ process. So we always have to close it here. However, the
+ handle could be NULL, if we cd'ed into a virtual dir. */
+ HANDLE h = DirectoryHandle ();
+ if (h)
+ NtClose (h);
+ RtlFreeHeap (heap, 0, this);
}
}
- RtlInitEmptyUnicodeString (&Path (), Buffer (),
- MAX_PATH * sizeof (WCHAR));
- copy_cwd_str (&Path (), name);
-}
-
-void
-fcwd_access_t::SetDirHandleFromBufferPointer (PWCHAR buf_p, HANDLE dir)
-{
- /* Input: The buffer pointer as it's stored in the user parameter block
- and a directory handle.
- This function computes the address to the FAST_CWD structure based
- on the version and overwrites the directory handle. It is only
- used if we couldn't figure out the address of fast_cwd_ptr. */
- fcwd_access_t *f_cwd;
- switch (fast_cwd_version ())
+ void FillIn (HANDLE dir, PUNICODE_STRING name, ULONG old_dismount_count)
{
- case FCWD_OLD:
- default:
- f_cwd = (fcwd_access_t *)
- ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_OLD, Buffer));
- case FCWD_W7:
- f_cwd = (fcwd_access_t *)
- ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_7, Buffer));
- case FCWD_W8:
- f_cwd = (fcwd_access_t *)
- ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_8, Buffer));
+ /* Fill in all values into this FAST_CWD structure. */
+ DirectoryHandle () = dir;
+ ReferenceCount () = 1;
+ OldDismountCount () = old_dismount_count;
+ /* The new structure stores the device characteristics of the
+ volume holding the dir. RtlGetCurrentDirectory_U checks
+ if the FILE_REMOVABLE_MEDIA flag is set and, if so, checks if
+ the volume is still the same as the one used when opening
+ the directory handle.
+ We don't call NtQueryVolumeInformationFile for the \\?\PIPE,
+ though. It just returns STATUS_INVALID_HANDLE anyway. */
+ if (fast_cwd_version != FCWD_OLD)
+ {
+ SetFSCharacteristics (0);
+ if (name != &ro_u_pipedir)
+ {
+ IO_STATUS_BLOCK io;
+ FILE_FS_DEVICE_INFORMATION ffdi;
+ if (NT_SUCCESS (NtQueryVolumeInformationFile (dir, &io, &ffdi,
+ sizeof ffdi, FileFsDeviceInformation)))
+ SetFSCharacteristics (ffdi.Characteristics);
+ }
+ }
+ RtlInitEmptyUnicodeString (&Path (), Buffer (),
+ MAX_PATH * sizeof (WCHAR));
+ copy_cwd_str (&Path (), name);
}
- f_cwd->DirectoryHandle () = dir;
-}
-void
-fcwd_access_t::SetVersionFromPointer (PBYTE buf_p, bool is_buffer)
-{
- /* Given a pointer to the FAST_CWD structure (is_buffer == false) or a
- pointer to the Buffer within (is_buffer == true), this function
- computes the FAST_CWD version by checking that Path.MaximumLength
- equals MAX_PATH, and that Path.Buffer == Buffer. */
- if (is_buffer)
- buf_p -= __builtin_offsetof (FAST_CWD_8, Buffer);
- fcwd_access_t *f_cwd = (fcwd_access_t *) buf_p;
- if (f_cwd->f8.Path.MaximumLength == MAX_PATH * sizeof (WCHAR)
- && f_cwd->f8.Path.Buffer == f_cwd->f8.Buffer)
- fast_cwd_version () = FCWD_W8;
- else if (f_cwd->f7.Path.MaximumLength == MAX_PATH * sizeof (WCHAR)
- && f_cwd->f7.Path.Buffer == f_cwd->f7.Buffer)
- fast_cwd_version () = FCWD_W7;
- else
- fast_cwd_version () = FCWD_OLD;
-}
+ static void SetDirHandleFromBufferPointer (PWCHAR buf_p, HANDLE dir)
+ {
+ /* Input: The buffer pointer as it's stored in the user parameter block
+ and a directory handle.
+ This function computes the address to the FAST_CWD structure based
+ on the version and overwrites the directory handle. It is only
+ used if we couldn't figure out the address of fast_cwd_ptr. */
+ fcwd_access_t *f_cwd;
+ switch (fast_cwd_version)
+ {
+ case FCWD_OLD:
+ default:
+ f_cwd = (fcwd_access_t *)
+ ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_OLD, Buffer));
+ case FCWD_W7:
+ f_cwd = (fcwd_access_t *)
+ ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_7, Buffer));
+ case FCWD_W8:
+ f_cwd = (fcwd_access_t *)
+ ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_8, Buffer));
+ }
+ f_cwd->DirectoryHandle () = dir;
+ }
+ static void SetVersionFromPointer (PBYTE buf_p, bool is_buffer)
+ {
+ /* Given a pointer to the FAST_CWD structure (is_buffer == false) or a
+ pointer to the Buffer within (is_buffer == true), this function
+ computes the FAST_CWD version by checking that Path.MaximumLength
+ equals MAX_PATH, and that Path.Buffer == Buffer. */
+ if (is_buffer)
+ buf_p -= __builtin_offsetof (FAST_CWD_8, Buffer);
+ fcwd_access_t *f_cwd = (fcwd_access_t *) buf_p;
+ if (f_cwd->f8.Path.MaximumLength == MAX_PATH * sizeof (WCHAR)
+ && f_cwd->f8.Path.Buffer == f_cwd->f8.Buffer)
+ fast_cwd_version = FCWD_W8;
+ else if (f_cwd->f7.Path.MaximumLength == MAX_PATH * sizeof (WCHAR)
+ && f_cwd->f7.Path.Buffer == f_cwd->f7.Buffer)
+ fast_cwd_version = FCWD_W7;
+ else
+ fast_cwd_version = FCWD_OLD;
+ }
+};
+fcwd_access_t::fcwd_version_t fcwd_access_t::fast_cwd_version
+ __attribute__((section (".cygwin_dll_common"), shared))
+ = fcwd_access_t::FCWD_W7;
+/* fast_cwd_ptr is a pointer to the global RtlpCurDirRef pointer in
+ ntdll.dll pointing to the FAST_CWD structure which constitutes the CWD.
+ Unfortunately RtlpCurDirRef is not exported from ntdll.dll.
+ We put the pointer into the common shared DLL segment. This allows to
+ restrict the call to find_fast_cwd_pointer() to once per Cygwin session
+ per user session. This works, because ASLR randomizes the load address
+ of DLLs only once at boot time. */
+static fcwd_access_t **fast_cwd_ptr
+ __attribute__((section (".cygwin_dll_common"), shared))
+ = (fcwd_access_t **) -1;
#define peek32(x) (*(uint32_t *)(x))
@@ -3670,9 +3724,8 @@ fcwd_access_t::SetVersionFromPointer (PBYTE buf_p, bool is_buffer)
Therefore we have to use some knowledge to figure out the address.
This code has been tested on Vista 32/64 bit, Server 2008 32/64 bit,
- Windows 7 32/64 bit, Server 2008 R2 (which is only 64 bit anyway),
- and W8CP 32/64 bit. There's some hope this will still work for
- Windows 8 RTM... */
+ Windows 7 32/64 bit, and Server 2008 R2 (which is only 64 bit anyway).
+ There's some hope that this will still work for Windows 8... */
static fcwd_access_t **
find_fast_cwd_pointer ()
{
@@ -3700,64 +3753,31 @@ find_fast_cwd_pointer ()
/* ...which should be followed by "mov edi, crit-sect-addr" then
"push edi", or by just a single "push crit-sect-addr". */
const uint8_t *movedi = pushedi + 1;
- const uint8_t *mov_pfast_cwd;
- if (movedi[0] == 0x8b && movedi[1] == 0xff) /* mov edi,edi -> W8 */
- {
- /* Windows 8 CP 32 bit (after a Windows Update?) does not call
- RtlEnterCriticalSection. For some reason the function manipulates
- the FastPebLock manually, kind of like RtlEnterCriticalSection has
- been converted to an inline function.
-
- Next we search for a `mov eax, some address'. This address points
- to the LockCount member of the FastPebLock structure, so the address
- is equal to FastPebLock + 4. */
- const uint8_t *moveax = (const uint8_t *) memchr (movedi, 0xb8, 16);
- if (!moveax)
- return NULL;
- offset = (ptrdiff_t) peek32 (moveax + 1) - 4;
- /* Compare the address with the known PEB lock as stored in the PEB. */
- if ((PRTL_CRITICAL_SECTION) offset != NtCurrentTeb ()->Peb->FastPebLock)
- return NULL;
- /* Now search for the mov instruction fetching the address of the global
- PFAST_CWD *. */
- mov_pfast_cwd = moveax;
- do
- {
- mov_pfast_cwd = (const uint8_t *) memchr (++mov_pfast_cwd, 0x8b, 48);
- }
- while (mov_pfast_cwd && mov_pfast_cwd[1] != 0x1d
- && (mov_pfast_cwd - moveax) < 48);
- if (!mov_pfast_cwd || mov_pfast_cwd[1] != 0x1d)
- return NULL;
- }
+ if (movedi[0] == 0xbf && movedi[5] == 0x57)
+ rcall = movedi + 6;
+ else if (movedi[0] == 0x68)
+ rcall = movedi + 5;
else
- {
- if (movedi[0] == 0xbf && movedi[5] == 0x57)
- rcall = movedi + 6;
- else if (movedi[0] == 0x68)
- rcall = movedi + 5;
- else
- return NULL;
- /* Compare the address used for the critical section with the known
- PEB lock as stored in the PEB. */
- if ((PRTL_CRITICAL_SECTION) peek32 (movedi + 1)
- != NtCurrentTeb ()->Peb->FastPebLock)
- return NULL;
- /* To check we are seeing the right code, we check our expectation that
- the next instruction is a relative call into RtlEnterCriticalSection. */
- if (rcall[0] != 0xe8)
- return NULL;
- /* Check that this is a relative call to RtlEnterCriticalSection. */
- offset = (ptrdiff_t) peek32 (rcall + 1);
- if (rcall + 5 + offset != ent_crit)
- return NULL;
- mov_pfast_cwd = rcall + 5;
- }
+ return NULL;
+ /* Compare the address used for the critical section with the known
+ PEB lock as stored in the PEB. */
+ if ((PRTL_CRITICAL_SECTION) peek32 (movedi + 1)
+ != NtCurrentTeb ()->Peb->FastPebLock)
+ return NULL;
+ /* To check we are seeing the right code, we check our expectation that
+ the next instruction is a relative call into RtlEnterCriticalSection. */
+ if (rcall[0] != 0xe8)
+ return NULL;
+ /* Check that this is a relative call to RtlEnterCriticalSection. */
+ offset = (ptrdiff_t) peek32 (rcall + 1);
+ if (rcall + 5 + offset != ent_crit)
+ return NULL;
/* After locking the critical section, the code should read the global
PFAST_CWD * pointer that is guarded by that critical section. */
- if (mov_pfast_cwd[0] != 0x8b)
+ const uint8_t *movesi = rcall + 5;
+ if (movesi[0] != 0x8b)
return NULL;
- return (fcwd_access_t **) peek32 (mov_pfast_cwd + 2);
+ return (fcwd_access_t **) peek32 (movesi + 2);
}
static fcwd_access_t **
@@ -3936,13 +3956,8 @@ cwdstuff::init ()
if (win32.Buffer)
override_win32_cwd (true, SharedUserData.DismountCount);
else
- {
- /* Initialize fast_cwd stuff. */
- fast_cwd_ptr = (fcwd_access_t **) -1;
- fast_cwd_version = FCWD_W7;
- /* Initially re-open the cwd to allow POSIX semantics. */
- set (NULL, NULL);
- }
+ /* Initially re-open the cwd to allow POSIX semantics. */
+ set (NULL, NULL);
}
/* Chdir and fill out the elements of a cwdstuff struct. */
@@ -4311,15 +4326,11 @@ etc::test_file_change (int n)
bool
etc::dir_changed (int n)
{
- /* io MUST be static because NtNotifyChangeDirectoryFile works asynchronously.
- It may write into io after the function has left, which may result in all
- sorts of stack corruption. */
- static IO_STATUS_BLOCK io NO_COPY;
- static HANDLE changed_h NO_COPY;
-
if (!change_possible[n])
{
+ static HANDLE changed_h NO_COPY;
NTSTATUS status;
+ IO_STATUS_BLOCK io;
if (!changed_h)
{
diff --git a/winsup/cygwin/path.h b/winsup/cygwin/path.h
index cb7480a58..07302b6e2 100644
--- a/winsup/cygwin/path.h
+++ b/winsup/cygwin/path.h
@@ -1,7 +1,7 @@
/* path.h: path data structures
Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -344,10 +344,8 @@ class path_conv
void file_attributes (DWORD new_attr) {fileattr = new_attr;}
DWORD fs_flags () {return fs.flags ();}
DWORD fs_name_len () {return fs.name_len ();}
- bool fs_got_fs () const { return fs.got_fs (); }
bool fs_is_fat () const {return fs.is_fat ();}
bool fs_is_ntfs () const {return fs.is_ntfs ();}
- bool fs_is_refs () const {return fs.is_refs ();}
bool fs_is_samba () const {return fs.is_samba ();}
bool fs_is_nfs () const {return fs.is_nfs ();}
bool fs_is_netapp () const {return fs.is_netapp ();}
@@ -438,6 +436,7 @@ class etc
{
friend class dtable;
static int curr_ix;
+ static HANDLE changed_h;
static bool change_possible[MAX_ETC_FILES + 1];
static OBJECT_ATTRIBUTES fn[MAX_ETC_FILES + 1];
static LARGE_INTEGER last_modified[MAX_ETC_FILES + 1];
diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc
index eb4923e9b..2615e32ac 100644
--- a/winsup/cygwin/pinfo.cc
+++ b/winsup/cygwin/pinfo.cc
@@ -49,6 +49,8 @@ pinfo_basic myself_initial NO_COPY;
pinfo NO_COPY myself (static_cast<_pinfo *> (&myself_initial)); // Avoid myself != NULL checks
+bool is_toplevel_proc;
+
/* Setup the pinfo structure for this process. There may already be a
_pinfo for this "pid" if h != NULL. */
@@ -77,6 +79,11 @@ pinfo::thisproc (HANDLE h)
else if (!child_proc_info) /* child_proc_info is only set when this process
was started by another cygwin process */
procinfo->start_time = time (NULL); /* Register our starting time. */
+ else if (::cygheap->pid_handle)
+ {
+ ForceCloseHandle (::cygheap->pid_handle);
+ ::cygheap->pid_handle = NULL;
+ }
}
/* Initialize the process table entry for the current task.
@@ -107,13 +114,13 @@ pinfo_init (char **envp, int envc)
myself->process_state |= PID_ACTIVE;
myself->process_state &= ~(PID_INITIALIZING | PID_EXITED | PID_REAPED);
- myself.preserve ();
debug_printf ("pid %d, pgid %d", myself->pid, myself->pgid);
}
static DWORD
status_exit (DWORD x)
{
+ const char *find_first_notloaded_dll (path_conv &);
switch (x)
{
case STATUS_DLL_NOT_FOUND:
@@ -299,16 +306,8 @@ pinfo::init (pid_t n, DWORD flag, HANDLE h0)
bool created = shloc != SH_JUSTOPEN;
- if (!created && createit && (procinfo->process_state & PID_REAPED))
- {
- memset (procinfo, 0, sizeof (*procinfo));
- created = true; /* Lie that we created this - just reuse old
- shared memory */
- }
-
- if ((procinfo->process_state & PID_REAPED)
- || ((procinfo->process_state & PID_INITIALIZING) && (flag & PID_NOREDIR)
- && cygwin_pid (procinfo->dwProcessId) != procinfo->pid))
+ if ((procinfo->process_state & PID_INITIALIZING) && (flag & PID_NOREDIR)
+ && cygwin_pid (procinfo->dwProcessId) != procinfo->pid)
{
set_errno (ESRCH);
break;
@@ -655,6 +654,7 @@ _pinfo::commune_request (__uint32_t code, ...)
HANDLE& hp = si._si_commune._si_process_handle;
HANDLE& fromthem = si._si_commune._si_read_handle;
HANDLE request_sync = NULL;
+ bool locked = false;
res.s = NULL;
res.n = 0;
@@ -681,6 +681,7 @@ _pinfo::commune_request (__uint32_t code, ...)
}
va_end (args);
+ locked = true;
char name_buf[MAX_PATH];
request_sync = CreateSemaphore (&sec_none_nih, 0, LONG_MAX,
shared_name (name_buf, "commune", myself->pid));
@@ -979,10 +980,63 @@ proc_waiter (void *arg)
return 0;
}
+#ifdef DEBUGGING
+#define warn_printf api_fatal
+#else
+#define warn_printf system_printf
+#endif
+HANDLE
+_pinfo::dup_proc_pipe (HANDLE hProcess)
+{
+ DWORD flags = DUPLICATE_SAME_ACCESS;
+ HANDLE orig_wr_proc_pipe = wr_proc_pipe;
+ /* Can't set DUPLICATE_CLOSE_SOURCE for exec case because we could be
+ execing a non-cygwin process and we need to set the exit value before the
+ parent sees it. */
+ if (this != myself || is_toplevel_proc)
+ flags |= DUPLICATE_CLOSE_SOURCE;
+ bool res = DuplicateHandle (GetCurrentProcess (), wr_proc_pipe,
+ hProcess, &wr_proc_pipe, 0, FALSE, flags);
+ if (!res && WaitForSingleObject (hProcess, 0) != WAIT_OBJECT_0)
+ {
+ wr_proc_pipe = orig_wr_proc_pipe;
+ warn_printf ("something failed for pid %d: res %d, hProcess %p, wr_proc_pipe %p vs. %p, %E",
+ res, pid, hProcess, wr_proc_pipe, orig_wr_proc_pipe);
+ }
+ else
+ {
+ wr_proc_pipe_owner = dwProcessId;
+ sigproc_printf ("duped wr_proc_pipe %p for pid %d(%u)", wr_proc_pipe,
+ pid, dwProcessId);
+ }
+ return orig_wr_proc_pipe;
+}
+
/* function to set up the process pipe and kick off proc_waiter */
bool
pinfo::wait ()
{
+ /* If rd_proc_pipe != NULL we're in an execed process which already has
+ grabbed the read end of the pipe from the previous cygwin process running
+ with this pid. */
+ if (!rd_proc_pipe)
+ {
+ /* FIXME: execed processes should be able to wait for pids that were started
+ by the process which execed them. */
+ if (!CreatePipe (&rd_proc_pipe, &((*this)->wr_proc_pipe), &sec_none_nih, 16))
+ {
+ system_printf ("Couldn't create pipe tracker for pid %d, %E",
+ (*this)->pid);
+ return false;
+ }
+
+ if (!(*this)->dup_proc_pipe (hProcess))
+ {
+ system_printf ("Couldn't duplicate pipe topid %d(%p), %E", (*this)->pid, hProcess);
+ return false;
+ }
+ }
+
preserve (); /* Preserve the shared memory associated with the pinfo */
waiter_ready = false;
@@ -1000,6 +1054,14 @@ pinfo::wait ()
return true;
}
+void
+_pinfo::sync_proc_pipe ()
+{
+ if (wr_proc_pipe && wr_proc_pipe != INVALID_HANDLE_VALUE)
+ while (wr_proc_pipe_owner != GetCurrentProcessId ())
+ yield ();
+}
+
/* function to send a "signal" to the parent when something interesting happens
in the child. */
bool
@@ -1012,18 +1074,21 @@ _pinfo::alert_parent (char sig)
FIXME: Is there a race here if we run this while another thread is attempting
to exec()? */
- if (my_wr_proc_pipe)
+ if (wr_proc_pipe == INVALID_HANDLE_VALUE || !myself->wr_proc_pipe || have_execed)
+ /* no parent */;
+ else
{
- if (WriteFile (my_wr_proc_pipe, &sig, 1, &nb, NULL))
+ sync_proc_pipe ();
+ if (WriteFile (wr_proc_pipe, &sig, 1, &nb, NULL))
/* all is well */;
else if (GetLastError () != ERROR_BROKEN_PIPE)
debug_printf ("sending %d notification to parent failed, %E", sig);
else
{
ppid = 1;
- HANDLE closeit = my_wr_proc_pipe;
- my_wr_proc_pipe = NULL;
- ForceCloseHandle1 (closeit, wr_proc_pipe);
+ HANDLE closeit = wr_proc_pipe;
+ wr_proc_pipe = INVALID_HANDLE_VALUE;
+ CloseHandle (closeit);
}
}
return (bool) nb;
diff --git a/winsup/cygwin/pinfo.h b/winsup/cygwin/pinfo.h
index c8eedea2f..62ddcb79e 100644
--- a/winsup/cygwin/pinfo.h
+++ b/winsup/cygwin/pinfo.h
@@ -111,6 +111,8 @@ public:
char *cwd (size_t &);
char *cmdline (size_t &);
bool set_ctty (class fhandler_termios *, int);
+ HANDLE dup_proc_pipe (HANDLE) __attribute__ ((regparm(2)));
+ void sync_proc_pipe ();
bool alert_parent (char);
int __stdcall kill (siginfo_t&) __attribute__ ((regparm (2)));
bool __stdcall exists () __attribute__ ((regparm (1)));
@@ -121,6 +123,8 @@ public:
HANDLE exec_sendsig;
DWORD exec_dwProcessId;
public:
+ HANDLE wr_proc_pipe;
+ DWORD wr_proc_pipe_owner;
friend class pinfo_minimal;
};
@@ -139,7 +143,6 @@ public:
HANDLE hProcess;
HANDLE rd_proc_pipe;
pinfo_minimal (): h (NULL), hProcess (NULL), rd_proc_pipe (NULL) {}
- void set_rd_proc_pipe (HANDLE& h) {rd_proc_pipe = h;}
friend class pinfo;
};
diff --git a/winsup/cygwin/pipe.cc b/winsup/cygwin/pipe.cc
index 6a88d4f1c..52f2ba058 100644
--- a/winsup/cygwin/pipe.cc
+++ b/winsup/cygwin/pipe.cc
@@ -211,22 +211,10 @@ fhandler_pipe::create (LPSECURITY_ATTRIBUTES sa_ptr, PHANDLE r, PHANDLE w,
psize = DEFAULT_PIPEBUFSIZE;
char pipename[MAX_PATH];
- size_t len = __small_sprintf (pipename, PIPE_INTRO "%S-",
+ const size_t len = __small_sprintf (pipename, PIPE_INTRO "%S-",
&cygheap->installation_key);
- DWORD pipe_mode = PIPE_READMODE_BYTE;
- if (!name)
- pipe_mode |= pipe_byte ? PIPE_TYPE_BYTE : PIPE_TYPE_MESSAGE;
- else
- pipe_mode |= PIPE_TYPE_MESSAGE;
-
- if (!name || (open_mode & PIPE_ADD_PID))
- {
- len += __small_sprintf (pipename + len, "%u-", GetCurrentProcessId ());
- open_mode &= ~PIPE_ADD_PID;
- }
-
if (name)
- len += __small_sprintf (pipename + len, "%s", name);
+ strcpy (pipename + len, name);
open_mode |= PIPE_ACCESS_INBOUND;
@@ -238,12 +226,10 @@ fhandler_pipe::create (LPSECURITY_ATTRIBUTES sa_ptr, PHANDLE r, PHANDLE w,
{
static volatile ULONG pipe_unique_id;
if (!name)
- __small_sprintf (pipename + len, "pipe-%p",
- InterlockedIncrement ((LONG *) &pipe_unique_id));
+ __small_sprintf (pipename + len, "pipe-%p-%p", myself->pid,
+ InterlockedIncrement ((LONG *) &pipe_unique_id));
- debug_printf ("name %s, size %lu, mode %s", pipename, psize,
- (pipe_mode & PIPE_TYPE_MESSAGE)
- ? "PIPE_TYPE_MESSAGE" : "PIPE_TYPE_BYTE");
+ debug_printf ("CreateNamedPipe: name %s, size %lu", pipename, psize);
/* Use CreateNamedPipe instead of CreatePipe, because the latter
returns a write handle that does not permit FILE_READ_ATTRIBUTES
@@ -260,7 +246,8 @@ fhandler_pipe::create (LPSECURITY_ATTRIBUTES sa_ptr, PHANDLE r, PHANDLE w,
definitely required for pty handling since fhandler_pty_master
writes to the pipe in chunks, terminated by newline when CANON mode
is specified. */
- *r = CreateNamedPipe (pipename, open_mode, pipe_mode, 1, psize,
+ *r = CreateNamedPipe (pipename, open_mode,
+ PIPE_TYPE_MESSAGE | PIPE_READMODE_BYTE, 1, psize,
psize, NMPWAIT_USE_DEFAULT_WAIT, sa_ptr);
if (*r != INVALID_HANDLE_VALUE)
diff --git a/winsup/cygwin/poll.cc b/winsup/cygwin/poll.cc
index cbb68bf04..ea86ab5aa 100644
--- a/winsup/cygwin/poll.cc
+++ b/winsup/cygwin/poll.cc
@@ -152,9 +152,9 @@ ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout_ts,
? -1
: (timeout_ts->tv_sec * 1000 + timeout_ts->tv_nsec / 1000000);
if (sigmask)
- set_signal_mask (_my_tls.sigmask, *sigmask);
+ set_signal_mask (*sigmask, _my_tls.sigmask);
int ret = poll (fds, nfds, timeout);
if (sigmask)
- set_signal_mask (_my_tls.sigmask, oldset);
+ set_signal_mask (oldset, _my_tls.sigmask);
return ret;
}
diff --git a/winsup/cygwin/posix.sgml b/winsup/cygwin/posix.sgml
index 0c6f6e502..5bb27d7c7 100644
--- a/winsup/cygwin/posix.sgml
+++ b/winsup/cygwin/posix.sgml
@@ -1115,7 +1115,6 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
get_phys_pages
get_nprocs
get_nprocs_conf
- getmntent_r
getopt_long
getopt_long_only
getpt
@@ -1127,7 +1126,6 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
lsetxattr
memmem
mempcpy
- memrchr
mkostemp
mkostemps
pipe2
@@ -1459,11 +1457,10 @@ CLOCK_REALTIME and CLOCK_MONOTONIC. <function>clock_setres</function>,
<function>clock_settime</function>, and <function>timer_create</function>
currently support only CLOCK_REALTIME.</para>
-<para>BSD file locks created via <function>flock</function> are only
-propagated to the direct parent process, not to grand parents or sibling
-processes. The locks are only valid in the creating process, its parent,
-and subsequently started child processes sharing the same file descriptor.
-</para>
+<para>BSD file locks created via <function>flock</function> are not
+propagated to the parent process and sibling processes. The locks are
+only valid in the creating process and subsequently started child processes
+sharing the same file descriptor.</para>
<para><function>fpclassify</function>, <function>isfinite</function>,
<function>isgreater</function>, <function>isgreaterequal</function>,
diff --git a/winsup/cygwin/posix_ipc.cc b/winsup/cygwin/posix_ipc.cc
index d09abf190..b9d224e43 100644
--- a/winsup/cygwin/posix_ipc.cc
+++ b/winsup/cygwin/posix_ipc.cc
@@ -119,12 +119,14 @@ ipc_mutex_init (HANDLE *pmtx, const char *name)
static int
ipc_mutex_lock (HANDLE mtx)
{
- switch (cancelable_wait (mtx, cw_infinite, cw_sig_eintr | cw_cancel | cw_cancel_self))
+ HANDLE h[2] = { mtx, signal_arrived };
+
+ switch (WaitForMultipleObjects (2, h, FALSE, INFINITE))
{
case WAIT_OBJECT_0:
case WAIT_ABANDONED_0:
return 0;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
set_errno (EINTR);
return 1;
default:
@@ -172,12 +174,11 @@ ipc_cond_init (HANDLE *pevt, const char *name, char sr)
static int
ipc_cond_timedwait (HANDLE evt, HANDLE mtx, const struct timespec *abstime)
{
- HANDLE w4[4] = { evt, };
+ HANDLE w4[4] = { evt, signal_arrived, NULL, NULL };
DWORD cnt = 2;
DWORD timer_idx = 0;
int ret = 0;
- set_signal_arrived here (w4[1]);
if ((w4[cnt] = pthread::get_cancel_event ()) != NULL)
++cnt;
if (abstime)
diff --git a/winsup/cygwin/pseudo-reloc.cc b/winsup/cygwin/pseudo-reloc.cc
index 04d5d9862..ea10d9220 100644
--- a/winsup/cygwin/pseudo-reloc.cc
+++ b/winsup/cygwin/pseudo-reloc.cc
@@ -20,6 +20,8 @@
# define NO_COPY
#else
# include "winsup.h"
+# include <wchar.h>
+# include <ntdef.h>
# include <sys/cygwin.h>
/* custom status code: */
# define STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION ((NTSTATUS) 0xe0000269)
@@ -85,7 +87,7 @@ __report_error (const char *msg, ...)
* cygwin ptys.
*/
char buf[128];
- WCHAR module[MAX_PATH];
+ wchar_t module[MAX_PATH];
char * posix_module = NULL;
static const char UNKNOWN_MODULE[] = "<unknown module>: ";
static const char CYGWIN_FAILURE_MSG[] = "Cygwin runtime failure: ";
@@ -326,10 +328,10 @@ do_pseudo_reloc (void * start, void * end, void * base)
}
#ifdef __CYGWIN__
-extern "C" void
+void
_pei386_runtime_relocator (per_process *u)
{
- if (u && CYGWIN_VERSION_USE_PSEUDO_RELOC_IN_DLL (u))
+ if (CYGWIN_VERSION_USE_PSEUDO_RELOC_IN_DLL (u))
do_pseudo_reloc (u->pseudo_reloc_start, u->pseudo_reloc_end, u->image_base);
}
#else
diff --git a/winsup/cygwin/regex/regcomp.c b/winsup/cygwin/regex/regcomp.c
index b44ba2c62..30502f7f1 100644
--- a/winsup/cygwin/regex/regcomp.c
+++ b/winsup/cygwin/regex/regcomp.c
@@ -324,10 +324,7 @@ p_ere(struct parse *p,
conc = HERE();
while (MORE() && (c = PEEK()) != '|' && c != stop)
p_ere_exp(p);
-#ifndef __CYGWIN__
- /* undefined behaviour according to POSIX; allowed by glibc */
(void)REQUIRE(HERE() != conc, REG_EMPTY); /* require nonempty */
-#endif
if (!EAT('|'))
break; /* NOTE BREAK OUT */
diff --git a/winsup/cygwin/registry.cc b/winsup/cygwin/registry.cc
index 9f791d2df..3047e269c 100644
--- a/winsup/cygwin/registry.cc
+++ b/winsup/cygwin/registry.cc
@@ -115,7 +115,7 @@ reg_key::build_reg (HKEY top, REGSAM access, va_list av)
if (!NT_SUCCESS (status))
{
key_is_invalid = status;
- debug_printf ("failed to create key %S in the registry", &uname);
+ debug_printf ("failed to create key %S in the registry", uname);
break;
}
}
diff --git a/winsup/cygwin/release/1.7.10 b/winsup/cygwin/release/1.7.10
new file mode 100644
index 000000000..33a2f20dd
--- /dev/null
+++ b/winsup/cygwin/release/1.7.10
@@ -0,0 +1,126 @@
+What's new:
+-----------
+
+- New getconf tool for querying confstr(3), pathconf(3), sysconf(3), and
+ limits.h configuration.
+
+- New tzset utility to generate a POSIX-compatible TZ environment
+ variable from the Windows timezone settings.
+
+- The passwd tool now allows an administrator to use the -R command for
+ other user accounts: passwd -R username.
+
+- Experimental: Change the way sockets are created so that Cygwin always
+ circumvents so-called "layered service providers" (LSPs) starting with
+ Windows Vista.
+
+- signal handler functions are now dispatched in threads other than the
+ main thread.
+
+- Support NcFsd filesystem.
+
+- clock_gettime(3) and clock_getres(3) accept per-process and per-thread
+ CPU-time clocks, including CLOCK_PROCESS_CPUTIME_ID and
+ CLOCK_THREAD_CPUTIME_ID.
+
+- New pthread functions:
+
+ - Spin Locks: pthread_spin_destroy, pthread_spin_init, pthread_spin_lock,
+ pthread_spin_trylock, pthread_spin_unlock.
+
+ - Stack management: pthread_attr_getstack, pthread_attr_getstackaddr,
+ pthread_attr_getguardsize, pthread_attr_setstack, pthread_attr_setstackaddr,
+ pthread_attr_setguardsize, pthread_getattr_np.
+
+ - Clock Selection: pthread_getcpuclockid, pthread_condattr_getclock,
+ pthread_condattr_setclock.
+
+ - Scheduling: pthread_setschedprio.
+
+ - Signalling: pthread_sigqueue.
+
+- Add /proc/devices, /proc/misc, /proc/sysvipc, /proc/swaps.
+
+- Make various system functions thread cancelation points per POSIX.
+
+- Add ioctl FIONREAD handling for non-sockets.
+
+- dlopen now supports the Glibc-specific RTLD_NODELETE and RTLD_NOOPEN flags.
+
+- The printf and wprintf families of functions now support the %m conversion
+ flag.
+
+- Execed processes now inherit the children of their predecessor.
+
+- Fifos have been rewritten and should now be more reliable.
+
+- GNU/glibc error.h error reporting functions: error, error_at_line,
+ error_message_count, error_one_per_line, error_print_progname.
+
+- C99 <tgmath.h> type-generic macros.
+
+- Other new API: clock_getcpuclockid, clock_nanosleep, clock_settime, __fpurge,
+ get_current_dir_name, getgrouplist, getpt, ppoll, psiginfo, psignal,
+ ptsname_r, sys_siglist, sysinfo.
+
+- cygwin_conv_path_list finally supports CCP_WIN_W_TO_POSIX and
+ CCP_POSIX_TO_WIN_W conversions.
+
+
+What changed:
+-------------
+
+- Drop support for Windows NT4.
+
+- The CYGWIN=tty mode using pipes to communicate with the console in a pseudo
+ tty-like mode has been removed. Either just use the normal Windows console
+ as is, or use a terminal application like mintty.
+
+- The CYGWIN environment variable options "envcache", "strip_title", "title",
+ "tty", and "upcaseenv" have been removed.
+
+- New heap management. Drop registry setting "heap_chunk_in_mb" in favor of
+ a new per-executable setting in the executable file header which can be set
+ using the peflags tool. Drop registry setting "heap_slop_in_mb" entirely.
+
+- Revamp console and pseudo tty handling. Rename /dev/ttyX to /dev/consX,
+ /dev/ttyX to /dev/ptyX.
+
+- Improve fork/exec performance on 64 bit systems.
+
+- Improve Ctrl-C handling in console.
+
+- Try harder to let fork not fail if DLLs are moved in memory which should,
+ in some cases, minimize the need for rebaseall.
+
+- Try harder to send SIGHUP to children when process group leader fails.
+
+- Deal with Windows problem where non-blocking pipe I/O was not flushed
+ properly on close.
+
+- Attempt to regularize most syscall-related strace output.
+
+- Improve behavior of Cygwin when started from a 64-bit process, especially
+ under Windows 2003.
+
+- Improve multi-thread/reentrancy safety with syscalls that deal with fds.
+
+- dlopen can now find "cygFOO.dll", even if the caller specified "libFOO.so".
+ This is supposed to support applications which are no aware of Windows DLLs.
+
+- Make accept(2), poll(2) and shutdown(2) behave more like on Linux.
+
+- Raise max number of mount points from 30 to 64.
+
+- Output of /proc/maps is closer to what Linux prints and much more useful to
+ examine process VM layout.
+
+- /proc/loadavg now shows the number of currently running processes and the
+ total number of processes.
+
+- /proc/version now shows the username of whomever compiled the Cygwin DLL
+ as well as the version of GCC used when compiling.
+
+- Various assorted bugfixes and improvements.
+
+- Preliminary, no guarantee, may be broken in subtle ways, Windows 8 support.
diff --git a/winsup/cygwin/release/1.7.11 b/winsup/cygwin/release/1.7.11
new file mode 100644
index 000000000..d4e0911d2
--- /dev/null
+++ b/winsup/cygwin/release/1.7.11
@@ -0,0 +1,29 @@
+What's new:
+-----------
+
+- New pldd command for listing DLLs loaded by a process.
+
+- New API: scandirat.
+
+
+What changed:
+-------------
+
+- Fixed problem where background Cygwin processes kept the windows
+ console window from exiting.
+
+- Change the way remote shares mapped to drive letters are recognized
+ when creating the cygdrive directory. If Windows claims the drive
+ is unavailable, don't show it in the cygdrive directory listing.
+
+- Lower the stack pressure in some Cygwin calls by reducing the buffer
+ space allocated on the stack.
+
+- Raise default stacksize of pthreads from 512K to 1 Meg. It can still
+ be changed using the pthread_attr_setstacksize call.
+
+- process.h header has been moved back from /usr/include/cygwin to
+ /usr/include.
+
+- Make <sys/wait.h> header C++ clean.
+
diff --git a/winsup/cygwin/sched.cc b/winsup/cygwin/sched.cc
index e990c996c..9c8aa0467 100644
--- a/winsup/cygwin/sched.cc
+++ b/winsup/cygwin/sched.cc
@@ -21,9 +21,7 @@
#include <unistd.h>
#include "registry.h"
-#ifndef __MINGW64_VERSION_MAJOR
extern "C" HWND WINAPI GetForegroundWindow();
-#endif
/* Win32 priority to UNIX priority Mapping.
For now, I'm just following the spec: any range of priorities is ok.
diff --git a/winsup/cygwin/sec_acl.cc b/winsup/cygwin/sec_acl.cc
index 14cb88667..b2fd3f4d7 100644
--- a/winsup/cygwin/sec_acl.cc
+++ b/winsup/cygwin/sec_acl.cc
@@ -1,7 +1,7 @@
/* sec_acl.cc: Sun compatible ACL functions.
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2009, 2010, 2011 Red Hat, Inc.
Written by Corinna Vinschen <corinna@vinschen.de>
@@ -451,13 +451,13 @@ acl32 (const char *path, int cmd, int nentries, __aclent32_t *aclbufp)
fhandler_base *fh = build_fh_name (path, PC_SYM_FOLLOW | PC_KEEP_HANDLE,
stat_suffixes);
- if (!fh || !fh->exists ())
- set_errno (ENOENT);
- else if (fh->error ())
+ if (fh->error ())
{
debug_printf ("got %d error from build_fh_name", fh->error ());
set_errno (fh->error ());
}
+ else if (!fh->exists ())
+ set_errno (ENOENT);
else
res = fh->facl (cmd, nentries, aclbufp);
diff --git a/winsup/cygwin/sec_helper.cc b/winsup/cygwin/sec_helper.cc
index 0b505a7e8..eee4886b1 100644
--- a/winsup/cygwin/sec_helper.cc
+++ b/winsup/cygwin/sec_helper.cc
@@ -1,7 +1,7 @@
/* sec_helper.cc: NT security helper functions
Copyright 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009,
- 2010, 2011, 2012 Red Hat, Inc.
+ 2010, 2011 Red Hat, Inc.
Written by Corinna Vinschen <corinna@vinschen.de>
@@ -25,10 +25,6 @@ details. */
#include "pwdgrp.h"
#include "ntdll.h"
-#ifndef __MINGW64_VERSION_MAJOR
-#define SECURITY_NT_NON_UNIQUE SECURITY_NT_NON_UNIQUE_RID
-#endif
-
/* General purpose security attribute objects for global use. */
SECURITY_ATTRIBUTES NO_COPY sec_none;
SECURITY_ATTRIBUTES NO_COPY sec_none_nih;
@@ -179,7 +175,7 @@ cygsid::get_sid (DWORD s, DWORD cnt, DWORD *r, bool well_known)
well_known_sid = well_known;
else
well_known_sid = (s != SECURITY_NT_AUTH
- || r[0] != SECURITY_NT_NON_UNIQUE);
+ || r[0] != SECURITY_NT_NON_UNIQUE_RID);
return psid;
}
@@ -378,11 +374,7 @@ static const struct {
{ SE_CREATE_GLOBAL_NAME, false },
{ SE_TRUSTED_CREDMAN_ACCESS_NAME, false },
{ SE_RELABEL_NAME, true },
-#ifndef __MINGW64_VERSION_MAJOR
{ SE_INCREASE_WORKING_SET_NAME, false },
-#else
- { SE_INC_WORKING_SET_NAME, false },
-#endif
{ SE_TIME_ZONE_NAME, true },
{ SE_CREATE_SYMBOLIC_LINK_NAME, true }
};
@@ -563,7 +555,7 @@ PSECURITY_ATTRIBUTES __stdcall
__sec_user (PVOID sa_buf, PSID sid1, PSID sid2, DWORD access2, BOOL inherit)
{
PSECURITY_ATTRIBUTES psa = (PSECURITY_ATTRIBUTES) sa_buf;
- PISECURITY_DESCRIPTOR psd = (PISECURITY_DESCRIPTOR)
+ PSECURITY_DESCRIPTOR psd = (PSECURITY_DESCRIPTOR)
((char *) sa_buf + sizeof (*psa));
PACL acl = (PACL) ((char *) sa_buf + sizeof (*psa) + sizeof (*psd));
NTSTATUS status;
@@ -586,64 +578,6 @@ __sec_user (PVOID sa_buf, PSID sid1, PSID sid2, DWORD access2, BOOL inherit)
return psa;
}
-/* Helper function to create a file security descriptor which allows
- full access to admins, system, and the sid given as parameter. See
- try_to_bin for how it's used. */
-
-PSECURITY_DESCRIPTOR
-_recycler_sd (void *buf, bool users, bool dir)
-{
- NTSTATUS status;
- PISECURITY_DESCRIPTOR psd = (PISECURITY_DESCRIPTOR) buf;
-
- if (!psd)
- return NULL;
- RtlCreateSecurityDescriptor (psd, SECURITY_DESCRIPTOR_REVISION);
- PACL dacl = (PACL) (psd + 1);
- /* Pre-Vista, the per-user recycler dir has a rather too complicated
- ACL by default, which has distinct ACEs for inheritable and non-inheritable
- permissions. However, this ACL is practically equivalent to the ACL
- created since Vista. Therefore we simplify our job here and create the
- pre-Vista permissions the same way as on Vista and later. */
- RtlCreateAcl (dacl, MAX_DACL_LEN (3), ACL_REVISION);
- RtlAddAccessAllowedAceEx (dacl, ACL_REVISION,
- dir ? CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE
- : NO_INHERITANCE,
- FILE_ALL_ACCESS, well_known_admins_sid);
- RtlAddAccessAllowedAceEx (dacl, ACL_REVISION,
- dir ? CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE
- : NO_INHERITANCE,
- FILE_ALL_ACCESS, well_known_system_sid);
- if (users)
- RtlAddAccessAllowedAceEx (dacl, ACL_REVISION, NO_PROPAGATE_INHERIT_ACE,
- FILE_GENERIC_READ | FILE_GENERIC_EXECUTE
- | FILE_APPEND_DATA | FILE_WRITE_ATTRIBUTES,
- well_known_users_sid);
- else
- RtlAddAccessAllowedAceEx (dacl, ACL_REVISION,
- dir ? CONTAINER_INHERIT_ACE
- | OBJECT_INHERIT_ACE
- : NO_INHERITANCE,
- FILE_ALL_ACCESS, cygheap->user.sid ());
- LPVOID ace;
- status = RtlFirstFreeAce (dacl, &ace);
- if (!NT_SUCCESS (status))
- {
- debug_printf ("RtlFirstFreeAce: %p", status);
- return NULL;
- }
- dacl->AclSize = (char *) ace - (char *) dacl;
- RtlSetDaclSecurityDescriptor (psd, TRUE, dacl, FALSE);
- /* If the directory DACL is not marked as protected, shell32 thinks
- the recycle dir is corrupted. As soon as Explorer accesses the
- Recycler, the user will get a GUI dialog "The Recycle Bin on X:\
- is corrupted. Do you want to empty the Recycle Bin for this drive?"
- Of course we want to avoid that. */
- if (dir)
- psd->Control |= SE_DACL_PROTECTED;
- return psd;
-}
-
/* Helper function to create an event security descriptor which only allows
specific access to everyone. Only the creating process has all access
rights. */
@@ -652,7 +586,7 @@ PSECURITY_DESCRIPTOR
_everyone_sd (void *buf, ACCESS_MASK access)
{
NTSTATUS status;
- PISECURITY_DESCRIPTOR psd = (PISECURITY_DESCRIPTOR) buf;
+ PSECURITY_DESCRIPTOR psd = (PSECURITY_DESCRIPTOR) buf;
if (psd)
{
diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc
index cf3888bd3..3afd2b458 100644
--- a/winsup/cygwin/security.cc
+++ b/winsup/cygwin/security.cc
@@ -1,7 +1,7 @@
/* security.cc: NT file access control functions
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
Originaly written by Gunther Ebert, gunther.ebert@ixos-leipzig.de
Completely rewritten by Corinna Vinschen <corinna@vinschen.de>
@@ -469,13 +469,15 @@ bool
add_access_allowed_ace (PACL acl, int offset, DWORD attributes,
PSID sid, size_t &len_add, DWORD inherit)
{
- NTSTATUS status = RtlAddAccessAllowedAceEx (acl, ACL_REVISION, inherit,
- attributes, sid);
+ NTSTATUS status = RtlAddAccessAllowedAce (acl, ACL_REVISION, attributes, sid);
if (!NT_SUCCESS (status))
{
__seterrno_from_nt_status (status);
return false;
}
+ ACCESS_ALLOWED_ACE *ace;
+ if (inherit && NT_SUCCESS (RtlGetAce (acl, offset, (PVOID *) &ace)))
+ ace->Header.AceFlags |= inherit;
len_add += sizeof (ACCESS_ALLOWED_ACE) - sizeof (DWORD) + RtlLengthSid (sid);
return true;
}
@@ -484,13 +486,15 @@ bool
add_access_denied_ace (PACL acl, int offset, DWORD attributes,
PSID sid, size_t &len_add, DWORD inherit)
{
- NTSTATUS status = RtlAddAccessDeniedAceEx (acl, ACL_REVISION, inherit,
- attributes, sid);
+ NTSTATUS status = RtlAddAccessDeniedAce (acl, ACL_REVISION, attributes, sid);
if (!NT_SUCCESS (status))
{
__seterrno_from_nt_status (status);
return false;
}
+ ACCESS_DENIED_ACE *ace;
+ if (inherit && NT_SUCCESS (RtlGetAce (acl, offset, (PVOID *) &ace)))
+ ace->Header.AceFlags |= inherit;
len_add += sizeof (ACCESS_DENIED_ACE) - sizeof (DWORD) + RtlLengthSid (sid);
return true;
}
diff --git a/winsup/cygwin/security.h b/winsup/cygwin/security.h
index 2ac101a69..6629260d2 100644
--- a/winsup/cygwin/security.h
+++ b/winsup/cygwin/security.h
@@ -1,7 +1,7 @@
/* security.h: security declarations
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2011, 2012 Red Hat, Inc.
+ 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -9,7 +9,8 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
+#ifndef _SECURITY_H
+#define _SECURITY_H
#include <accctrl.h>
@@ -222,12 +223,9 @@ public:
/* += adds a "normal" SID, *= adds a well-known SID. See comment in class
cygsid above. */
- BOOL operator+= (cygsid &si) { return add ((PSID) si,
- si.is_well_known_sid ()); }
+ BOOL operator+= (cygsid &si) { return add ((PSID) si, false); }
BOOL operator+= (const char *sidstr) { cygsid nsi (sidstr);
- return add ((PSID) nsi,
- nsi.is_well_known_sid ());
- }
+ return add ((PSID) nsi, false); }
BOOL operator+= (const PSID psid) { return add (psid, false); }
BOOL operator*= (cygsid &si) { return add ((PSID) si, true); }
BOOL operator*= (const char *sidstr) { cygsid nsi (sidstr);
@@ -475,13 +473,6 @@ extern SECURITY_ATTRIBUTES sec_none, sec_none_nih, sec_all, sec_all_nih;
extern SECURITY_ATTRIBUTES *__stdcall __sec_user (PVOID, PSID, PSID,
DWORD, BOOL)
__attribute__ ((regparm (3)));
-
-extern PSECURITY_DESCRIPTOR _recycler_sd (void *buf, bool users, bool dir);
-#define recycler_sd(users,dir) \
- (_recycler_sd (alloca (sizeof (SECURITY_DESCRIPTOR) + MAX_DACL_LEN (3)), \
- (users), \
- (dir)))
-
extern PSECURITY_DESCRIPTOR _everyone_sd (void *buf, ACCESS_MASK access);
#define everyone_sd(access) (_everyone_sd (alloca (SD_MIN_SIZE), (access)))
@@ -512,3 +503,5 @@ sec_user (SECURITY_ATTRIBUTES *sa_buf, PSID sid1, PSID sid2 = NULL,
{
return __sec_user (sa_buf, sid1, sid2, access2, TRUE);
}
+
+#endif /*_SECURITY_H*/
diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc
index 3122c8203..316073e00 100644
--- a/winsup/cygwin/select.cc
+++ b/winsup/cygwin/select.cc
@@ -21,9 +21,9 @@ details. */
#include <wingdi.h>
#include <winuser.h>
+#include <netdb.h>
#define USE_SYS_TYPES_FD_SET
#include <winsock2.h>
-#include <netdb.h>
#include "cygerrno.h"
#include "security.h"
#include "path.h"
@@ -34,7 +34,6 @@ details. */
#include "pinfo.h"
#include "sigproc.h"
#include "cygtls.h"
-#include "cygwait.h"
/*
* All these defines below should be in sys/types.h
@@ -73,13 +72,7 @@ typedef long fd_mask;
#define UNIX_FD_ZERO(p, n) \
memset ((caddr_t) (p), 0, sizeof_fd_set ((n)))
-#define allocfd_set(n) ({\
- size_t __sfds = sizeof_fd_set (n) + 8; \
- void *__res = alloca (__sfds); \
- memset (__res, 0, __sfds); \
- (fd_set *) __res; \
-})
-
+#define allocfd_set(n) ((fd_set *) memset (alloca (sizeof_fd_set (n)), 0, sizeof_fd_set (n)))
#define copyfd_set(to, from, n) memcpy (to, from, sizeof_fd_set (n));
#define set_handle_or_return_if_not_open(h, s) \
@@ -88,139 +81,91 @@ typedef long fd_mask;
{ \
(s)->thread_errno = EBADF; \
return -1; \
- }
+ } \
-static int select (int, fd_set *, fd_set *, fd_set *, DWORD);
-
-/* The main select code. */
+/* The main select code.
+ */
extern "C" int
cygwin_select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
struct timeval *to)
{
+ select_stuff sel;
+ fd_set *dummy_readfds = allocfd_set (maxfds);
+ fd_set *dummy_writefds = allocfd_set (maxfds);
+ fd_set *dummy_exceptfds = allocfd_set (maxfds);
+
select_printf ("select(%d, %p, %p, %p, %p)", maxfds, readfds, writefds, exceptfds, to);
pthread_testcancel ();
- int res;
- if (maxfds < 0)
- {
- set_errno (EINVAL);
- res = -1;
- }
- else
- {
- /* Convert to milliseconds or INFINITE if to == NULL */
- DWORD ms = to ? (to->tv_sec * 1000) + (to->tv_usec / 1000) : INFINITE;
- if (ms == 0 && to->tv_usec)
- ms = 1; /* At least 1 ms granularity */
- if (to)
- select_printf ("to->tv_sec %d, to->tv_usec %d, ms %d", to->tv_sec, to->tv_usec, ms);
- else
- select_printf ("to NULL, ms %x", ms);
+ if (!readfds)
+ readfds = dummy_readfds;
+ if (!writefds)
+ writefds = dummy_writefds;
+ if (!exceptfds)
+ exceptfds = dummy_exceptfds;
- res = select (maxfds, readfds ?: allocfd_set (maxfds),
- writefds ?: allocfd_set (maxfds),
- exceptfds ?: allocfd_set (maxfds), ms);
- }
- syscall_printf ("%R = select(%d, %p, %p, %p, %p)", res, maxfds, readfds,
- writefds, exceptfds, to);
- return res;
-}
+ for (int i = 0; i < maxfds; i++)
+ if (!sel.test_and_set (i, readfds, writefds, exceptfds))
+ {
+ select_printf ("aborting due to test_and_set error");
+ return -1; /* Invalid fd, maybe? */
+ }
-/* This function is arbitrarily split out from cygwin_select to avoid odd
- gcc issues with the use of allocfd_set and improper constructor handling
- for the sel variable. */
-static int
-select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
- DWORD ms)
-{
- int res = select_stuff::select_loop;
+ /* Convert to milliseconds or INFINITE if to == NULL */
+ DWORD ms = to ? (to->tv_sec * 1000) + (to->tv_usec / 1000) : INFINITE;
+ if (ms == 0 && to->tv_usec)
+ ms = 1; /* At least 1 ms granularity */
- LONGLONG start_time = gtod.msecs (); /* Record the current time for later use. */
+ if (to)
+ select_printf ("to->tv_sec %d, to->tv_usec %d, ms %d", to->tv_sec, to->tv_usec, ms);
+ else
+ select_printf ("to NULL, ms %x", ms);
- select_stuff sel;
- sel.return_on_signal = 0;
+ select_printf ("sel.always_ready %d", sel.always_ready);
/* Allocate some fd_set structures using the number of fds as a guide. */
fd_set *r = allocfd_set (maxfds);
fd_set *w = allocfd_set (maxfds);
fd_set *e = allocfd_set (maxfds);
- while (res == select_stuff::select_loop)
- {
- /* Build the select record per fd linked list and set state as
- needed. */
- for (int i = 0; i < maxfds; i++)
- if (!sel.test_and_set (i, readfds, writefds, exceptfds))
- {
- select_printf ("aborting due to test_and_set error");
- return -1; /* Invalid fd, maybe? */
- }
- select_printf ("sel.always_ready %d", sel.always_ready);
-
- /* Degenerate case. No fds to wait for. Just wait for time to run out
- or signal to arrive. */
- if (sel.start.next == NULL)
- switch (cygwait (ms))
- {
- case WAIT_SIGNALED:
- select_printf ("signal received");
- if (_my_tls.call_signal_handler ())
- res = select_stuff::select_loop; /* Emulate linux behavior */
- else
- {
- set_sig_errno (EINTR);
- res = select_stuff::select_error;
- }
- break;
- case WAIT_CANCELED:
- sel.destroy ();
- pthread::static_cancel_self ();
- /*NOTREACHED*/
- default:
- res = select_stuff::select_set_zero; /* Set res to zero below. */
- break;
- }
- else if (sel.always_ready || ms == 0)
- res = 0; /* Catch any active fds via
- sel.poll() below */
- else
- res = sel.wait (r, w, e, ms); /* wait for an fd to become
- become active or time out */
- select_printf ("res %d", res);
- if (res >= 0)
+ int res = 0;
+ sel.return_on_signal = &_my_tls == _main_tls;
+ /* Degenerate case. No fds to wait for. Just wait. */
+ if (sel.start.next == NULL)
+ while (!res)
+ switch (cygwait (ms))
{
- copyfd_set (readfds, r, maxfds);
- copyfd_set (writefds, w, maxfds);
- copyfd_set (exceptfds, e, maxfds);
- /* Actually set the bit mask from sel records */
- res = (res == select_stuff::select_set_zero) ? 0 : sel.poll (readfds, writefds, exceptfds);
- }
- /* Always clean up everything here. If we're looping then build it
- all up again. */
- sel.cleanup ();
- sel.destroy ();
- /* Recalculate the time remaining to wait if we are going to be looping. */
- if (res == select_stuff::select_loop && ms != INFINITE)
- {
- select_printf ("recalculating ms");
- LONGLONG now = gtod.msecs ();
- if (now > (start_time + ms))
- {
- select_printf ("timed out after verification");
- res = select_stuff::select_error;
- }
- else
- {
- ms -= (now - start_time);
- start_time = now;
- select_printf ("ms now %u", ms);
- }
+ case WAIT_OBJECT_0:
+ select_printf ("signal received");
+ _my_tls.call_signal_handler ();
+ if (!sel.return_on_signal)
+ continue; /* Emulate linux behavior */
+ set_sig_errno (EINTR);
+ res = -1;
+ break;
+ case WAIT_OBJECT_0 + 1:
+ sel.destroy ();
+ pthread::static_cancel_self ();
+ /*NOTREACHED*/
+ default:
+ res = 1; /* temporary flag. Will be set to zero below. */
+ break;
}
+ else if (sel.always_ready || ms == 0)
+ res = 0;
+ else
+ res = sel.wait (r, w, e, ms);
+ if (res >= 0)
+ {
+ copyfd_set (readfds, r, maxfds);
+ copyfd_set (writefds, w, maxfds);
+ copyfd_set (exceptfds, e, maxfds);
+ res = (res > 0) ? 0 : sel.poll (readfds, writefds, exceptfds);
}
- if (res < -1)
- res = -1;
+ syscall_printf ("%R = select(%d, %p, %p, %p, %p)", res, maxfds, readfds,
+ writefds, exceptfds, to);
return res;
}
@@ -240,11 +185,11 @@ pselect(int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
tv.tv_usec = ts->tv_nsec / 1000;
}
if (set)
- set_signal_mask (_my_tls.sigmask, *set);
+ set_signal_mask (*set, _my_tls.sigmask);
int ret = cygwin_select (maxfds, readfds, writefds, exceptfds,
ts ? &tv : NULL);
if (set)
- set_signal_mask (_my_tls.sigmask, oldset);
+ set_signal_mask (oldset, _my_tls.sigmask);
return ret;
}
@@ -268,7 +213,7 @@ select_stuff::cleanup ()
inline void
select_stuff::destroy ()
{
- select_record *s;
+ select_record *s = &start;
select_record *snext = start.next;
select_printf ("deleting select records");
@@ -277,7 +222,6 @@ select_stuff::destroy ()
snext = s->next;
delete s;
}
- start.next = NULL;
}
select_stuff::~select_stuff ()
@@ -324,19 +268,24 @@ err:
}
/* The heart of select. Waits for an fd to do something interesting. */
-select_stuff::wait_states
+int
select_stuff::wait (fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
DWORD ms)
{
+ int wait_ret;
HANDLE w4[MAXIMUM_WAIT_OBJECTS];
select_record *s = &start;
- DWORD m = 0;
+ int m = 0;
+ int res = 0;
+ bool is_cancelable = false;
- set_signal_arrived here (w4[m++]);
+ w4[m++] = signal_arrived; /* Always wait for the arrival of a signal. */
if ((w4[m] = pthread::get_cancel_event ()) != NULL)
- m++;
+ {
+ ++m;
+ is_cancelable = true;
+ }
- DWORD startfds = m;
/* Loop through the select chain, starting up anything appropriate and
counting the number of active fds. */
while ((s = s->next))
@@ -344,76 +293,73 @@ select_stuff::wait (fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
if (m >= MAXIMUM_WAIT_OBJECTS)
{
set_sig_errno (EINVAL);
- return select_error;
+ return -1;
}
if (!s->startup (s, this))
{
s->set_select_errno ();
- return select_error;
- }
- if (s->h != NULL)
- {
- for (DWORD i = startfds; i < m; i++)
- if (w4[i] == s->h)
- goto next_while;
- w4[m++] = s->h;
+ return -1;
}
-next_while:;
+ if (s->h == NULL)
+ continue;
+ for (int i = 1; i < m; i++)
+ if (w4[i] == s->h)
+ goto next_while;
+ w4[m++] = s->h;
+ next_while:
+ continue;
}
- debug_printf ("m %d, ms %u", m, ms);
+ LONGLONG start_time = gtod.msecs (); /* Record the current time for later use. */
- DWORD wait_ret;
- if (!windows_used)
- wait_ret = WaitForMultipleObjects (m, w4, FALSE, ms);
- else
- /* Using MWMO_INPUTAVAILABLE is the officially supported solution for
- the problem that the call to PeekMessage disarms the queue state
- so that a subsequent MWFMO hangs, even if there are still messages
- in the queue. */
- wait_ret = MsgWaitForMultipleObjectsEx (m, w4, ms,
- QS_ALLINPUT | QS_ALLPOSTMESSAGE,
- MWMO_INPUTAVAILABLE);
- select_printf ("wait_ret %d. verifying", wait_ret);
-
- wait_states res;
- switch (wait_ret)
+ debug_printf ("m %d, ms %u", m, ms);
+ for (;;)
{
- case WAIT_OBJECT_0:
- select_printf ("signal received");
- /* Need to get rid of everything when a signal occurs since we can't
- be assured that a signal handler won't jump out of select entirely. */
- cleanup ();
- destroy ();
- if (_my_tls.call_signal_handler ())
- res = select_loop;
+ if (!windows_used)
+ wait_ret = WaitForMultipleObjects (m, w4, FALSE, ms);
else
+ /* Using MWMO_INPUTAVAILABLE is the officially supported solution for
+ the problem that the call to PeekMessage disarms the queue state
+ so that a subsequent MWFMO hangs, even if there are still messages
+ in the queue. */
+ wait_ret = MsgWaitForMultipleObjectsEx (m, w4, ms,
+ QS_ALLINPUT | QS_ALLPOSTMESSAGE,
+ MWMO_INPUTAVAILABLE);
+
+ switch (wait_ret)
{
+ case WAIT_OBJECT_0:
+ select_printf ("signal received");
+ _my_tls.call_signal_handler ();
+ if (!return_on_signal)
+ continue; /* Emulate linux behavior */
+ cleanup ();
set_sig_errno (EINTR);
- res = select_signalled; /* Cause loop exit in cygwin_select */
- }
- break;
- case WAIT_FAILED:
- system_printf ("WaitForMultipleObjects failed");
- s = &start;
- s->set_select_errno ();
- res = select_error;
- break;
- case WAIT_TIMEOUT:
- select_printf ("timed out");
- res = select_set_zero;
- break;
- case WAIT_OBJECT_0 + 1:
- if (startfds > 1)
- {
+ return -1;
+ case WAIT_OBJECT_0 + 1:
+ if (is_cancelable)
+ {
+ cleanup ();
+ destroy ();
+ pthread::static_cancel_self ();
+ }
+ /* This wasn't a cancel event. It was just a normal object to wait
+ for. */
+ break;
+ case WAIT_FAILED:
cleanup ();
- destroy ();
- pthread::static_cancel_self ();
- /*NOTREACHED*/
+ system_printf ("WaitForMultipleObjects failed");
+ s = &start;
+ s->set_select_errno ();
+ return -1;
+ case WAIT_TIMEOUT:
+ cleanup ();
+ select_printf ("timed out");
+ res = 1;
+ goto out;
}
- /* Fall through. This wasn't a cancel event. It was just a normal object
- to wait for. */
- default:
+
+ select_printf ("woke up. wait_ret %d. verifying", wait_ret);
s = &start;
bool gotone = false;
/* Some types of objects (e.g., consoles) wake up on "inappropriate" events
@@ -423,21 +369,40 @@ next_while:;
while ((s = s->next))
if (s->saw_error ())
{
+ cleanup ();
set_errno (s->saw_error ());
- res = select_error; /* Somebody detected an error */
- goto out;
+ return -1; /* Somebody detected an error */
}
else if ((((wait_ret >= m && s->windows_handle) || s->h == w4[wait_ret]))
&& s->verify (s, readfds, writefds, exceptfds))
gotone = true;
- if (!gotone)
- res = select_loop;
- else
- res = select_ok;
select_printf ("gotone %d", gotone);
- break;
+ if (gotone)
+ {
+ cleanup ();
+ goto out;
+ }
+
+ if (ms == INFINITE)
+ {
+ select_printf ("looping");
+ continue;
+ }
+ select_printf ("recalculating ms");
+
+ LONGLONG now = gtod.msecs ();
+ if (now > (start_time + ms))
+ {
+ cleanup ();
+ select_printf ("timed out after verification");
+ goto out;
+ }
+ ms -= (now - start_time);
+ start_time = now;
+ select_printf ("ms now %u", ms);
}
+
out:
select_printf ("returning %d", res);
return res;
@@ -587,15 +552,11 @@ peek_pipe (select_record *s, bool from_select)
switch (fh->get_major ())
{
case DEV_PTYM_MAJOR:
- {
- fhandler_pty_master *fhm = (fhandler_pty_master *) fh;
- fhm->flush_to_slave ();
- if (fhm->need_nl)
- {
- gotone = s->read_ready = true;
- goto out;
- }
- }
+ if (((fhandler_pty_master *) fh)->need_nl)
+ {
+ gotone = s->read_ready = true;
+ goto out;
+ }
break;
default:
if (fh->get_readahead_valid ())
@@ -1323,7 +1284,7 @@ thread_socket (void *arg)
/ MAXIMUM_WAIT_OBJECTS));
bool event = false;
- select_printf ("stuff_start %p, timeout %u", si->start, timeout);
+ select_printf ("stuff_start %p", si->start);
while (!event)
{
for (select_record *s = si->start; (s = s->next); )
@@ -1332,7 +1293,7 @@ thread_socket (void *arg)
event = true;
if (!event)
for (int i = 0; i < si->num_w4; i += MAXIMUM_WAIT_OBJECTS)
- switch (WaitForMultipleObjects (MIN (si->num_w4 - i,
+ switch (WaitForMultipleObjects (min (si->num_w4 - i,
MAXIMUM_WAIT_OBJECTS),
si->w4 + i, FALSE, timeout))
{
diff --git a/winsup/cygwin/select.h b/winsup/cygwin/select.h
index fe0c206d5..57cd59673 100644
--- a/winsup/cygwin/select.h
+++ b/winsup/cygwin/select.h
@@ -69,15 +69,6 @@ struct select_mailslot_info: public select_info
class select_stuff
{
public:
- enum wait_states
- {
- select_signalled = -3,
- select_loop = -2,
- select_error = -1,
- select_ok = 0,
- select_set_zero = 1
- };
-
~select_stuff ();
bool return_on_signal;
bool always_ready, windows_used;
@@ -91,15 +82,14 @@ public:
bool test_and_set (int i, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds);
int poll (fd_set *readfds, fd_set *writefds, fd_set *exceptfds);
- wait_states wait (fd_set *readfds, fd_set *writefds, fd_set *exceptfds, DWORD ms);
+ int wait (fd_set *readfds, fd_set *writefds, fd_set *exceptfds, DWORD ms);
void cleanup ();
void destroy ();
-
select_stuff (): return_on_signal (false), always_ready (false),
windows_used (false), start (0),
- device_specific_pipe (NULL),
- device_specific_socket (NULL),
- device_specific_serial (NULL),
- device_specific_mailslot (NULL) {}
+ device_specific_pipe (0),
+ device_specific_socket (0),
+ device_specific_serial (0),
+ device_specific_mailslot (0) {}
};
#endif /* _SELECT_H_ */
diff --git a/winsup/cygwin/shared.cc b/winsup/cygwin/shared.cc
index 83402a2c8..7a0b2510b 100644
--- a/winsup/cygwin/shared.cc
+++ b/winsup/cygwin/shared.cc
@@ -377,8 +377,4 @@ memory_init (bool init_cygheap)
shared_info::create (); /* Initialize global shared memory */
user_info::create (false); /* Initialize per-user shared memory */
- /* Initialize tty list session stuff. Doesn't really belong here but
- this needs to be initialized before any tty or console manipulation
- happens and it is a common location. */
- tty_list::init_session ();
}
diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc
index f3a3a3a07..649cda694 100644
--- a/winsup/cygwin/signal.cc
+++ b/winsup/cygwin/signal.cc
@@ -22,11 +22,10 @@ details. */
#include "fhandler.h"
#include "dtable.h"
#include "cygheap.h"
-#include "cygwait.h"
#define _SA_NORESTART 0x8000
-static int sigaction_worker (int, const struct sigaction *, struct sigaction *, bool)
+static int sigaction_worker (int, const struct sigaction *, struct sigaction *, bool, const char *)
__attribute__ ((regparm (3)));
#define sigtrapped(func) ((func) != SIG_IGN && (func) != SIG_DFL)
@@ -120,9 +119,12 @@ clock_nanosleep (clockid_t clk_id, int flags, const struct timespec *rqtp,
syscall_printf ("clock_nanosleep (%ld.%09ld)", rqtp->tv_sec, rqtp->tv_nsec);
- int rc = cancelable_wait (NULL, &timeout, cw_sig_eintr | cw_cancel | cw_cancel_self);
- if (rc == WAIT_SIGNALED)
- res = EINTR;
+ int rc = cancelable_wait (signal_arrived, &timeout);
+ if (rc == WAIT_OBJECT_0)
+ {
+ _my_tls.call_signal_handler ();
+ res = EINTR;
+ }
/* according to POSIX, rmtp is used only if !abstime */
if (rmtp && !abstime)
@@ -223,7 +225,7 @@ handle_sigprocmask (int how, const sigset_t *set, sigset_t *oldset, sigset_t& op
newmask = *set;
break;
}
- set_signal_mask (opmask, newmask);
+ set_signal_mask (newmask, opmask);
}
return 0;
}
@@ -376,7 +378,7 @@ abort (void)
sigset_t sig_mask;
sigfillset (&sig_mask);
sigdelset (&sig_mask, SIGABRT);
- set_signal_mask (_my_tls.sigmask, sig_mask);
+ set_signal_mask (sig_mask, _my_tls.sigmask);
raise (SIGABRT);
_my_tls.call_signal_handler (); /* Call any signal handler */
@@ -387,9 +389,9 @@ abort (void)
do_exit (SIGABRT); /* signal handler didn't exit. Goodbye. */
}
-static int __attribute__ ((regparm (3)))
+static int
sigaction_worker (int sig, const struct sigaction *newact,
- struct sigaction *oldact, bool isinternal)
+ struct sigaction *oldact, bool isinternal, const char *fnname)
{
int res = -1;
myfault efault;
@@ -442,15 +444,14 @@ sigaction_worker (int sig, const struct sigaction *newact,
}
out:
+ syscall_printf ("%R = %s(%d, %p, %p)", res, fnname, sig, newact, oldact);
return res;
}
extern "C" int
sigaction (int sig, const struct sigaction *newact, struct sigaction *oldact)
{
- int res = sigaction_worker (sig, newact, oldact, false);
- syscall_printf ("%R = sigaction(%d, %p, %p)", res, sig, newact, oldact);
- return res;
+ return sigaction_worker (sig, newact, oldact, false, "sigaction");
}
extern "C" int
@@ -517,25 +518,19 @@ sigfillset (sigset_t *set)
extern "C" int
sigsuspend (const sigset_t *set)
{
- int res = handle_sigsuspend (*set);
- syscall_printf ("%R = sigsuspend(%p)", res, set);
- return res;
+ return handle_sigsuspend (*set);
}
extern "C" int
sigpause (int signal_mask)
{
- int res = handle_sigsuspend ((sigset_t) signal_mask);
- syscall_printf ("%R = sigpause(%p)", res, signal_mask);
- return res;
+ return handle_sigsuspend ((sigset_t) signal_mask);
}
extern "C" int
pause (void)
{
- int res = handle_sigsuspend (_my_tls.sigmask);
- syscall_printf ("%R = pause()", res);
- return res;
+ return handle_sigsuspend (_my_tls.sigmask);
}
extern "C" int
@@ -553,9 +548,7 @@ siginterrupt (int sig, int flag)
act.sa_flags &= ~_SA_NORESTART;
act.sa_flags |= SA_RESTART;
}
- int res = sigaction_worker (sig, &act, NULL, true);
- syscall_printf ("%R = siginterrupt(%d, %p)", sig, flag);
- return res;
+ return sigaction_worker (sig, &act, NULL, true, "siginterrupt");
}
extern "C" int
@@ -571,18 +564,21 @@ extern "C" int
sigwaitinfo (const sigset_t *set, siginfo_t *info)
{
pthread_testcancel ();
+ HANDLE h;
+ h = _my_tls.event = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
+ if (!h)
+ {
+ __seterrno ();
+ return -1;
+ }
- myfault efault;
- if (efault.faulted (EFAULT))
- return EFAULT;
-
- set_signal_mask (_my_tls.sigwait_mask, *set);
+ _my_tls.sigwait_mask = *set;
sig_dispatch_pending (true);
int res;
- switch (cancelable_wait (NULL, cw_infinite, cw_sig_eintr | cw_cancel | cw_cancel_self))
+ switch (WaitForSingleObject (h, INFINITE))
{
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0:
if (!sigismember (set, _my_tls.infodata.si_signo))
{
set_errno (EINTR);
@@ -601,6 +597,8 @@ sigwaitinfo (const sigset_t *set, siginfo_t *info)
res = -1;
}
+ _my_tls.event = NULL;
+ CloseHandle (h);
sigproc_printf ("returning signal %d", res);
return res;
}
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index d893fc2d8..73b934b3d 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -43,10 +43,14 @@ int __sp_ln;
char NO_COPY myself_nowait_dummy[1] = {'0'};// Flag to sig_send that signal goes to
// current process but no wait is required
+HANDLE NO_COPY signal_arrived; // Event signaled when a signal has
+ // resulted in a user-specified
+ // function call
#define Static static NO_COPY
-Static HANDLE sig_hold; // Used to stop signal processing
+HANDLE NO_COPY sigCONT; // Used to "STOP" a process
+
Static bool sigheld; // True if holding signals
Static int nprocs; // Number of deceased children
@@ -441,19 +445,10 @@ proc_terminate ()
/* Clean out proc processes from the pid list. */
for (int i = 0; i < nprocs; i++)
{
- /* If we've execed then the execed process will handle setting ppid
- to 1 iff it is a Cygwin process. */
- if (!have_execed || !have_execed_cygwin)
- procs[i]->ppid = 1;
+ procs[i]->ppid = 1;
if (procs[i].wait_thread)
procs[i].wait_thread->terminate_thread ();
- /* Release memory associated with this process unless it is 'myself'.
- 'myself' is only in the procs table when we've execed. We reach
- here when the next process has finished initializing but we still
- can't free the memory used by 'myself' since it is used later on
- during cygwin tear down. */
- if (procs[i] != myself)
- procs[i].release ();
+ procs[i].release ();
}
nprocs = 0;
sync_proc_subproc.release ();
@@ -514,6 +509,17 @@ sig_dispatch_pending (bool fast)
sig_send (myself, fast ? __SIGFLUSHFAST : __SIGFLUSH);
}
+void __stdcall
+create_signal_arrived ()
+{
+ if (signal_arrived)
+ return;
+ /* local event signaled when main thread has been dispatched
+ to a signal handler function. */
+ signal_arrived = CreateEvent (&sec_none_nih, false, false, NULL);
+ ProtectHandle (signal_arrived);
+}
+
/* Signal thread initialization. Called from dll_crt0_1.
This routine starts the signal handling thread. */
void __stdcall
@@ -522,8 +528,7 @@ sigproc_init ()
char char_sa_buf[1024];
PSECURITY_ATTRIBUTES sa = sec_user_nih ((PSECURITY_ATTRIBUTES) char_sa_buf, cygheap->user.sid());
DWORD err = fhandler_pipe::create (sa, &my_readsig, &my_sendsig,
- sizeof (sigpacket), "sigwait",
- PIPE_ADD_PID);
+ sizeof (sigpacket), NULL, 0);
if (err)
{
SetLastError (err);
@@ -567,7 +572,7 @@ sig_send (_pinfo *p, int sig)
return 0;
else if (sig == __SIGNOHOLD || sig == __SIGEXIT)
{
- SetEvent (sig_hold);
+ SetEvent (sigCONT);
sigheld = false;
}
else if (&_my_tls == _main_tls)
@@ -823,8 +828,7 @@ child_info::child_info (unsigned in_cb, child_info_types chtype,
bool need_subproc_ready):
cb (in_cb), intro (PROC_MAGIC_GENERIC), magic (CHILD_INFO_MAGIC),
type (chtype), cygheap (::cygheap), cygheap_max (::cygheap_max),
- flag (0), retry (child_info::retry_count), rd_proc_pipe (NULL),
- wr_proc_pipe (NULL)
+ flag (0), retry (child_info::retry_count)
{
/* It appears that when running under WOW64 on Vista 64, the first DWORD
value in the datastructure lpReserved2 is pointing to (msv_count in
@@ -872,12 +876,14 @@ child_info::child_info (unsigned in_cb, child_info_types chtype,
child_info::~child_info ()
{
- cleanup ();
+ if (subproc_ready)
+ CloseHandle (subproc_ready);
+ if (parent)
+ CloseHandle (parent);
}
child_info_fork::child_info_fork () :
- child_info (sizeof *this, _CH_FORK, true),
- forker_finished (NULL)
+ child_info (sizeof *this, _CH_FORK, true)
{
}
@@ -887,7 +893,7 @@ child_info_spawn::child_info_spawn (child_info_types chtype, bool need_subproc_r
if (type == _CH_EXEC)
{
hExeced = NULL;
- if (my_wr_proc_pipe)
+ if (myself->wr_proc_pipe)
ev = NULL;
else if (!(ev = CreateEvent (&sec_none_nih, false, false, NULL)))
api_fatal ("couldn't create signalling event for exec, %E");
@@ -907,39 +913,6 @@ cygheap_exec_info::alloc ()
}
void
-child_info_spawn::wait_for_myself ()
-{
- postfork (myself);
- myself.remember (false);
- WaitForSingleObject (ev, INFINITE);
-}
-
-void
-child_info::cleanup ()
-{
- if (subproc_ready)
- {
- CloseHandle (subproc_ready);
- subproc_ready = NULL;
- }
- if (parent)
- {
- CloseHandle (parent);
- parent = NULL;
- }
- if (rd_proc_pipe)
- {
- ForceCloseHandle (rd_proc_pipe);
- rd_proc_pipe = NULL;
- }
- if (wr_proc_pipe)
- {
- ForceCloseHandle (wr_proc_pipe);
- wr_proc_pipe = NULL;
- }
-}
-
-void
child_info_spawn::cleanup ()
{
if (moreinfo)
@@ -967,7 +940,6 @@ child_info_spawn::cleanup ()
sync_proc_subproc.release ();
}
type = _CH_NADA;
- child_info::cleanup ();
}
/* Record any non-reaped subprocesses to be passed to about-to-be-execed
@@ -1075,7 +1047,7 @@ child_info::sync (pid_t pid, HANDLE& hProcess, DWORD howlong)
{
res = true;
exit_code = STILL_ACTIVE;
- if (type == _CH_EXEC && my_wr_proc_pipe)
+ if (type == _CH_EXEC && myself->wr_proc_pipe)
{
ForceCloseHandle1 (hProcess, childhProc);
hProcess = NULL;
@@ -1218,7 +1190,7 @@ stopped_or_terminated (waitq *parent_w, _pinfo *child)
int might_match;
waitq *w = parent_w->next;
- sigproc_printf ("considering pid %d, pgid %d, w->pid %d", child->pid, child->pgid, w->pid);
+ sigproc_printf ("considering pid %d", child->pid);
if (w->pid == -1)
might_match = 1;
else if (w->pid == 0)
@@ -1344,7 +1316,7 @@ static void WINAPI
wait_sig (VOID *)
{
_sig_tls = &_my_tls;
- sig_hold = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
+ sigCONT = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
sigproc_printf ("entering ReadFile loop, my_readsig %p, my_sendsig %p",
my_readsig, my_sendsig);
@@ -1354,7 +1326,7 @@ wait_sig (VOID *)
for (;;)
{
if (pack.si.si_signo == __SIGHOLD)
- WaitForSingleObject (sig_hold, INFINITE);
+ WaitForSingleObject (sigCONT, INFINITE);
DWORD nb;
pack.tls = NULL;
if (!ReadFile (my_readsig, &pack, sizeof (pack), &nb, NULL))
diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h
index 06ebd68d8..2900da4cc 100644
--- a/winsup/cygwin/sigproc.h
+++ b/winsup/cygwin/sigproc.h
@@ -11,7 +11,6 @@ details. */
#pragma once
#include <signal.h>
-#include "sync.h"
#ifdef NSIG
enum
@@ -58,9 +57,13 @@ struct sigpacket
int __stdcall process () __attribute__ ((regparm (1)));
};
-void __stdcall sig_dispatch_pending (bool fast = false)
- __attribute__ ((regparm (1)));
-void set_signal_mask (sigset_t&, sigset_t) __attribute__ ((regparm (2)));
+extern HANDLE signal_arrived;
+extern HANDLE sigCONT;
+
+void __stdcall sig_dispatch_pending (bool fast = false);
+#ifdef EXITCODE_SET
+extern "C" void __stdcall set_signal_mask (sigset_t newmask, sigset_t&);
+#endif
int __stdcall handle_sigprocmask (int sig, const sigset_t *set,
sigset_t *oldset, sigset_t& opmask)
__attribute__ ((regparm (3)));
@@ -76,12 +79,40 @@ void __stdcall proc_terminate ();
void __stdcall sigproc_init ();
#ifdef __INSIDE_CYGWIN__
void __stdcall sigproc_terminate (enum exit_states);
+
+static inline DWORD __attribute__ ((always_inline))
+cygwait (HANDLE h, DWORD howlong = INFINITE)
+{
+ HANDLE w4[3];
+ DWORD n = 0;
+ DWORD wait_signal;
+ if ((w4[n] = h) != NULL)
+ wait_signal = WAIT_OBJECT_0 + ++n;
+ else
+ wait_signal = WAIT_OBJECT_0 + 15; /* Arbitrary. Don't call signal
+ handler if only waiting for signal */
+ w4[n++] = signal_arrived;
+ if ((w4[n] = pthread::get_cancel_event ()) != NULL)
+ n++;
+ DWORD res;
+ while ((res = WaitForMultipleObjects (n, w4, FALSE, howlong)) == wait_signal
+ && (_my_tls.call_signal_handler () || &_my_tls != _main_tls))
+ continue;
+ return res;
+}
+
+static inline DWORD __attribute__ ((always_inline))
+cygwait (DWORD wait)
+{
+ return cygwait ((HANDLE) NULL, wait);
+}
#endif
bool __stdcall pid_exists (pid_t) __attribute__ ((regparm(1)));
int __stdcall sig_send (_pinfo *, siginfo_t&, class _cygtls *tls = NULL) __attribute__ ((regparm (3)));
int __stdcall sig_send (_pinfo *, int) __attribute__ ((regparm (2)));
void __stdcall signal_fixup_after_exec ();
void __stdcall sigalloc ();
+void __stdcall create_signal_arrived ();
int kill_pgrp (pid_t, siginfo_t&);
int killsys (pid_t, int);
@@ -90,80 +121,4 @@ extern char myself_nowait_dummy[];
extern struct sigaction *global_sigs;
-class lock_signals
-{
- bool worked;
-public:
- lock_signals ()
- {
- worked = sig_send (NULL, __SIGHOLD) == 0;
- }
- operator int () const
- {
- return worked;
- }
- void dont_bother ()
- {
- worked = false;
- }
- ~lock_signals ()
- {
- if (worked)
- sig_send (NULL, __SIGNOHOLD);
- }
-};
-
-class lock_pthread
-{
- bool bother;
-public:
- lock_pthread (): bother (1)
- {
- pthread::atforkprepare ();
- }
- void dont_bother ()
- {
- bother = false;
- }
- ~lock_pthread ()
- {
- if (bother)
- pthread::atforkparent ();
- }
-};
-
-class hold_everything
-{
- bool ischild;
- /* Note the order of the locks below. It is important,
- to avoid races, that the lock order be preserved.
-
- pthread is first because it serves as a master lock
- against other forks being attempted while this one is active.
-
- signals is next to stop signal processing for the duration
- of the fork.
-
- process is last. If it is put before signals, then a deadlock
- could be introduced if the process attempts to exit due to a signal. */
- lock_pthread pthread;
- lock_signals signals;
- lock_process process;
-
-public:
- hold_everything (bool x = false): ischild (x) {}
- operator int () const {return signals;}
-
- ~hold_everything()
- {
- if (ischild)
- {
- pthread.dont_bother ();
- process.dont_bother ();
- signals.dont_bother ();
- }
- }
-
-};
-
#define myself_nowait ((_pinfo *) myself_nowait_dummy)
diff --git a/winsup/cygwin/smallprint.cc b/winsup/cygwin/smallprint.cc
index fa7706b47..1ca7ca817 100644
--- a/winsup/cygwin/smallprint.cc
+++ b/winsup/cygwin/smallprint.cc
@@ -147,15 +147,15 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap)
continue;
case 'c':
{
- unsigned char c = (va_arg (ap, int) & 0xff);
- if (isprint (c) || pad != '0')
+ int c = va_arg (ap, int);
+ if (c > ' ' && c <= 127)
*dst++ = c;
else
- {
- *dst++ = '0';
- *dst++ = 'x';
- dst = __rn (dst, 16, 0, c, len, pad, LMASK);
- }
+ {
+ *dst++ = '0';
+ *dst++ = 'x';
+ dst = __rn (dst, 16, 0, c, len, pad, LMASK);
+ }
}
break;
case 'C':
@@ -164,7 +164,14 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap)
char buf[4], *c;
sys_wcstombs (buf, 4, &wc, 1);
for (c = buf; *c; ++c)
- *dst++ = *c;
+ if (isprint (*c))
+ *dst++ = *c;
+ else
+ {
+ *dst++ = '0';
+ *dst++ = 'x';
+ dst = __rn (dst, 16, 0, *c, len, pad, LMASK);
+ }
}
case 'E':
strcpy (dst, "Win32 error ");
@@ -438,7 +445,17 @@ __small_vswprintf (PWCHAR dst, const WCHAR *fmt, va_list ap)
continue;
case L'c':
case L'C':
- *dst++ = va_arg (ap, unsigned);
+ {
+ unsigned int c = va_arg (ap, unsigned int);
+ if (c > L' ' && c <= 127)
+ *dst++ = c;
+ else
+ {
+ *dst++ = L'0';
+ *dst++ = L'x';
+ dst = __wrn (dst, 16, 0, c, len, pad, LMASK);
+ }
+ }
break;
case L'E':
wcscpy (dst, L"Win32 error ");
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index 8a82f8a11..f052d350b 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -309,6 +309,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
}
/* FIXME: There is a small race here and FIXME: not thread safe! */
+
pthread_cleanup cleanup;
if (mode == _P_SYSTEM)
{
@@ -334,6 +335,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
bool null_app_name = false;
STARTUPINFOW si = {};
int looped = 0;
+ HANDLE orig_wr_proc_pipe = NULL;
myfault efault;
if (efault.faulted ())
@@ -347,10 +349,10 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
}
child_info_types chtype;
- if (mode == _P_OVERLAY)
- chtype = _CH_EXEC;
- else
+ if (mode != _P_OVERLAY)
chtype = _CH_SPAWN;
+ else
+ chtype = _CH_EXEC;
moreinfo = cygheap_exec_info::alloc ();
@@ -422,10 +424,10 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
moreinfo->argc = newargv.argc;
moreinfo->argv = newargv;
- if (mode != _P_OVERLAY || !real_path.iscygexec ()
- || !DuplicateHandle (GetCurrentProcess (), myself.shared_handle (),
- GetCurrentProcess (), &moreinfo->myself_pinfo,
- 0, TRUE, DUPLICATE_SAME_ACCESS))
+ if (mode != _P_OVERLAY ||
+ !DuplicateHandle (GetCurrentProcess (), myself.shared_handle (),
+ GetCurrentProcess (), &moreinfo->myself_pinfo,
+ 0, TRUE, DUPLICATE_SAME_ACCESS))
moreinfo->myself_pinfo = NULL;
else
VerifyHandle (moreinfo->myself_pinfo);
@@ -453,7 +455,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
c_flags |= CREATE_SEPARATE_WOW_VDM | CREATE_UNICODE_ENVIRONMENT;
- if (wincap.has_program_compatibility_assistant ())
+ if (wincap.has_program_compatibility_assitant ())
{
/* We're adding the CREATE_BREAKAWAY_FROM_JOB flag here to workaround
issues with the "Program Compatibility Assistant (PCA) Service"
@@ -517,6 +519,17 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
myself->sendsig = NULL;
reset_sendsig = true;
}
+ /* Save a copy of a handle to the current process around the first time we
+ exec so that the pid will not be reused. Why did I stop cygwin from
+ generating its own pids again? */
+ if (::cygheap->pid_handle)
+ /* already done previously */;
+ else if (DuplicateHandle (GetCurrentProcess (), GetCurrentProcess (),
+ GetCurrentProcess (), &::cygheap->pid_handle,
+ PROCESS_QUERY_INFORMATION, TRUE, 0))
+ ProtectHandleINH (::cygheap->pid_handle);
+ else
+ system_printf ("duplicate to pid_handle failed, %E");
}
if (null_app_name)
@@ -596,32 +609,10 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
in a console will break native processes running in the background,
because the Ctrl-C event is sent to all processes in the console, unless
they ignore it explicitely. CREATE_NEW_PROCESS_GROUP does that for us. */
- if (!iscygwin () && fhandler_console::exists ()
+ if (!iscygwin () && myself->ctty >= 0 && iscons_dev (myself->ctty)
&& fhandler_console::tc_getpgid () != myself->pgid)
c_flags |= CREATE_NEW_PROCESS_GROUP;
refresh_cygheap ();
-
- if (mode == _P_DETACH)
- /* all set */;
- else if (mode != _P_OVERLAY || !my_wr_proc_pipe)
- prefork ();
- else
- wr_proc_pipe = my_wr_proc_pipe;
-
- /* Don't allow child to inherit these handles if it's not a Cygwin program.
- wr_proc_pipe will be injected later. parent won't be used by the child
- so there is no reason for the child to have it open as it can confuse
- ps into thinking that children of windows processes are all part of
- the same "execed" process.
- FIXME: Someday, make it so that parent is never created when starting
- non-Cygwin processes. */
- if (!iscygwin ())
- {
- SetHandleInformation (wr_proc_pipe, HANDLE_FLAG_INHERIT, 0);
- SetHandleInformation (parent, HANDLE_FLAG_INHERIT, 0);
- }
- parent_winpid = GetCurrentProcessId ();
-
/* When ruid != euid we create the new process under the current original
account and impersonate in child, this way maintaining the different
effective vs. real ids.
@@ -743,14 +734,6 @@ loop:
myself->exec_sendsig = NULL;
}
myself->process_state &= ~PID_NOTCYGWIN;
- /* Reset handle inheritance to default when the execution of a non-Cygwin
- process fails. Only need to do this for _P_OVERLAY since the handle will
- be closed otherwise. Don't need to do this for 'parent' since it will
- be closed in every case. See FIXME above. */
- if (!iscygwin () && mode == _P_OVERLAY)
- SetHandleInformation (wr_proc_pipe, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT);
- if (wr_proc_pipe == my_wr_proc_pipe)
- wr_proc_pipe = NULL; /* We still own it: don't nuke in destructor */
res = -1;
goto out;
}
@@ -770,12 +753,13 @@ loop:
cygpid = myself->pid;
/* We print the original program name here so the user can see that too. */
- syscall_printf ("pid %d, prog_arg %s, cmd line %.9500s)",
+ syscall_printf ("%d = child_info_spawn::worker(%s, %.9500s)",
rc ? cygpid : (unsigned int) -1, prog_arg, one_line.buf);
/* Name the handle similarly to proc_subproc. */
ProtectHandle1 (pi.hProcess, childhProc);
+ bool synced;
pid_t pid;
if (mode == _P_OVERLAY)
{
@@ -784,6 +768,25 @@ loop:
myself.hProcess = hExeced = pi.hProcess;
real_path.get_wide_win32_path (myself->progname); // FIXME: race?
sigproc_printf ("new process name %W", myself->progname);
+ /* If wr_proc_pipe doesn't exist then this process was not started by a cygwin
+ process. So, we need to wait around until the process we've just "execed"
+ dies. Use our own wait facility to wait for our own pid to exit (there
+ is some minor special case code in proc_waiter and friends to accommodate
+ this).
+
+ If wr_proc_pipe exists, then it should be duplicated to the child.
+ If the child has exited already, that's ok. The parent will pick up
+ on this fact when we exit. dup_proc_pipe will close our end of the pipe.
+ Note that wr_proc_pipe may also be == INVALID_HANDLE_VALUE. That will make
+ dup_proc_pipe essentially a no-op. */
+ if (!newargv.win16_exe && myself->wr_proc_pipe)
+ {
+ if (!looped)
+ myself->sync_proc_pipe (); /* Make sure that we own wr_proc_pipe
+ just in case we've been previously
+ execed. */
+ orig_wr_proc_pipe = myself->dup_proc_pipe (pi.hProcess);
+ }
pid = myself->pid;
if (!iscygwin ())
close_all_files ();
@@ -815,7 +818,6 @@ loop:
pi.hProcess, NULL, 0, 0, DUPLICATE_SAME_ACCESS);
child->start_time = time (NULL); /* Register child's starting time. */
child->nice = myself->nice;
- postfork (child);
if (!child.remember (mode == _P_DETACH))
{
/* FIXME: Child in strange state now */
@@ -830,12 +832,6 @@ loop:
/* Start the child running */
if (c_flags & CREATE_SUSPENDED)
{
- /* Inject a non-inheritable wr_proc_pipe handle into child so that we
- can accurately track when the child exits without keeping this
- process waiting around for it to exit. */
- if (!iscygwin ())
- DuplicateHandle (GetCurrentProcess (), wr_proc_pipe, pi.hProcess, NULL,
- 0, false, DUPLICATE_SAME_ACCESS);
ResumeThread (pi.hThread);
if (iscygwin ())
strace.write_childpid (pi.dwProcessId);
@@ -844,13 +840,10 @@ loop:
sigproc_printf ("spawned windows pid %d", pi.dwProcessId);
- bool synced;
if ((mode == _P_DETACH || mode == _P_NOWAIT) && !iscygwin ())
synced = false;
else
- /* Just mark a non-cygwin process as 'synced'. We will still eventually
- wait for it to exit in maybe_set_exit_code_from_windows(). */
- synced = iscygwin () ? sync (pi.dwProcessId, pi.hProcess, INFINITE) : true;
+ synced = sync (pi.dwProcessId, pi.hProcess, INFINITE);
switch (mode)
{
@@ -858,6 +851,11 @@ loop:
myself.hProcess = pi.hProcess;
if (!synced)
{
+ if (orig_wr_proc_pipe)
+ {
+ myself->wr_proc_pipe_owner = GetCurrentProcessId ();
+ myself->wr_proc_pipe = orig_wr_proc_pipe;
+ }
if (!proc_retry (pi.hProcess))
{
looped++;
@@ -868,10 +866,16 @@ loop:
else
{
close_all_files (true);
- if (!my_wr_proc_pipe
+ if (!myself->wr_proc_pipe
&& WaitForSingleObject (pi.hProcess, 0) == WAIT_TIMEOUT)
- wait_for_myself ();
+ {
+ extern bool is_toplevel_proc;
+ is_toplevel_proc = true;
+ myself.remember (false);
+ wait_for_myself ();
+ }
}
+ this->cleanup ();
myself.exit (EXITCODE_NOSET);
break;
case _P_WAIT:
diff --git a/winsup/cygwin/strace.cc b/winsup/cygwin/strace.cc
index 60e56fe5f..49b4c5ab9 100644
--- a/winsup/cygwin/strace.cc
+++ b/winsup/cygwin/strace.cc
@@ -1,7 +1,7 @@
/* strace.cc: system/windows tracing
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -59,6 +59,8 @@ strace::activate (bool isfork)
prntf (1, NULL, "**********************************************");
prntf (1, NULL, "Program name: %W %s", progname, pidbuf);
prntf (1, NULL, "OS version: Windows %s", wincap.osname ());
+ if (cygheap && cygheap->user_heap.chunk)
+ prntf (1, NULL, "Heap size: %u", cygheap->user_heap.chunk);
prntf (1, NULL, "**********************************************");
}
}
diff --git a/winsup/cygwin/strfuncs.cc b/winsup/cygwin/strfuncs.cc
index 22ba4d619..3b532f9e0 100644
--- a/winsup/cygwin/strfuncs.cc
+++ b/winsup/cygwin/strfuncs.cc
@@ -1,7 +1,7 @@
/* strfuncs.cc: misc funcs that don't belong anywhere else
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -11,7 +11,6 @@ details. */
#include "winsup.h"
#include <stdlib.h>
-#include <sys/param.h>
#include <wchar.h>
#include <winnls.h>
#include <ntdll.h>
@@ -239,7 +238,7 @@ __db_mbtowc (struct _reent *r, wchar_t *pwc, const char *s, size_t n, UINT cp,
*pwc = *(unsigned char *) s;
return *s ? 1 : 0;
}
- size_t cnt = MIN (n, 2);
+ size_t cnt = min (n, 2);
ret = MultiByteToWideChar (cp, MB_ERR_INVALID_CHARS, s, cnt, pwc, 1);
if (ret)
return cnt;
@@ -313,7 +312,7 @@ __eucjp_mbtowc (struct _reent *r, wchar_t *pwc, const char *s, size_t n,
ret = 3;
goto jis_x_0212;
}
- size_t cnt = MIN (n, 2);
+ size_t cnt = min (n, 2);
if (MultiByteToWideChar (20932, MB_ERR_INVALID_CHARS, s, cnt, pwc, 1))
return cnt;
if (n == 1)
@@ -393,23 +392,9 @@ __big5_mbtowc (struct _reent *r, wchar_t *pwc, const char *s, size_t n,
sequence in by treating it as an UTF-8 char. If that fails, the ASCII
CAN was probably standalone and it gets just copied over as ASCII CAN.
- - Three cases have to be distinguished for the return value:
-
- - dst == NULL; len is ignored, the return value is the number of bytes
- required for the string without the trailing NUL, just like the return
- value of the wcstombs function.
-
- - dst != NULL, len == (size_t) -1; the return value is the size in bytes
- of the destination string without the trailing NUL. If the incoming
- wide char string was not NUL-terminated, the target string won't be
- NUL-terminated either.
-
- - dst != NULL; len != (size_t) -1; the return value is the size in bytes
- of the destination string without the trailing NUL. The target string
- will be NUL-terminated, no matter what. If the result is truncated due
- to buffer size, it's a bug in Cygwin and the buffer in the calling
- function should be raised.
-*/
+ - The functions always create 0-terminated results, no matter what.
+ If the result is truncated due to buffer size, it's a bug in Cygwin
+ and the buffer in the calling function should be raised. */
size_t __stdcall
sys_cp_wcstombs (wctomb_p f_wctomb, const char *charset, char *dst, size_t len,
const wchar_t *src, size_t nwc)
@@ -487,7 +472,7 @@ sys_cp_wcstombs (wctomb_p f_wctomb, const char *charset, char *dst, size_t len,
else
break;
}
- if (n && dst && len != (size_t) -1)
+ if (n && dst)
{
n = (n < len) ? n : len - 1;
dst[n] = '\0';
diff --git a/winsup/cygwin/sync.h b/winsup/cygwin/sync.h
index c9c5fb595..2215599c8 100644
--- a/winsup/cygwin/sync.h
+++ b/winsup/cygwin/sync.h
@@ -1,7 +1,6 @@
/* sync.h: Header file for cygwin synchronization primitives.
- Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2011, 2012
- Red Hat, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Red Hat, Inc.
This file is part of Cygwin.
@@ -9,8 +8,8 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
-
+#ifndef _SYNC_H
+#define _SYNC_H
/* FIXME: Note that currently this class cannot be allocated via `new' since
there are issues with malloc and fork. */
class muto
@@ -63,3 +62,5 @@ public:
friend class dtable;
friend class fhandler_fifo;
};
+
+#endif /*_SYNC_H*/
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 1b047aaff..21037fa10 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -126,18 +126,6 @@ dup (int fd)
return res;
}
-inline int
-dup_finish (int oldfd, int newfd, int flags)
-{
- int res;
- if ((res = cygheap->fdtab.dup3 (oldfd, newfd, flags | O_EXCL)) == newfd)
- {
- cygheap_fdget (newfd)->inc_refcnt ();
- cygheap->fdtab.unlock (); /* dup3 exits with lock set on success */
- }
- return res;
-}
-
extern "C" int
dup2 (int oldfd, int newfd)
{
@@ -152,8 +140,8 @@ dup2 (int oldfd, int newfd)
cygheap_fdget cfd (oldfd);
res = (cfd >= 0) ? oldfd : -1;
}
- else
- res = dup_finish (oldfd, newfd, 0);
+ else if ((res = cygheap->fdtab.dup3 (oldfd, newfd, 0)) == newfd)
+ cygheap->fdtab[newfd]->refcnt (1);
syscall_printf ("%R = dup2(%d, %d)", res, oldfd, newfd);
return res;
@@ -174,8 +162,8 @@ dup3 (int oldfd, int newfd, int flags)
set_errno (cfd < 0 ? EBADF : EINVAL);
res = -1;
}
- else
- res = dup_finish (oldfd, newfd, flags);
+ else if ((res = cygheap->fdtab.dup3 (oldfd, newfd, flags)) == newfd)
+ cygheap->fdtab[newfd]->refcnt (1);
syscall_printf ("%R = dup3(%d, %d, %p)", res, oldfd, newfd, flags);
return res;
@@ -212,12 +200,7 @@ stop_transaction (NTSTATUS status, HANDLE old_trans, HANDLE trans)
}
static char desktop_ini[] =
- "[.ShellClassInfo]\r\n"
- "CLSID={645FF040-5081-101B-9F08-00AA002F954E}\r\n";
-
-static char desktop_ini_ext[] =
- "LocalizedResourceName=@%SystemRoot%\\system32\\shell32.dll,-8964\r\n";
-
+ "[.ShellClassInfo]\r\nCLSID={645FF040-5081-101B-9F08-00AA002F954E}\r\n";
static BYTE info2[] =
{
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -228,8 +211,7 @@ enum bin_status
{
dont_move,
move_to_bin,
- has_been_moved,
- dir_not_empty
+ has_been_moved
};
static bin_status
@@ -246,9 +228,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
PFILE_NAME_INFORMATION pfni;
PFILE_INTERNAL_INFORMATION pfii;
PFILE_RENAME_INFORMATION pfri;
- ULONG frisiz;
FILE_DISPOSITION_INFORMATION disp = { TRUE };
- bool fs_has_per_user_recycler = pc.fs_is_ntfs () || pc.fs_is_refs ();
tmp_pathbuf tp;
PBYTE infobuf = (PBYTE) tp.w_get ();
@@ -273,8 +253,8 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
RtlInitEmptyUnicodeString (&recycler, recyclerbuf, sizeof recyclerbuf);
if (!pc.isremote ())
{
- if (wincap.has_recycle_dot_bin ()) /* NTFS and FAT since Vista, ReFS */
- RtlAppendUnicodeToString (&recycler, L"\\$RECYCLE.BIN\\");
+ if (wincap.has_recycle_dot_bin ()) /* NTFS and FAT since Vista */
+ RtlAppendUnicodeToString (&recycler, L"\\$Recycle.Bin\\");
else if (pc.fs_is_ntfs ()) /* NTFS up to 2K3 */
RtlAppendUnicodeToString (&recycler, L"\\RECYCLER\\");
else if (pc.fs_is_fat ()) /* FAT up to 2K3 */
@@ -311,10 +291,10 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
recycler.Length -= sizeof (WCHAR);
/* Store length of recycler base dir, if it's necessary to create it. */
recycler_base_len = recycler.Length;
- /* On NTFS or ReFS the recycler dir contains user specific subdirs, which
- are the actual recycle bins per user. The name if this dir is the
- string representation of the user SID. */
- if (fs_has_per_user_recycler)
+ /* On NTFS the recycler dir contains user specific subdirs, which are the
+ actual recycle bins per user. The name if this dir is the string
+ representation of the user SID. */
+ if (pc.fs_is_ntfs ())
{
UNICODE_STRING sid;
WCHAR sidbuf[128];
@@ -341,10 +321,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
pc.fs_flags () & FILE_UNICODE_ON_DISK
? L".\xdc63\xdc79\xdc67" : L".cyg");
pfii = (PFILE_INTERNAL_INFORMATION) infobuf;
- /* Note: Modern Samba versions apparently don't like buffer sizes of more
- than 65535 in some NtQueryInformationFile/NtSetInformationFile calls.
- Therefore we better use exact buffer sizes from now on. */
- status = NtQueryInformationFile (fh, &io, pfii, sizeof *pfii,
+ status = NtQueryInformationFile (fh, &io, pfii, 65536,
FileInternalInformation);
if (!NT_SUCCESS (status))
{
@@ -361,15 +338,12 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
pfri->RootDirectory = pc.isremote () ? NULL : rootdir;
pfri->FileNameLength = recycler.Length;
memcpy (pfri->FileName, recycler.Buffer, recycler.Length);
- frisiz = sizeof *pfri + pfri->FileNameLength - sizeof (WCHAR);
- status = NtSetInformationFile (fh, &io, pfri, frisiz, FileRenameInformation);
+ status = NtSetInformationFile (fh, &io, pfri, 65536, FileRenameInformation);
if (status == STATUS_OBJECT_PATH_NOT_FOUND && !pc.isremote ())
{
/* Ok, so the recycler and/or the recycler/SID directory don't exist.
First reopen root dir with permission to create subdirs. */
NtClose (rootdir);
- InitializeObjectAttributes (&attr, &root, OBJ_CASE_INSENSITIVE,
- NULL, NULL);
status = NtOpenFile (&rootdir, FILE_ADD_SUBDIRECTORY, &attr, &io,
FILE_SHARE_VALID_FLAGS, FILE_OPEN_FOR_BACKUP_INTENT);
if (!NT_SUCCESS (status))
@@ -380,17 +354,14 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
}
/* Then check if recycler exists by opening and potentially creating it.
Yes, we can really do that. Typically the recycle bin is created
- by the first user actually using the bin. Pre-Vista, the permissions
- are the default permissions propagated from the root directory.
- Since Vista the top-level recycle dir has explicit permissions. */
+ by the first user actually using the bin. The permissions are the
+ default permissions propagated from the root directory. */
InitializeObjectAttributes (&attr, &recycler, OBJ_CASE_INSENSITIVE,
- rootdir,
- wincap.has_recycle_dot_bin ()
- ? recycler_sd (true, true) : NULL);
+ rootdir, NULL);
recycler.Length = recycler_base_len;
status = NtCreateFile (&recyclerdir,
READ_CONTROL
- | (fs_has_per_user_recycler ? 0 : FILE_ADD_FILE),
+ | (pc.fs_is_ntfs () ? 0 : FILE_ADD_FILE),
&attr, &io, NULL,
FILE_ATTRIBUTE_DIRECTORY
| FILE_ATTRIBUTE_SYSTEM
@@ -405,12 +376,10 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
}
/* Next, if necessary, check if the recycler/SID dir exists and
create it if not. */
- if (fs_has_per_user_recycler)
+ if (pc.fs_is_ntfs ())
{
NtClose (recyclerdir);
recycler.Length = recycler_user_len;
- InitializeObjectAttributes (&attr, &recycler, OBJ_CASE_INSENSITIVE,
- rootdir, recycler_sd (false, true));
status = NtCreateFile (&recyclerdir, READ_CONTROL | FILE_ADD_FILE,
&attr, &io, NULL, FILE_ATTRIBUTE_DIRECTORY
| FILE_ATTRIBUTE_SYSTEM
@@ -431,7 +400,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
{
RtlInitUnicodeString (&fname, L"desktop.ini");
InitializeObjectAttributes (&attr, &fname, OBJ_CASE_INSENSITIVE,
- recyclerdir, recycler_sd (false, false));
+ recyclerdir, NULL);
status = NtCreateFile (&tmp_fh, FILE_GENERIC_WRITE, &attr, &io, NULL,
FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN,
FILE_SHARE_VALID_FLAGS, FILE_CREATE,
@@ -447,15 +416,6 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
if (!NT_SUCCESS (status))
debug_printf ("NtWriteFile (%S) failed, status = %p",
&fname, status);
- else if (wincap.has_recycle_dot_bin ())
- {
- status = NtWriteFile (tmp_fh, NULL, NULL, NULL, &io,
- desktop_ini_ext,
- sizeof desktop_ini_ext - 1, NULL, NULL);
- if (!NT_SUCCESS (status))
- debug_printf ("NtWriteFile (%S) failed, status = %p",
- &fname, status);
- }
NtClose (tmp_fh);
}
if (!wincap.has_recycle_dot_bin ()) /* No INFO2 file since Vista */
@@ -483,7 +443,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
}
NtClose (recyclerdir);
/* Shoot again. */
- status = NtSetInformationFile (fh, &io, pfri, frisiz,
+ status = NtSetInformationFile (fh, &io, pfri, 65536,
FileRenameInformation);
}
if (!NT_SUCCESS (status))
@@ -499,26 +459,6 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
Otherwise the below code closes the handle to allow replacing the file. */
status = NtSetInformationFile (fh, &io, &disp, sizeof disp,
FileDispositionInformation);
- if (status == STATUS_DIRECTORY_NOT_EMPTY)
- {
- /* Uh oh! This was supposed to be avoided by the check_dir_not_empty
- test in unlink_nt, but given that the test isn't atomic, this *can*
- happen. Try to move the dir back ASAP. */
- pfri->RootDirectory = NULL;
- pfri->FileNameLength = pc.get_nt_native_path ()->Length;
- memcpy (pfri->FileName, pc.get_nt_native_path ()->Buffer,
- pc.get_nt_native_path ()->Length);
- frisiz = sizeof *pfri + pfri->FileNameLength - sizeof (WCHAR);
- if (NT_SUCCESS (NtSetInformationFile (fh, &io, pfri, frisiz,
- FileRenameInformation)))
- {
- /* Give notice to unlink_nt and leave immediately. This avoids
- closing the handle, which might still be used if called from
- the rm -r workaround code. */
- bin_stat = dir_not_empty;
- goto out;
- }
- }
/* In case of success, restore R/O attribute to accommodate hardlinks.
That leaves potentially hardlinks around with the R/O bit suddenly
off if setting the delete disposition failed, but please, keep in
@@ -550,7 +490,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
status);
goto out;
}
- status = NtSetInformationFile (tmp_fh, &io, pfri, frisiz,
+ status = NtSetInformationFile (tmp_fh, &io, pfri, 65536,
FileRenameInformation);
NtClose (tmp_fh);
if (!NT_SUCCESS (status))
@@ -717,45 +657,46 @@ unlink_nt (path_conv &pc)
if a file is already open elsewhere for other purposes than
reading and writing data. */
status = NtOpenFile (&fh, access, &attr, &io, FILE_SHARE_DELETE, flags);
- /* STATUS_SHARING_VIOLATION is what we expect. STATUS_LOCK_NOT_GRANTED can
- be generated under not quite clear circumstances when trying to open a
- file on NFS with FILE_SHARE_DELETE only. This has been observed with
- SFU 3.5 if the NFS share has been mounted under a drive letter. It's
- not generated for all files, but only for some. If it's generated once
- for a file, it will be generated all the time. It looks as if wrong file
- state information is stored within the NFS client which never times out.
- Opening the file with FILE_SHARE_VALID_FLAGS will work, though, and it
- is then possible to delete the file quite normally. */
if (status == STATUS_SHARING_VIOLATION || status == STATUS_LOCK_NOT_GRANTED)
{
- debug_printf ("Sharing violation when opening %S",
- pc.get_nt_native_path ());
- /* We never call try_to_bin on NFS and NetApp for the follwing reasons:
-
- NFS implements its own mechanism to remove in-use files, which looks
- quite similar to what we do in try_to_bin for remote files.
+ /* STATUS_LOCK_NOT_GRANTED can be generated under not quite clear
+ circumstances when trying to open a file on NFS with FILE_SHARE_DELETE
+ only. This has been observed with SFU 3.5 if the NFS share has been
+ mounted under a drive letter. It's not generated for all files, but
+ only for some. If it's generated once for a file, it will be
+ generated all the time. It looks like wrong file state information
+ is stored within the NFS client, for no apparent reason, which never
+ times out. Opening the file with FILE_SHARE_VALID_FLAGS will work,
+ though, and it is then possible to delete the file quite normally.
+
+ NFS implements its own mechanism to remove in-use files which
+ looks quite similar to what we do in try_to_bin for remote files.
+ That's why we don't call try_to_bin on NFS.
Netapp filesystems don't understand the "move and delete" method
at all and have all kinds of weird effects. Just setting the delete
dispositon usually works fine, though. */
+ debug_printf ("Sharing violation when opening %S",
+ pc.get_nt_native_path ());
if (!pc.fs_is_nfs () && !pc.fs_is_netapp ())
bin_stat = move_to_bin;
- /* If the file is not a directory, of if we didn't set the move_to_bin
- flag, just proceed with the FILE_SHARE_VALID_FLAGS set. */
- if (!pc.isdir () || bin_stat == dont_move)
+ if (!pc.isdir () || pc.isremote ())
status = NtOpenFile (&fh, access, &attr, &io,
FILE_SHARE_VALID_FLAGS, flags);
else
{
- /* Otherwise it's getting tricky. The directory is opened in some
- process, so we're supposed to move it to the recycler and mark it
- for deletion. But what if the directory is not empty? The move
+ /* It's getting tricky. The directory is opened in some process,
+ so we're supposed to move it to the recycler and mark it for
+ deletion. But what if the directory is not empty? The move
will work, but the subsequent delete will fail. So we would
- have to move it back. While we do that in try_to_bin, it's bad,
- because the move results in a temporary inconsistent state.
- So, we test first if the directory is empty. If not, we bail
- out with STATUS_DIRECTORY_NOT_EMPTY. This avoids most of the
- problems. */
+ have to move it back. That's bad, because the directory would
+ be moved around which results in a temporary inconsistent state.
+ So, what we do here is to test if the directory is empty. If
+ not, we bail out with STATUS_DIRECTORY_NOT_EMPTY. The below code
+ tests for at least three entries in the directory, ".", "..",
+ and another one. Three entries means, not empty. This doesn't
+ work for the root directory of a drive, but the root dir can
+ neither be deleted, nor moved anyway. */
status = NtOpenFile (&fh, access | FILE_LIST_DIRECTORY | SYNCHRONIZE,
&attr, &io, FILE_SHARE_VALID_FLAGS,
flags | FILE_SYNCHRONOUS_IO_NONALERT);
@@ -789,15 +730,9 @@ unlink_nt (path_conv &pc)
/* Try to move to bin if a sharing violation occured. If that worked,
we're done. */
if (bin_stat == move_to_bin
- && (bin_stat = try_to_bin (pc, fh, access)) >= has_been_moved)
+ && (bin_stat = try_to_bin (pc, fh, access)) == has_been_moved)
{
- if (bin_stat == has_been_moved)
- status = STATUS_SUCCESS;
- else
- {
- status = STATUS_DIRECTORY_NOT_EMPTY;
- NtClose (fh);
- }
+ status = STATUS_SUCCESS;
goto out;
}
@@ -862,7 +797,6 @@ try_again:
bin_stat = try_to_bin (pc, fh, access);
}
}
- /* Do NOT handle bin_stat == dir_not_empty here! */
if (bin_stat == has_been_moved)
status = STATUS_SUCCESS;
else
@@ -874,15 +808,12 @@ try_again:
}
}
}
- else if (status2 != STATUS_OBJECT_PATH_NOT_FOUND
- && status2 != STATUS_OBJECT_NAME_NOT_FOUND)
+ else
{
fh = NULL;
debug_printf ("Opening dir %S for check_dir_not_empty failed, "
"status = %p", pc.get_nt_native_path (), status2);
}
- else /* Directory disappeared between NtClose and NtOpenFile. */
- status = STATUS_SUCCESS;
}
/* Trying to delete a hardlink to a file in use by the system in some
way (for instance, font files) by setting the delete disposition fails
@@ -920,10 +851,8 @@ try_again:
unlinking didn't work. */
if (bin_stat == dont_move)
bin_stat = try_to_bin (pc, fh, access);
- if (bin_stat >= has_been_moved)
- status = bin_stat == has_been_moved
- ? STATUS_SUCCESS
- : STATUS_DIRECTORY_NOT_EMPTY;
+ if (bin_stat == has_been_moved)
+ status = STATUS_SUCCESS;
}
else
NtClose (fh2);
@@ -933,7 +862,7 @@ try_again:
{
if (access & FILE_WRITE_ATTRIBUTES)
{
- /* Restore R/O attribute if setting the delete disposition failed. */
+ /* Restore R/O attribute if setting the delete dispostion failed. */
if (!NT_SUCCESS (status))
NtSetAttributesFile (fh, pc.file_attributes ());
/* If we succeeded, restore R/O attribute to accommodate hardlinks.
@@ -1415,10 +1344,7 @@ lseek64 (int fd, _off64_t pos, int dir)
else
res = -1;
}
- /* Can't use %R here since res is 8 bytes */
- syscall_printf (res == -1 ? "%D = lseek(%d, %D, %d), errno %d"
- : "%D = lseek(%d, %D, %d)",
- res, fd, pos, dir, get_errno ());
+ syscall_printf ("%R = lseek(%d, %D, %d)", res, fd, pos, dir);
return res;
}
@@ -1656,49 +1582,6 @@ stat64_to_stat32 (struct __stat64 *src, struct __stat32 *dst)
dst->st_blocks = src->st_blocks;
}
-static struct __stat64 dev_st;
-static bool dev_st_inited;
-
-void
-fhandler_base::stat_fixup (struct __stat64 *buf)
-{
- /* For devices, set inode number to device number. This gives us a valid,
- unique inode number without having to call hash_path_name. */
- if (!buf->st_ino)
- buf->st_ino = (get_major () == DEV_VIRTFS_MAJOR) ? get_ino ()
- : get_device ();
- /* For /dev-based devices, st_dev must be set to the device number of /dev,
- not it's own device major/minor numbers. What we do here to speed up
- the process is to fetch the device number of /dev only once, liberally
- assuming that /dev doesn't change over the lifetime of a process. */
- if (!buf->st_dev)
- {
- if (dev ().is_dev_resident ())
- {
- if (!dev_st_inited)
- {
- stat64 ("/dev", &dev_st);
- dev_st_inited = true;
- }
- buf->st_dev = dev_st.st_dev;
- }
- else
- buf->st_dev = get_device ();
- }
- /* Only set st_rdev if it's a device. */
- if (!buf->st_rdev && get_major () != DEV_VIRTFS_MAJOR)
- {
- buf->st_rdev = get_device ();
- /* consX, console, conin, and conout point to the same device.
- Make sure the link count is correct. */
- if (buf->st_rdev == (dev_t) myself->ctty && iscons_dev (myself->ctty))
- buf->st_nlink = 4;
- /* CD-ROM drives have two links, /dev/srX and /dev/scdX. */
- else if (gnu_dev_major (buf->st_rdev) == DEV_CDROM_MAJOR)
- buf->st_nlink = 2;
- }
-}
-
extern "C" int
fstat64 (int fd, struct __stat64 *buf)
{
@@ -1712,7 +1595,14 @@ fstat64 (int fd, struct __stat64 *buf)
memset (buf, 0, sizeof (struct __stat64));
res = cfd->fstat (buf);
if (!res)
- cfd->stat_fixup (buf);
+ {
+ if (!buf->st_ino)
+ buf->st_ino = cfd->get_ino ();
+ if (!buf->st_dev)
+ buf->st_dev = cfd->get_device ();
+ if (!buf->st_rdev)
+ buf->st_rdev = buf->st_dev;
+ }
}
syscall_printf ("%R = fstat(%d, %p)", res, fd, buf);
@@ -1851,7 +1741,14 @@ stat_worker (path_conv &pc, struct __stat64 *buf)
memset (buf, 0, sizeof (*buf));
res = fh->fstat (buf);
if (!res)
- fh->stat_fixup (buf);
+ {
+ if (!buf->st_ino)
+ buf->st_ino = fh->get_ino ();
+ if (!buf->st_dev)
+ buf->st_dev = fh->get_device ();
+ if (!buf->st_rdev)
+ buf->st_rdev = buf->st_dev;
+ }
delete fh;
}
else
@@ -2332,7 +2229,7 @@ retry:
{
debug_printf ("status %p", status);
if (status == STATUS_SHARING_VIOLATION
- && cygwait (10L) != WAIT_SIGNALED)
+ && WaitForSingleObject (signal_arrived, 10L) != WAIT_OBJECT_0)
{
/* Typical BLODA problem. Some virus scanners check newly generated
files and while doing that disallow DELETE access. That's really
diff --git a/winsup/cygwin/sysconf.cc b/winsup/cygwin/sysconf.cc
index 1014d4f5a..f5bfe60d1 100644
--- a/winsup/cygwin/sysconf.cc
+++ b/winsup/cygwin/sysconf.cc
@@ -1,7 +1,7 @@
/* sysconf.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -11,7 +11,6 @@ details. */
#include "winsup.h"
#include <unistd.h>
-#include <sys/param.h>
#include <sys/sysinfo.h>
#include "cygerrno.h"
#include "security.h"
@@ -295,7 +294,7 @@ confstr (int in, char *buf, size_t len)
if (csa[in].l && len)
{
buf[0] = 0;
- strncat (buf, csa[in].s, MIN (len, csa[in].l) - 1);
+ strncat (buf, csa[in].s, min (len, csa[in].l) - 1);
}
return csa[in].l;
}
diff --git a/winsup/cygwin/syslog.cc b/winsup/cygwin/syslog.cc
index aeba5a926..6d42f1b00 100644
--- a/winsup/cygwin/syslog.cc
+++ b/winsup/cygwin/syslog.cc
@@ -1,7 +1,7 @@
/* syslog.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2009, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2009, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -10,15 +10,15 @@ Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
#define __INSIDE_CYGWIN_NET__
-#define USE_SYS_TYPES_FD_SET
+
#include "winsup.h"
-#include <ws2tcpip.h>
-#include <iphlpapi.h>
#include <stdlib.h>
#include <stdio.h>
#include <syslog.h>
#include <unistd.h>
#include <sys/un.h>
+#include <netinet/in.h>
+#include <iphlpapi.h>
#include "cygerrno.h"
#include "security.h"
#include "path.h"
diff --git a/winsup/cygwin/termios.cc b/winsup/cygwin/termios.cc
index 0fb0de2ad..309651304 100644
--- a/winsup/cygwin/termios.cc
+++ b/winsup/cygwin/termios.cc
@@ -1,7 +1,7 @@
/* termios.cc: termios for WIN32.
Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
Written by Doug Evans and Steve Chamberlain of Cygnus Support
dje@cygnus.com, sac@cygnus.com
@@ -207,7 +207,7 @@ tcgetpgrp (int fd)
return res;
}
-extern "C" pid_t
+extern "C" int
tcgetsid (int fd)
{
int res;
diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc
index aefab24cd..513b860d1 100644
--- a/winsup/cygwin/thread.cc
+++ b/winsup/cygwin/thread.cc
@@ -32,7 +32,6 @@ details. */
#include "dtable.h"
#include "cygheap.h"
#include "ntdll.h"
-#include "cygwait.h"
extern "C" void __fp_lock_all ();
extern "C" void __fp_unlock_all ();
@@ -432,18 +431,8 @@ pthread::precreate (pthread_attr *newattr)
magic = 0;
return;
}
- /* This mutex MUST be recursive. Consider the following scenario:
- - The thread installs a cleanup handler.
- - The cleanup handler calls a function which itself installs a
- cleanup handler.
- - pthread_cancel is called for this thread.
- - The thread's cleanup handler is called under mutex lock condition.
- - The cleanup handler calls the subsequent function with cleanup handler.
- - The function runs to completion, so it calls pthread_cleanup_pop.
- - pthread_cleanup_pop calls pthread::pop_cleanup_handler which will again
- try to lock the mutex.
- - Deadlock. */
- mutex.set_type (PTHREAD_MUTEX_RECURSIVE);
+ /* Change the mutex type to NORMAL to speed up mutex operations */
+ mutex.set_type (PTHREAD_MUTEX_NORMAL);
if (!create_cancel_event ())
magic = 0;
}
@@ -573,27 +562,10 @@ pthread::cancel ()
CONTEXT context;
context.ContextFlags = CONTEXT_CONTROL;
GetThreadContext (win32_obj_id, &context);
- /* The OS is not foolproof in terms of asynchronous thread cancellation
- and tends to hang infinitely if we change the instruction pointer.
- So just don't cancel asynchronously if the thread is currently
- executing Windows code. Rely on deferred cancellation in this case. */
- if (!cygtls->inside_kernel (&context))
- {
- context.Eip = (DWORD) pthread::static_cancel_self;
- SetThreadContext (win32_obj_id, &context);
- }
+ context.Eip = (DWORD) pthread::static_cancel_self;
+ SetThreadContext (win32_obj_id, &context);
}
mutex.unlock ();
- /* See above. For instance, a thread which waits for a semaphore in sem_wait
- will call cancelable_wait which in turn calls WFMO. While this WFMO call
- is cancelable by setting the thread's cancel_event object, the OS
- apparently refuses to set the thread's context and continues to wait for
- the WFMO conditions. This is *not* reflected in the return value of
- SetThreadContext or ResumeThread, btw.
- So, what we do here is to set the cancel_event as well to allow at least
- a deferred cancel. */
- canceled = true;
- SetEvent (cancel_event);
ResumeThread (win32_obj_id);
return 0;
@@ -938,6 +910,93 @@ pthread::static_cancel_self ()
pthread::self ()->cancel_self ();
}
+DWORD
+cancelable_wait (HANDLE object, PLARGE_INTEGER timeout,
+ const cw_cancel_action cancel_action,
+ const enum cw_sig_wait sig_wait)
+{
+ DWORD res;
+ DWORD num = 0;
+ HANDLE wait_objects[4];
+ pthread_t thread = pthread::self ();
+
+ /* Do not change the wait order.
+ The object must have higher priority than the cancel event,
+ because WaitForMultipleObjects will return the smallest index
+ if both objects are signaled. */
+ wait_objects[num++] = object;
+ DWORD cancel_n;
+ if (cancel_action == cw_no_cancel || !pthread::is_good_object (&thread) ||
+ thread->cancelstate == PTHREAD_CANCEL_DISABLE)
+ cancel_n = WAIT_TIMEOUT + 1;
+ else
+ {
+ cancel_n = WAIT_OBJECT_0 + num++;
+ wait_objects[cancel_n] = thread->cancel_event;
+ }
+
+ DWORD sig_n;
+ if (sig_wait == cw_sig_nosig)
+ sig_n = WAIT_TIMEOUT + 1;
+ else
+ {
+ sig_n = WAIT_OBJECT_0 + num++;
+ wait_objects[sig_n] = signal_arrived;
+ }
+
+ DWORD timeout_n;
+ if (!timeout)
+ timeout_n = WAIT_TIMEOUT + 1;
+ else
+ {
+ timeout_n = WAIT_OBJECT_0 + num++;
+ if (!_my_tls.locals.cw_timer)
+ NtCreateTimer (&_my_tls.locals.cw_timer, TIMER_ALL_ACCESS, NULL,
+ NotificationTimer);
+ NtSetTimer (_my_tls.locals.cw_timer, timeout, NULL, NULL, FALSE, 0, NULL);
+ wait_objects[timeout_n] = _my_tls.locals.cw_timer;
+ }
+
+ while (1)
+ {
+ res = WaitForMultipleObjects (num, wait_objects, FALSE, INFINITE);
+ if (res == cancel_n)
+ {
+ if (cancel_action == cw_cancel_self)
+ pthread::static_cancel_self ();
+ res = WAIT_CANCELED;
+ }
+ else if (res == timeout_n)
+ res = WAIT_TIMEOUT;
+ else if (res != sig_n)
+ /* all set */;
+ else if (sig_wait == cw_sig_eintr)
+ res = WAIT_SIGNALED;
+ else
+ {
+ _my_tls.call_signal_handler ();
+ continue;
+ }
+ break;
+ }
+
+ if (timeout)
+ {
+ const size_t sizeof_tbi = sizeof (TIMER_BASIC_INFORMATION);
+ PTIMER_BASIC_INFORMATION tbi = (PTIMER_BASIC_INFORMATION) malloc (sizeof_tbi);
+
+ NtQueryTimer (_my_tls.locals.cw_timer, TimerBasicInformation, tbi,
+ sizeof_tbi, NULL);
+ /* if timer expired, TimeRemaining is negative and represents the
+ system uptime when signalled */
+ if (timeout->QuadPart < 0LL)
+ timeout->QuadPart = tbi->SignalState ? 0LL : tbi->TimeRemaining.QuadPart;
+ NtCancelTimer (_my_tls.locals.cw_timer, NULL);
+ }
+
+ return res;
+}
+
int
pthread::setcancelstate (int state, int *oldstate)
{
@@ -1014,9 +1073,6 @@ pthread::pop_cleanup_handler (int const execute)
void
pthread::pop_all_cleanup_handlers ()
{
- /* We will no honor cancels since the thread is exiting. */
- cancelstate = PTHREAD_CANCEL_DISABLE;
-
while (cleanup_stack != NULL)
pop_cleanup_handler (1);
}
@@ -1228,7 +1284,7 @@ pthread_cond::wait (pthread_mutex_t mutex, PLARGE_INTEGER timeout)
++mutex->condwaits;
mutex->unlock ();
- rv = cancelable_wait (sem_wait, timeout, cw_cancel | cw_sig_eintr);
+ rv = cancelable_wait (sem_wait, timeout, cw_no_cancel_self, cw_sig_eintr);
mtx_out.lock ();
@@ -1743,8 +1799,7 @@ pthread_mutex::lock ()
else if (type == PTHREAD_MUTEX_NORMAL /* potentially causes deadlock */
|| !pthread::equal (owner, self))
{
- /* FIXME: no cancel? */
- cancelable_wait (win32_obj_id, cw_infinite, cw_sig);
+ cancelable_wait (win32_obj_id, NULL, cw_no_cancel, cw_sig_resume);
set_owner (self);
}
else
@@ -1884,8 +1939,7 @@ pthread_spinlock::lock ()
/* Minimal timeout to minimize CPU usage while still spinning. */
LARGE_INTEGER timeout;
timeout.QuadPart = -10000LL;
- /* FIXME: no cancel? */
- cancelable_wait (win32_obj_id, &timeout, cw_sig);
+ cancelable_wait (win32_obj_id, &timeout, cw_no_cancel, cw_sig_resume);
}
}
while (result == -1);
@@ -1930,7 +1984,6 @@ pthread::thread_init_wrapper (void *arg)
_my_tls.sigmask = thread->parent_sigmask;
thread->mutex.unlock ();
- debug_printf ("tid %p", &_my_tls);
thread_printf ("started thread %p %p %p %p %p %p", arg, &_my_tls.local_clib,
_impure_ptr, thread, thread->function, thread->arg);
@@ -2364,7 +2417,7 @@ pthread::join (pthread_t *thread, void **return_val)
(*thread)->attr.joinable = PTHREAD_CREATE_DETACHED;
(*thread)->mutex.unlock ();
- switch (cancelable_wait ((*thread)->win32_obj_id, cw_infinite, cw_sig | cw_cancel))
+ switch (cancelable_wait ((*thread)->win32_obj_id, NULL, cw_no_cancel_self, cw_sig_resume))
{
case WAIT_OBJECT_0:
if (return_val)
@@ -3015,7 +3068,10 @@ pthread_kill (pthread_t thread, int sig)
if (!thread->valid)
rval = ESRCH;
else if (sig)
- rval = sig_send (NULL, si, thread->cygtls);
+ {
+ thread->cygtls->set_threadkill ();
+ rval = sig_send (NULL, si, thread->cygtls);
+ }
else
switch (WaitForSingleObject (thread->win32_obj_id, 0))
{
@@ -3476,7 +3532,7 @@ semaphore::_timedwait (const struct timespec *abstime)
timeout.QuadPart = abstime->tv_sec * NSPERSEC
+ (abstime->tv_nsec + 99) / 100 + FACTOR;
- switch (cancelable_wait (win32_obj_id, &timeout, cw_cancel | cw_cancel_self | cw_sig_eintr))
+ switch (cancelable_wait (win32_obj_id, &timeout, cw_cancel_self, cw_sig_eintr))
{
case WAIT_OBJECT_0:
currentvalue--;
@@ -3498,7 +3554,7 @@ semaphore::_timedwait (const struct timespec *abstime)
int
semaphore::_wait ()
{
- switch (cancelable_wait (win32_obj_id, cw_infinite, cw_cancel | cw_cancel_self | cw_sig_eintr))
+ switch (cancelable_wait (win32_obj_id, NULL, cw_cancel_self, cw_sig_eintr))
{
case WAIT_OBJECT_0:
currentvalue--;
diff --git a/winsup/cygwin/thread.h b/winsup/cygwin/thread.h
index 141100714..ec3ca7ebf 100644
--- a/winsup/cygwin/thread.h
+++ b/winsup/cygwin/thread.h
@@ -29,7 +29,25 @@ details. */
#include "security.h"
#include <errno.h>
#include "cygerrno.h"
-#include "cygwait.h"
+
+enum cw_sig_wait
+{
+ cw_sig_nosig,
+ cw_sig_eintr,
+ cw_sig_resume
+};
+
+enum cw_cancel_action
+{
+ cw_cancel_self,
+ cw_no_cancel_self,
+ cw_no_cancel
+};
+
+DWORD cancelable_wait (HANDLE, PLARGE_INTEGER timeout = NULL,
+ const cw_cancel_action = cw_cancel_self,
+ const enum cw_sig_wait = cw_sig_nosig)
+ __attribute__ ((regparm (3)));
class fast_mutex
{
@@ -60,7 +78,7 @@ public:
void lock ()
{
if (InterlockedIncrement ((long *) &lock_counter) != 1)
- cancelable_wait (win32_obj_id, cw_infinite, cw_sig);
+ cancelable_wait (win32_obj_id, NULL, cw_no_cancel, cw_sig_resume);
}
void unlock ()
@@ -344,6 +362,9 @@ public:
pthread_spinlock (int);
};
+#define WAIT_CANCELED (WAIT_OBJECT_0 + 1)
+#define WAIT_SIGNALED (WAIT_OBJECT_0 + 2)
+
class _cygtls;
class pthread: public verifyable_object
{
diff --git a/winsup/cygwin/times.cc b/winsup/cygwin/times.cc
index e694d6875..4f4c39c92 100644
--- a/winsup/cygwin/times.cc
+++ b/winsup/cygwin/times.cc
@@ -1,7 +1,7 @@
/* times.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -27,7 +27,17 @@ details. */
#include "cygtls.h"
#include "ntdll.h"
-hires_ms NO_COPY gtod;
+/* Max allowed diversion in 100ns of internal timer from system time. If
+ this difference is exceeded, the internal timer gets re-primed. */
+#define JITTER (40 * 10000LL)
+
+/* TODO: Putting this variable in the shared cygwin region partially solves
+ the problem of cygwin processes not recognizing date changes when other
+ cygwin processes set the date. There is still an additional problem of
+ long-running cygwin processes becoming confused when a non-cygwin process
+ sets the date. Unfortunately, it looks like a minor redesign is required
+ to handle that case. */
+hires_ms gtod __attribute__((section (".cygwin_dll_common"), shared));
hires_ns NO_COPY ntod;
@@ -565,7 +575,16 @@ hires_ms::nsecs ()
{
if (!inited)
prime ();
- return systime_ns ();
+
+ LONGLONG t = systime_ns ();
+ LONGLONG res = initime_ns + timeGetTime_ns ();
+ if (llabs (res - t) > JITTER)
+ {
+ inited = false;
+ prime ();
+ res = initime_ns + timeGetTime_ns ();
+ }
+ return res;
}
extern "C" int
@@ -712,15 +731,10 @@ hires_ms::resolution ()
status = NtQueryTimerResolution (&coarsest, &finest, &actual);
if (NT_SUCCESS (status))
- /* The actual resolution of the OS timer is a system-wide setting which
- can be changed any time, by any process. The only fixed value we
- can rely on is the coarsest value. */
- minperiod = coarsest;
+ minperiod = (DWORD) actual;
else
{
- /* There's no good reason that NtQueryTimerResolution should fail
- at all, but let's play it safe. Try to empirically determine
- current timer resolution */
+ /* Try to empirically determine current timer resolution */
int priority = GetThreadPriority (GetCurrentThread ());
SetThreadPriority (GetCurrentThread (),
THREAD_PRIORITY_TIME_CRITICAL);
@@ -823,7 +837,7 @@ clock_setres (clockid_t clk_id, struct timespec *tp)
__seterrno_from_nt_status (status);
return -1;
}
- minperiod = period;
+ minperiod = actual;
period_set = true;
return 0;
}
diff --git a/winsup/cygwin/tlsoffsets.h b/winsup/cygwin/tlsoffsets.h
index 1ab4559b9..18057742c 100644
--- a/winsup/cygwin/tlsoffsets.h
+++ b/winsup/cygwin/tlsoffsets.h
@@ -1,42 +1,42 @@
//;# autogenerated: Do not edit.
-//; $tls::start_offset = -12700;
-//; $tls::locals = -12700;
-//; $tls::plocals = 0;
-//; $tls::local_clib = -11236;
-//; $tls::plocal_clib = 1464;
-//; $tls::__dontuse = -11236;
-//; $tls::p__dontuse = 1464;
-//; $tls::func = -10148;
-//; $tls::pfunc = 2552;
-//; $tls::saved_errno = -10144;
-//; $tls::psaved_errno = 2556;
-//; $tls::sa_flags = -10140;
-//; $tls::psa_flags = 2560;
-//; $tls::oldmask = -10136;
-//; $tls::poldmask = 2564;
-//; $tls::deltamask = -10132;
-//; $tls::pdeltamask = 2568;
-//; $tls::errno_addr = -10128;
-//; $tls::perrno_addr = 2572;
-//; $tls::sigmask = -10124;
-//; $tls::psigmask = 2576;
-//; $tls::sigwait_mask = -10120;
-//; $tls::psigwait_mask = 2580;
-//; $tls::sigwait_info = -10116;
-//; $tls::psigwait_info = 2584;
-//; $tls::signal_arrived = -10112;
-//; $tls::psignal_arrived = 2588;
-//; $tls::signal_waiting = -10108;
-//; $tls::psignal_waiting = 2592;
-//; $tls::thread_context = -10104;
-//; $tls::pthread_context = 2596;
-//; $tls::thread_id = -9892;
-//; $tls::pthread_id = 2808;
-//; $tls::infodata = -9888;
-//; $tls::pinfodata = 2812;
-//; $tls::tid = -9740;
-//; $tls::ptid = 2960;
+//; $tls::sizeof__cygtls = 4048;
+//; $tls::func = -12700;
+//; $tls::pfunc = 0;
+//; $tls::saved_errno = -12696;
+//; $tls::psaved_errno = 4;
+//; $tls::sa_flags = -12692;
+//; $tls::psa_flags = 8;
+//; $tls::oldmask = -12688;
+//; $tls::poldmask = 12;
+//; $tls::deltamask = -12684;
+//; $tls::pdeltamask = 16;
+//; $tls::event = -12680;
+//; $tls::pevent = 20;
+//; $tls::errno_addr = -12676;
+//; $tls::perrno_addr = 24;
+//; $tls::sigmask = -12672;
+//; $tls::psigmask = 28;
+//; $tls::sigwait_mask = -12668;
+//; $tls::psigwait_mask = 32;
+//; $tls::sigwait_info = -12664;
+//; $tls::psigwait_info = 36;
+//; $tls::thread_context = -12660;
+//; $tls::pthread_context = 40;
+//; $tls::thread_id = -12448;
+//; $tls::pthread_id = 252;
+//; $tls::threadkill = -12444;
+//; $tls::pthreadkill = 256;
+//; $tls::infodata = -12440;
+//; $tls::pinfodata = 260;
+//; $tls::tid = -12292;
+//; $tls::ptid = 408;
+//; $tls::local_clib = -12288;
+//; $tls::plocal_clib = 412;
+//; $tls::__dontuse = -12288;
+//; $tls::p__dontuse = 412;
+//; $tls::locals = -11200;
+//; $tls::plocals = 1500;
//; $tls::_ctinfo = -9736;
//; $tls::p_ctinfo = 2964;
//; $tls::andreas = -9732;
@@ -59,42 +59,42 @@
//; $tls::pinitialized = 4044;
//; __DATA__
-#define tls_locals (-12700)
-#define tls_plocals (0)
-#define tls_local_clib (-11236)
-#define tls_plocal_clib (1464)
-#define tls___dontuse (-11236)
-#define tls_p__dontuse (1464)
-#define tls_func (-10148)
-#define tls_pfunc (2552)
-#define tls_saved_errno (-10144)
-#define tls_psaved_errno (2556)
-#define tls_sa_flags (-10140)
-#define tls_psa_flags (2560)
-#define tls_oldmask (-10136)
-#define tls_poldmask (2564)
-#define tls_deltamask (-10132)
-#define tls_pdeltamask (2568)
-#define tls_errno_addr (-10128)
-#define tls_perrno_addr (2572)
-#define tls_sigmask (-10124)
-#define tls_psigmask (2576)
-#define tls_sigwait_mask (-10120)
-#define tls_psigwait_mask (2580)
-#define tls_sigwait_info (-10116)
-#define tls_psigwait_info (2584)
-#define tls_signal_arrived (-10112)
-#define tls_psignal_arrived (2588)
-#define tls_signal_waiting (-10108)
-#define tls_psignal_waiting (2592)
-#define tls_thread_context (-10104)
-#define tls_pthread_context (2596)
-#define tls_thread_id (-9892)
-#define tls_pthread_id (2808)
-#define tls_infodata (-9888)
-#define tls_pinfodata (2812)
-#define tls_tid (-9740)
-#define tls_ptid (2960)
+#define tls_func (-12700)
+#define tls_pfunc (0)
+#define tls_saved_errno (-12696)
+#define tls_psaved_errno (4)
+#define tls_sa_flags (-12692)
+#define tls_psa_flags (8)
+#define tls_oldmask (-12688)
+#define tls_poldmask (12)
+#define tls_deltamask (-12684)
+#define tls_pdeltamask (16)
+#define tls_event (-12680)
+#define tls_pevent (20)
+#define tls_errno_addr (-12676)
+#define tls_perrno_addr (24)
+#define tls_sigmask (-12672)
+#define tls_psigmask (28)
+#define tls_sigwait_mask (-12668)
+#define tls_psigwait_mask (32)
+#define tls_sigwait_info (-12664)
+#define tls_psigwait_info (36)
+#define tls_thread_context (-12660)
+#define tls_pthread_context (40)
+#define tls_thread_id (-12448)
+#define tls_pthread_id (252)
+#define tls_threadkill (-12444)
+#define tls_pthreadkill (256)
+#define tls_infodata (-12440)
+#define tls_pinfodata (260)
+#define tls_tid (-12292)
+#define tls_ptid (408)
+#define tls_local_clib (-12288)
+#define tls_plocal_clib (412)
+#define tls___dontuse (-12288)
+#define tls_p__dontuse (412)
+#define tls_locals (-11200)
+#define tls_plocals (1500)
#define tls__ctinfo (-9736)
#define tls_p_ctinfo (2964)
#define tls_andreas (-9732)
diff --git a/winsup/cygwin/wait.cc b/winsup/cygwin/wait.cc
index ae0403194..91a76239a 100644
--- a/winsup/cygwin/wait.cc
+++ b/winsup/cygwin/wait.cc
@@ -1,7 +1,7 @@
/* wait.cc: Posix wait routines.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2009, 2011, 2012 Red Hat, Inc.
+ 2005, 2009, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -14,7 +14,6 @@ details. */
#include "sigproc.h"
#include "thread.h"
#include "cygtls.h"
-#include "cygwait.h"
/* This is called _wait and not wait because the real wait is defined
in libc/syscalls/syswait.c. It calls us. */
@@ -80,7 +79,7 @@ wait4 (int intpid, int *status, int options, struct rusage *r)
if ((waitfor = w->ev) == NULL)
goto nochildren;
- res = cancelable_wait (waitfor, cw_infinite, cw_cancel | cw_cancel_self);
+ res = cancelable_wait (waitfor);
sigproc_printf ("%d = cancelable_wait (...)", res);
diff --git a/winsup/cygwin/winbase.h b/winsup/cygwin/winbase.h
index 95fac3045..00c71a923 100644
--- a/winsup/cygwin/winbase.h
+++ b/winsup/cygwin/winbase.h
@@ -1,6 +1,6 @@
/* winbase.h
- Copyright 2002, 2003, 2004, 2008, 2009, 2012 Red Hat, Inc.
+ Copyright 2002, 2003, 2004, 2008 Red Hat, Inc.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
@@ -11,25 +11,10 @@ details. */
#ifndef _WINBASE2_H
#define _WINBASE2_H
-/* For some unknown reason, InterlockedAdd is only supported on Itanium
- when using the Windows headers. Fortunately we're not restricted to the
- Windows headers :) */
-extern __inline__ LONG
-ilockadd (volatile LONG *m, LONG value)
+extern __inline__ long
+ilockincr (volatile long *m)
{
- register LONG __res;
- __asm__ __volatile__ ("\n\
- movl %3,%0\n\
- lock xadd %0,%1\n\
- addl %3,%0\n\
- ": "=&r" (__res), "=m" (*m): "m" (*m), "r" (value): "cc");
- return __res;
-}
-
-extern __inline__ LONG
-ilockincr (volatile LONG *m)
-{
- register LONG __res;
+ register int __res;
__asm__ __volatile__ ("\n\
movl $1,%0\n\
lock xadd %0,%1\n\
@@ -38,10 +23,10 @@ ilockincr (volatile LONG *m)
return __res;
}
-extern __inline__ LONG
-ilockdecr (volatile LONG *m)
+extern __inline__ long
+ilockdecr (volatile long *m)
{
- register LONG __res;
+ register int __res;
__asm__ __volatile__ ("\n\
movl $0xffffffff,%0\n\
lock xadd %0,%1\n\
@@ -50,12 +35,12 @@ ilockdecr (volatile LONG *m)
return __res;
}
-extern __inline__ LONG
-ilockexch (volatile LONG *t, long v)
+extern __inline__ long
+ilockexch (volatile long *t, long v)
{
return
({
- register LONG ret __asm ("%eax");
+ register long ret __asm ("%eax");
__asm __volatile ("\n"
"1: lock cmpxchgl %2, %1\n"
" jne 1b\n"
@@ -66,12 +51,12 @@ ilockexch (volatile LONG *t, long v)
});
}
-extern __inline__ LONG
-ilockcmpexch (volatile LONG *t, LONG v, LONG c)
+extern __inline__ long
+ilockcmpexch (volatile long *t, long v, long c)
{
return
({
- register LONG ret __asm ("%eax");
+ register long ret __asm ("%eax");
__asm __volatile ("lock cmpxchgl %2, %1"
: "=a" (ret), "=m" (*t)
: "r" (v), "m" (*t), "0" (c)
@@ -80,8 +65,6 @@ ilockcmpexch (volatile LONG *t, LONG v, LONG c)
});
}
-#undef InterlockedAdd
-#define InterlockedAdd ilockadd
#undef InterlockedIncrement
#define InterlockedIncrement ilockincr
#undef InterlockedDecrement
@@ -90,9 +73,4 @@ ilockcmpexch (volatile LONG *t, LONG v, LONG c)
#define InterlockedExchange ilockexch
#undef InterlockedCompareExchange
#define InterlockedCompareExchange ilockcmpexch
-#undef InterlockedCompareExchangePointer
-#ifndef __x86_64
-#define InterlockedCompareExchangePointer(d,e,c) \
- (PVOID)InterlockedCompareExchange((LONG volatile *)(d),(LONG)(e),(LONG)(c))
-#endif /* !__x86_64 */
#endif /*_WINBASE2_H*/
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index 48b51c275..6fe172f77 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -37,7 +37,6 @@ wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
@@ -54,7 +53,7 @@ wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:false,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:true,
};
@@ -72,7 +71,6 @@ wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) =
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
@@ -89,7 +87,7 @@ wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) =
has_stack_size_param_is_a_reservation:false,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:true,
};
@@ -107,7 +105,6 @@ wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
@@ -124,7 +121,7 @@ wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:false,
};
@@ -142,7 +139,6 @@ wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:false,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
@@ -159,7 +155,7 @@ wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:false,
};
@@ -177,7 +173,6 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:false,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
@@ -194,7 +189,7 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:false,
};
@@ -212,7 +207,6 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:false,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:true,
has_transactions:false,
@@ -229,7 +223,7 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:false,
wow64_has_secondary_stack:true,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:false,
};
@@ -247,7 +241,6 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:true,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:true,
- has_gaa_largeaddress_bug:true,
supports_all_posix_ai_flags:true,
has_restricted_stack_args:false,
has_transactions:true,
@@ -264,7 +257,7 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:true,
+ has_program_compatibility_assitant:true,
kernel_is_always_casesensitive:false,
};
@@ -282,7 +275,6 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:true,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:true,
- has_gaa_largeaddress_bug:true,
supports_all_posix_ai_flags:true,
has_restricted_stack_args:false,
has_transactions:true,
@@ -299,42 +291,7 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:true,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:true,
- kernel_is_always_casesensitive:false,
-};
-
-wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = {
- max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE,
- is_server:false,
- has_physical_mem_access:false,
- has_create_global_privilege:true,
- has_ioctl_storage_get_media_types_ex:true,
- has_disk_ex_ioctls:true,
- has_buggy_restart_scan:false,
- has_mandatory_integrity_control:true,
- needs_logon_sid_in_sid_list:false,
- needs_count_in_si_lpres2:false,
- has_recycle_dot_bin:true,
- has_gaa_prefixes:true,
- has_gaa_on_link_prefix:true,
- has_gaa_largeaddress_bug:false,
- supports_all_posix_ai_flags:true,
- has_restricted_stack_args:false,
- has_transactions:true,
- has_recvmsg:true,
- has_sendmsg:true,
- has_broken_udf:false,
- has_console_handle_problem:true,
- has_broken_alloc_console:true,
- has_always_all_codepages:true,
- has_localenames:true,
- has_fast_cwd:true,
- has_restricted_raw_disk_access:true,
- use_dont_resolve_hack:false,
- has_stack_size_param_is_a_reservation:true,
- has_console_logon_sid:true,
- wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:true,
+ has_program_compatibility_assitant:true,
kernel_is_always_casesensitive:false,
};
@@ -347,52 +304,69 @@ wincapc::init ()
return; // already initialized
GetSystemInfo (&system_info);
+ memset (&version, 0, sizeof version);
version.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX);
- GetVersionEx (reinterpret_cast<LPOSVERSIONINFO>(&version));
+ if (!GetVersionEx (reinterpret_cast<LPOSVERSIONINFO>(&version)))
+ api_fatal ("Cygwin requires at least Windows 2000.");
- switch (version.dwMajorVersion)
+ switch (version.dwPlatformId)
{
- case 5:
- switch (version.dwMinorVersion)
+ case VER_PLATFORM_WIN32_NT:
+ switch (version.dwMajorVersion)
{
- case 0:
- if (version.wServicePackMajor < 4)
- caps = &wincap_2000;
- else
- caps = &wincap_2000sp4;
+ case 4:
+ /* I'd be very surprised if this code is ever hit, but it doesn't
+ hurt to keep it. */
+ api_fatal ("Cygwin requires at least Windows 2000.");
break;
-
- case 1:
- caps = &wincap_xp;
- switch (version.wServicePackMajor)
+ case 5:
+ switch (version.dwMinorVersion)
{
- case 0:
- caps = &wincap_xp;
- case 1:
- caps = &wincap_xpsp1;
- default:
- caps = &wincap_xpsp2;
- }
- break;
+ case 0:
+ if (version.wServicePackMajor < 4)
+ caps = &wincap_2000;
+ else
+ caps = &wincap_2000sp4;
+ break;
- default:
- caps = &wincap_2003;
- }
- break;
- case 6:
- switch (version.dwMinorVersion)
- {
- case 0:
- caps = &wincap_vista;
+ case 1:
+ caps = &wincap_xp;
+ switch (version.wServicePackMajor)
+ {
+ case 0:
+ caps = &wincap_xp;
+ case 1:
+ caps = &wincap_xpsp1;
+ default:
+ caps = &wincap_xpsp2;
+ }
+ break;
+
+ default:
+ caps = &wincap_2003;
+ }
break;
- case 1:
- caps = &wincap_7;
+ case 6:
+ switch (version.dwMinorVersion)
+ {
+ case 0:
+ caps = &wincap_vista;
+ break;
+ default:
+ caps = &wincap_7;
+ break;
+ }
break;
default:
- caps = &wincap_8;
+ caps = &wincap_minimal;
break;
}
break;
+ case VER_PLATFORM_WIN32_WINDOWS:
+ /* I'd be very surprised if this code is ever hit, but it doesn't
+ hurt to keep it. */
+ api_fatal ("Windows 95/98/Me are not supported.");
+ break;
default:
caps = &wincap_minimal;
break;
@@ -407,7 +381,6 @@ wincapc::init ()
((wincaps *)caps)->needs_count_in_si_lpres2 = false;
((wincaps *)caps)->has_restricted_stack_args = false;
((wincaps *)caps)->wow64_has_secondary_stack = false;
- ((wincaps *)caps)->has_gaa_largeaddress_bug = false;
}
__small_sprintf (osnam, "NT-%d.%d", version.dwMajorVersion,
diff --git a/winsup/cygwin/wincap.h b/winsup/cygwin/wincap.h
index 6bd291dfa..3ca5d87ea 100644
--- a/winsup/cygwin/wincap.h
+++ b/winsup/cygwin/wincap.h
@@ -27,7 +27,6 @@ struct wincaps
unsigned has_recycle_dot_bin : 1;
unsigned has_gaa_prefixes : 1;
unsigned has_gaa_on_link_prefix : 1;
- unsigned has_gaa_largeaddress_bug : 1;
unsigned supports_all_posix_ai_flags : 1;
unsigned has_restricted_stack_args : 1;
unsigned has_transactions : 1;
@@ -44,7 +43,7 @@ struct wincaps
unsigned has_stack_size_param_is_a_reservation : 1;
unsigned has_console_logon_sid : 1;
unsigned wow64_has_secondary_stack : 1;
- unsigned has_program_compatibility_assistant : 1;
+ unsigned has_program_compatibility_assitant : 1;
unsigned kernel_is_always_casesensitive : 1;
};
@@ -81,7 +80,6 @@ public:
bool IMPLEMENT (has_recycle_dot_bin)
bool IMPLEMENT (has_gaa_prefixes)
bool IMPLEMENT (has_gaa_on_link_prefix)
- bool IMPLEMENT (has_gaa_largeaddress_bug)
bool IMPLEMENT (supports_all_posix_ai_flags)
bool IMPLEMENT (has_restricted_stack_args)
bool IMPLEMENT (has_transactions)
@@ -98,7 +96,7 @@ public:
bool IMPLEMENT (has_stack_size_param_is_a_reservation)
bool IMPLEMENT (has_console_logon_sid)
bool IMPLEMENT (wow64_has_secondary_stack)
- bool IMPLEMENT (has_program_compatibility_assistant)
+ bool IMPLEMENT (has_program_compatibility_assitant)
bool IMPLEMENT (kernel_is_always_casesensitive)
#undef IMPLEMENT
diff --git a/winsup/cygwin/winlean.h b/winsup/cygwin/winlean.h
index aa092ee53..d2d7f7a56 100644
--- a/winsup/cygwin/winlean.h
+++ b/winsup/cygwin/winlean.h
@@ -1,6 +1,6 @@
/* winlean.h - Standard "lean" windows include
- Copyright 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -11,85 +11,22 @@ details. */
#ifndef _WINLEAN_H
#define _WINLEAN_H 1
#define WIN32_LEAN_AND_MEAN 1
-
-/* Mingw32 */
#define _WINGDI_H
#define _WINUSER_H
#define _WINNLS_H
#define _WINVER_H
#define _WINNETWK_H
#define _WINSVC_H
-/* Mingw64 */
-#define _WINNLS_
-#define _WINNETWK_
-#define _WINSVC_
-#define _ADVAPI32_
-#define _DSGETDCAPI_
-#define _GDI32_
-#define _KERNEL32_
-#define _OLE32_
-#define _SHELL32_
-#define _SPOOL32_
-#define _USER32_
-#define _WINMM_
-#define WINIMPM
-#define WINSOCK_API_LINKAGE
-#define NTDDI_VERSION 0x6020000 /* Probably should just be derived from our
- _WIN32_WINNT setting in winsup.h */
-
-/* Windows headers define a couple of annoyingly intrusive macros for the
- sole purpose of inline documentation. Since they are defined without
- respect for the namespace and not undef'ed anymore, they tend to collide
- with otherwise innocent definitions in the application. We check if they
- exist and if not, we undef them again after including the Windows headers. */
-#ifndef IN
-#define __undef_IN
-#endif
-#ifndef OUT
-#define __undef_OUT
-#endif
-#ifndef OPTIONAL
-#define __undef_OPTIONAL
-#endif
-#ifndef NOTHING
-#define __undef_NOTHING
-#endif
-#ifndef CRITICAL
-#define __undef_CRITICAL
-#endif
-
#include <windows.h>
#include <wincrypt.h>
#include <lmcons.h>
#include <ntdef.h>
-
-#ifdef __undef_IN
-#undef IN
-#endif
-#ifdef __undef_OUT
-#undef OUT
-#endif
-#ifdef __undef_OPTIONAL
-#undef OPTIONAL
-#endif
-#ifdef __undef_NOTHING
-#undef NOTHING
-#endif
-#ifdef __undef_CRITICAL
-#undef CRITICAL
-#endif
-
#undef _WINGDI_H
#undef _WINUSER_H
#undef _WINNLS_H
#undef _WINVER_H
#undef _WINNETWK_H
#undef _WINSVC_H
-
-#undef _WINNLS_
-#undef _WINNETWK_
-#undef _WINSVC_
-
/* When Terminal Services are installed, the GetWindowsDirectory function
does not return the system installation dir, but a user specific directory
instead. That's not what we have in mind when calling GetWindowsDirectory
diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h
index fd6d6906f..c2f015148 100644
--- a/winsup/cygwin/winsup.h
+++ b/winsup/cygwin/winsup.h
@@ -1,7 +1,7 @@
/* winsup.h: main Cygwin header file.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -9,6 +9,12 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
+#ifdef DEBUGIT
+#define spf(a, b, c) small_printf (a, b, c)
+#else
+#define spf(a, b, c) do {} while (0)
+#endif
+
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
@@ -21,11 +27,7 @@ details. */
#define EXPORT_ALIAS(sym,symalias) extern "C" __typeof (sym) symalias __attribute__ ((alias(#sym)));
-/* Fun, fun, fun. On Mingw64, WINVER is set according to the value of
- _WIN32_WINNT, on Mingw32 it's exactly the opposite... */
-#define _WIN32_WINNT 0x0602
-#define WINVER 0x0602
-
+#define WINVER 0x0601
#define _NO_W32_PSEUDO_MODIFIERS
#include <sys/types.h>
@@ -75,12 +77,8 @@ int fcntl64 (int fd, int cmd, ...);
#define __WIDE(a) L ## a
#define _WIDE(a) __WIDE(a)
-#include "winlean.h"
-
#ifdef __cplusplus
-#include "wincap.h"
-
extern const char case_folded_lower[];
#define cyg_tolower(c) (case_folded_lower[(unsigned char)(c)])
extern const char case_folded_upper[];
@@ -90,6 +88,12 @@ extern const char case_folded_upper[];
#define cfree newlib_cfree_dont_use
#endif
+#include "winlean.h"
+#include "wincap.h"
+
+/* The one function we use from winuser.h most of the time */
+extern "C" DWORD WINAPI GetLastError (void);
+
/* Used as type by sys_wcstombs_alloc and sys_mbstowcs_alloc. For a
description see there. */
#define HEAP_NOTHEAP -1
@@ -161,7 +165,7 @@ void dll_dllcrt0_1 (void *);
/* dynamically loaded dll initialization */
extern "C" int dll_dllcrt0 (HMODULE, per_process *);
-extern "C" void _pei386_runtime_relocator (per_process *);
+void _pei386_runtime_relocator (per_process *);
/* dynamically loaded dll initialization for non-cygwin apps */
extern "C" int dll_noncygwin_dllcrt0 (HMODULE, per_process *);
@@ -294,10 +298,9 @@ extern "C" char _data_start__, _data_end__, _bss_start__, _bss_end__;
extern "C" void (*__CTOR_LIST__) (void);
extern "C" void (*__DTOR_LIST__) (void);
-#ifndef NO_GLOBALS_H
+#if !defined(_GLOBALS_H)
#include "globals.h"
-
-extern inline void clear_procimptoken ()
+inline void clear_procimptoken ()
{
if (hProcImpToken)
{
@@ -306,5 +309,6 @@ extern inline void clear_procimptoken ()
CloseHandle (old_procimp);
}
}
-#endif /*NO_GLOBALS_H*/
+#endif
+
#endif /* defined __cplusplus */
diff --git a/winsup/cygwin/winver.rc b/winsup/cygwin/winver.rc
index 2179f5e51..0e702d0f1 100644
--- a/winsup/cygwin/winver.rc
+++ b/winsup/cygwin/winver.rc
@@ -33,7 +33,7 @@ BEGIN
VALUE "FileDescription", "Cygwin\256 POSIX Emulation DLL"
VALUE "FileVersion", STRINGIFY(CYGWIN_VERSION)
VALUE "InternalName", CYGWIN_DLL_NAME
- VALUE "LegalCopyright", "Copyright \251 Red Hat, Inc. 1996-2012"
+ VALUE "LegalCopyright", "Copyright \251 Red Hat, Inc. 1996-2011"
VALUE "OriginalFilename", CYGWIN_DLL_NAME
VALUE "ProductName", "Cygwin"
VALUE "ProductVersion", STRINGIFY(CYGWIN_VERSION)