X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Fld-acess.so_src%2Finclude_exp%2Facess%2Fdevices%2Fpty.h;h=6a18942e16d39a8d30b8f604b575922c1bf377f3;hb=8e1a304d72208ce4f1aa9cd896a0ac1179d162a9;hp=31978f439f7daebfd8f3f355b0acb977a2adcd09;hpb=1c388a6c77f8f04b269051d0e089eaab9e45b391;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/include_exp/acess/devices/pty.h b/Usermode/Libraries/ld-acess.so_src/include_exp/acess/devices/pty.h index 31978f43..6a18942e 100644 --- a/Usermode/Libraries/ld-acess.so_src/include_exp/acess/devices/pty.h +++ b/Usermode/Libraries/ld-acess.so_src/include_exp/acess/devices/pty.h @@ -8,11 +8,16 @@ #ifndef _ACESS_DEVICES_PTY_H_ #define _ACESS_DEVICES_PTY_H_ + #include "../devices.h" -#define PTYIMODE_CANON 0x001 -#define PTYIMODE_ECHO 0x002 -#define PTYIMODE_RAW 0x004 +#define PTYSFLAG_ILOCAL 0x001 //!< Input modes are handled in the server process +#define PTYSFLAG_SMODE 0x002 //!< Inform server of mode changes by the user + +#define PTYIMODE_CANON 0x001 //!< Line-buffered input +#define PTYIMODE_ECHO 0x002 //!< Echo input characters +#define PTYIMODE_RAW 0x004 //!< Disable all input processing +#define PTYIMODE_NLCR 0x008 //!< Translate '\n' to '\r' (for old apps) #define PTYOMODE_BUFFMT 0x003 #define PTYBUFFMT_TEXT 0x000 @@ -20,16 +25,22 @@ #define PTYBUFFMT_2DCMD 0x002 #define PTYBUFFMT_3DCMD 0x003 +/* + * Note: When setting dimensions from a client, it is up to the server what fields are used. + * This is usually dependent on the current output mode. + */ struct ptydims { short W; short H; -}; + short PW; + short PH; +} PACKED; struct ptymode { unsigned int OutputMode; unsigned int InputMode; -}; +} PACKED; enum { @@ -37,6 +48,9 @@ enum PTY_IOCTL_SETMODE, PTY_IOCTL_GETDIMS, PTY_IOCTL_SETDIMS, + PTY_IOCTL_GETID, + PTY_IOCTL_SETID, + PTY_IOCTL_SETPGRP }; #endif