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=d6136b630a9f71abe63fc532dc91cdfa3151253e;hpb=aa2484473e41fade8480379a62e182dda5cfe4af;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 d6136b63..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 { @@ -38,6 +49,8 @@ enum PTY_IOCTL_GETDIMS, PTY_IOCTL_SETDIMS, PTY_IOCTL_GETID, + PTY_IOCTL_SETID, + PTY_IOCTL_SETPGRP }; #endif