UWIN features (contd.)
Support for devices Support for devices
Character and block devices with major and minor numbers Character and block devices with major and minor numbers
Support for direct access to floppy drives (/dev/fd0), and SCSI tape Support for direct access to floppy drives (/dev/fd0), and SCSI tape drives (/dev/mt0), as well as ptys and ttys
drives (/dev/mt0), as well as ptys and ttys
Terminal interface for consoles, sockets, and serial lines:
Terminal interface for consoles, sockets, and serial lines:
The POSIX termios interface is supported for consoles with vt100 The POSIX termios interface is supported for consoles with vt100 emulation
emulation
UWIN supports pseudo-ttys UWIN supports pseudo-ttys
Desktop integration for console windows:
Desktop integration for console windows:
Select text, copy/paste to the clipboard Select text, copy/paste to the clipboard
The /dev/clipboard pseudo-device can be used to redirect command The /dev/clipboard pseudo-device can be used to redirect command input and output to the clipboard
input and output to the clipboard
The /dev/windows pseudo-device can be used within select() to block The /dev/windows pseudo-device can be used within select() to block
UWIN features (contd.) UWIN features (contd.)
UCB sockets based on WINSOCK:
UCB sockets based on WINSOCK:
Sockets are file descriptors and obey file descriptor semantics Sockets are file descriptors and obey file descriptor semantics
Internet domain protocol (AF_INET) and UNIX domain sockets are Internet domain protocol (AF_INET) and UNIX domain sockets are provided
provided
The multicast socket protocol is supported The multicast socket protocol is supported
Pathname mapping from UNIX to Windows:
Pathname mapping from UNIX to Windows:
UNIX style naming for all files with / as the delimiter by creating mounts.
UNIX style naming for all files with / as the delimiter by creating mounts.
Each drive letter in Windows is mounted in a single letter directory Each drive letter in Windows is mounted in a single letter directory name under / so that /a/file is the UWIN name for a:\file.
name under / so that /a/file is the UWIN name for a:\file.
Implicitly mounted directories:
Implicitly mounted directories:
/sys on the system directory, /sys on the system directory,
/win on the windows directory, and /win on the windows directory, and
/msdev on the directory containing the Microsoft tools /msdev on the directory containing the Microsoft tools
Character and block special devices are in /dev Character and block special devices are in /dev
UWIN also supports UNC names for files that begin with //
UWIN also supports UNC names for files that begin with //
UWIN features (contd.) UWIN features (contd.)
UNIX naming conventions:
UNIX naming conventions:
The PATH variable is a : separated list rather than a ; separated list The PATH variable is a : separated list rather than a ; separated list The cc command generates files with a .o suffix by default, etc
The cc command generates files with a .o suffix by default, etc
Mapping UNIX ids/permissions to Windows permissions:
Mapping UNIX ids/permissions to Windows permissions:
Windows subject identifiers are mapped to UNIX user ids and group ids.
Windows subject identifiers are mapped to UNIX user ids and group ids.
UNIX permissions are mapped onto Windows Windows file ACLs.
UNIX permissions are mapped onto Windows Windows file ACLs.
chown() to change the owner and or group of a file.
chown() to change the owner and or group of a file.
File control locking:
File control locking:
UNIX file control advisory locking is supported with deadlock detection.
UNIX file control advisory locking is supported with deadlock detection.
Memory mapping and shared memory and System V IPC:
Memory mapping and shared memory and System V IPC:
mmap(), System V shared memory, semaphores, message passing API mmap(), System V shared memory, semaphores, message passing API
Runtime linking of dynamically linked libraries:
Runtime linking of dynamically linked libraries:
UWIN features (contd.) UWIN features (contd.)
ii-node numbers: -node numbers:
An iAn i-node number is returned when reading a file and when stating a file -node number is returned when reading a file and when stating a file
Hard links Hard links
Hard links are supported on both NTFS and FAT file systems Hard links are supported on both NTFS and FAT file systems
Symbolic links Symbolic links
Symbolic links to files and directories can be created in UWIN and are Symbolic links to files and directories can be created in UWIN and are implemented as Windows shortcuts
implemented as Windows shortcuts
A .lnk suffix will be appended to these file names but will not appear when A .lnk suffix will be appended to these file names but will not appear when reading directories with UWIN
reading directories with UWIN
Shortcuts created by Windows 9x and Windows NT/2k/XP appear as Shortcuts created by Windows 9x and Windows NT/2k/XP appear as symbolic links in UWIN but do not have the .lnk suffix removed.
symbolic links in UWIN but do not have the .lnk suffix removed.
Fifo's Fifo's
Fifo's (UNIX named pipes) can be created with mkfifo() and opened as an Fifo's (UNIX named pipes) can be created with mkfifo() and opened as an ordinary file
ordinary file
UWIN features (contd.) UWIN features (contd.)
Setuid and setgid programs Setuid and setgid programs
Use chmod() to turn on setuid permission for a program.
Use chmod() to turn on setuid permission for a program.
The program must be on an NTFS file system.
The program must be on an NTFS file system.
inet Daemons and commands inet Daemons and commands
UWIN 4.0 comes with the UCB inetd daemon, the telnet daemon, the rlogin UWIN 4.0 comes with the UCB inetd daemon, the telnet daemon, the rlogin daemon, and the rsh daemon.
daemon, and the rsh daemon.
It also includes the telnet, ftp, rsh, and rlogin programs.
It also includes the telnet, ftp, rsh, and rlogin programs.
The ssh daemon and program can be built from the source The ssh daemon and program can be built from the source
Access of Registry through the File System Access of Registry through the File System
UWIN treats the Windows registry as a file system with registry keys treated as UWIN treats the Windows registry as a file system with registry keys treated as files, and keys that have sub-keys treated as directories.
files, and keys that have sub-keys treated as directories.
You can use UWIN tools directly on registry keys. The registry is automatically You can use UWIN tools directly on registry keys. The registry is automatically mounted under /reg during startup.
mounted under /reg during startup.
Cron daemon Cron daemon