~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/cris/include/asm/termios.h

Version: ~ [ linux-5.11 ] ~ [ linux-5.10.17 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.99 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.176 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.221 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.257 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.257 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.85 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _CRIS_TERMIOS_H
  2 #define _CRIS_TERMIOS_H
  3 
  4 #include <uapi/asm/termios.h>
  5 
  6 
  7 /*      intr=^C         quit=^\         erase=del       kill=^U
  8         eof=^D          vtime=\0        vmin=\1         sxtc=\0
  9         start=^Q        stop=^S         susp=^Z         eol=\0
 10         reprint=^R      discard=^U      werase=^W       lnext=^V
 11         eol2=\0
 12 */
 13 #define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
 14 
 15 /*
 16  * Translate a "termio" structure into a "termios". Ugh.
 17  */
 18 #define SET_LOW_TERMIOS_BITS(termios, termio, x) { \
 19         unsigned short __tmp; \
 20         get_user(__tmp,&(termio)->x); \
 21         *(unsigned short *) &(termios)->x = __tmp; \
 22 }
 23 
 24 #define user_termio_to_kernel_termios(termios, termio) \
 25 ({ \
 26         SET_LOW_TERMIOS_BITS(termios, termio, c_iflag); \
 27         SET_LOW_TERMIOS_BITS(termios, termio, c_oflag); \
 28         SET_LOW_TERMIOS_BITS(termios, termio, c_cflag); \
 29         SET_LOW_TERMIOS_BITS(termios, termio, c_lflag); \
 30         copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \
 31 })
 32 
 33 /*
 34  * Translate a "termios" structure into a "termio". Ugh.
 35  */
 36 #define kernel_termios_to_user_termio(termio, termios) \
 37 ({ \
 38         put_user((termios)->c_iflag, &(termio)->c_iflag); \
 39         put_user((termios)->c_oflag, &(termio)->c_oflag); \
 40         put_user((termios)->c_cflag, &(termio)->c_cflag); \
 41         put_user((termios)->c_lflag, &(termio)->c_lflag); \
 42         put_user((termios)->c_line,  &(termio)->c_line); \
 43         copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \
 44 })
 45 
 46 #define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2))
 47 #define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2))
 48 #define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios))
 49 #define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios))
 50 
 51 #endif  /* _CRIS_TERMIOS_H */
 52 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp