The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/i386/linux/linux.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 1994-1996 Søren Schmidt
    3  * All rights reserved.
    4  *
    5  * Redistribution and use in source and binary forms, with or without
    6  * modification, are permitted provided that the following conditions
    7  * are met:
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice, this list of conditions and the following disclaimer 
   10  *    in this position and unchanged.
   11  * 2. Redistributions in binary form must reproduce the above copyright
   12  *    notice, this list of conditions and the following disclaimer in the
   13  *    documentation and/or other materials provided with the distribution.
   14  * 3. The name of the author may not be used to endorse or promote products
   15  *    derived from this software without specific prior written permission
   16  *
   17  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   19  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   20  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
   21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   22  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   23  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   24  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   26  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   27  *
   28  * $FreeBSD$
   29  */
   30 
   31 #ifndef _I386_LINUX_LINUX_H_
   32 #define _I386_LINUX_LINUX_H_
   33 
   34 #include <i386/linux/linux_syscall.h>
   35 
   36 typedef unsigned short linux_uid_t;
   37 typedef unsigned short linux_gid_t;
   38 typedef unsigned short linux_dev_t;
   39 typedef unsigned long linux_ino_t;
   40 typedef unsigned short linux_mode_t;
   41 typedef unsigned short linux_nlink_t;
   42 typedef long linux_time_t;
   43 typedef long linux_clock_t;
   44 typedef char * linux_caddr_t;
   45 typedef long linux_off_t;
   46 typedef struct {
   47         long val[2];
   48 } linux_fsid_t;
   49 typedef int linux_pid_t;
   50 typedef unsigned long linux_sigset_t;
   51 typedef void (*linux_handler_t)(int);
   52 typedef struct {
   53         void (*sa_handler)(int);
   54         linux_sigset_t sa_mask;
   55         unsigned long sa_flags;
   56         void (*sa_restorer)(void);
   57 } linux_sigaction_t;
   58 typedef int linux_key_t;
   59 
   60 typedef struct {
   61         unsigned        long sig[2];
   62 } linux_new_sigset_t;
   63 typedef struct {
   64         void            (*lsa_handler)(int);
   65         unsigned        long lsa_flags;
   66         void            (*lsa_restorer)(void);
   67         linux_new_sigset_t lsa_mask;
   68 } linux_new_sigaction_t;
   69 
   70 typedef unsigned int linux_size_t;
   71 typedef struct {
   72         void    *ss_sp;
   73         int     ss_flags;
   74         linux_size_t ss_size;
   75 } linux_stack_t;
   76 
   77 /*
   78  * The Linux sigcontext, pretty much a standard 386 trapframe.
   79  */
   80 
   81 struct linux_sigcontext {
   82         int     sc_gs;
   83         int     sc_fs;
   84         int     sc_es;
   85         int     sc_ds;
   86         int     sc_edi;
   87         int     sc_esi;
   88         int     sc_ebp;
   89         int     sc_esp;
   90         int     sc_ebx;
   91         int     sc_edx;
   92         int     sc_ecx;
   93         int     sc_eax;
   94         int     sc_trapno;
   95         int     sc_err;
   96         int     sc_eip;
   97         int     sc_cs;
   98         int     sc_eflags;
   99         int     sc_esp_at_signal;
  100         int     sc_ss;
  101         int     sc_387;
  102         int     sc_mask;
  103         int     sc_cr2;
  104 };
  105 
  106 /*
  107  * We make the stack look like Linux expects it when calling a signal
  108  * handler, but use the BSD way of calling the handler and sigreturn().
  109  * This means that we need to pass the pointer to the handler too.
  110  * It is appended to the frame to not interfere with the rest of it.
  111  */
  112 
  113 struct linux_sigframe {
  114         int     sf_sig;
  115         struct  linux_sigcontext sf_sc;
  116         void    (*sf_handler)(int);
  117 };
  118 
  119 extern int bsd_to_linux_signal[];
  120 extern int linux_to_bsd_signal[];
  121 extern char linux_sigcode[];
  122 extern int linux_szsigcode;
  123 extern const char linux_emul_path[];
  124 
  125 extern struct sysent linux_sysent[LINUX_SYS_MAXSYSCALL];
  126 extern struct sysentvec linux_sysvec;
  127 extern struct sysentvec elf_linux_sysvec;
  128 
  129 /* dummy struct definitions */
  130 struct image_params;
  131 struct trapframe;
  132 
  133 /* misc defines */
  134 #define LINUX_NAME_MAX          255
  135 
  136 /* signal numbers */
  137 #define LINUX_SIGHUP             1
  138 #define LINUX_SIGINT             2
  139 #define LINUX_SIGQUIT            3
  140 #define LINUX_SIGILL             4
  141 #define LINUX_SIGTRAP            5
  142 #define LINUX_SIGABRT            6
  143 #define LINUX_SIGIOT             6
  144 #define LINUX_SIGBUS             7
  145 #define LINUX_SIGFPE             8
  146 #define LINUX_SIGKILL            9
  147 #define LINUX_SIGUSR1           10
  148 #define LINUX_SIGSEGV           11
  149 #define LINUX_SIGUSR2           12
  150 #define LINUX_SIGPIPE           13
  151 #define LINUX_SIGALRM           14
  152 #define LINUX_SIGTERM           15
  153 #define LINUX_SIGSTKFLT         16
  154 #define LINUX_SIGCHLD           17
  155 #define LINUX_SIGCONT           18
  156 #define LINUX_SIGSTOP           19
  157 #define LINUX_SIGTSTP           20
  158 #define LINUX_SIGTTIN           21
  159 #define LINUX_SIGTTOU           22
  160 #define LINUX_SIGURG            23
  161 #define LINUX_SIGXCPU           24
  162 #define LINUX_SIGXFSZ           25
  163 #define LINUX_SIGVTALRM         26
  164 #define LINUX_SIGPROF           27
  165 #define LINUX_SIGWINCH          28
  166 #define LINUX_SIGIO             29
  167 #define LINUX_SIGPOLL           LINUX_SIGIO
  168 #define LINUX_SIGPWR            30
  169 #define LINUX_SIGUNUSED         31
  170 #define LINUX_NSIG              32
  171 
  172 /* sigaction flags */
  173 #define LINUX_SA_NOCLDSTOP      0x00000001
  174 #define LINUX_SA_NOCLDWAIT      0x00000002
  175 #define LINUX_SA_SIGINFO        0x00000004
  176 #define LINUX_SA_RESTORER       0x04000000
  177 #define LINUX_SA_ONSTACK        0x08000000
  178 #define LINUX_SA_RESTART        0x10000000
  179 #define LINUX_SA_INTERRUPT      0x20000000
  180 #define LINUX_SA_NOMASK         0x40000000
  181 #define LINUX_SA_ONESHOT        0x80000000
  182 
  183 /* sigprocmask actions */
  184 #define LINUX_SIG_BLOCK         0
  185 #define LINUX_SIG_UNBLOCK       1
  186 #define LINUX_SIG_SETMASK       2
  187 
  188 /* resource limits */
  189 #define LINUX_RLIMIT_CPU        0
  190 #define LINUX_RLIMIT_FSIZE      1
  191 #define LINUX_RLIMIT_DATA       2
  192 #define LINUX_RLIMIT_STACK      3
  193 #define LINUX_RLIMIT_CORE       4
  194 #define LINUX_RLIMIT_RSS        5
  195 #define LINUX_RLIMIT_NPROC      6
  196 #define LINUX_RLIMIT_NOFILE     7
  197 #define LINUX_RLIMIT_MEMLOCK    8
  198 #define LINUX_RLIMIT_AS         9       /* address space limit */
  199 
  200 #define LINUX_RLIM_NLIMITS      10
  201 
  202 /* keyboard defines */
  203 #define LINUX_KIOCSOUND         0x4B2F
  204 #define LINUX_KDMKTONE          0x4B30
  205 #define LINUX_KDGETLED          0x4B31
  206 #define LINUX_KDSETLED          0x4B32
  207 #define LINUX_LED_SCR           0x01
  208 #define LINUX_LED_NUM           0x02
  209 #define LINUX_LED_CAP           0x04
  210 
  211 #define LINUX_KDGKBMODE         0x4B44
  212 #define LINUX_KDSKBMODE         0x4B45
  213 #define LINUX_KDSETMODE         0x4B3A
  214 #define LINUX_KDGETMODE         0x4B3B
  215 #define LINUX_KD_TEXT           0x0
  216 #define LINUX_KD_GRAPHICS       0x1
  217 #define LINUX_KD_TEXT0          0x2
  218 #define LINUX_KD_TEXT1          0x3
  219 
  220 #define LINUX_KBD_RAW           0
  221 #define LINUX_KBD_XLATE         1
  222 #define LINUX_KBD_MEDIUMRAW     2
  223 
  224 /* termio commands */
  225 #define LINUX_TCGETS            0x5401
  226 #define LINUX_TCSETS            0x5402
  227 #define LINUX_TCSETSW           0x5403
  228 #define LINUX_TCSETSF           0x5404
  229 #define LINUX_TCGETA            0x5405
  230 #define LINUX_TCSETA            0x5406
  231 #define LINUX_TCSETAW           0x5407
  232 #define LINUX_TCSETAF           0x5408
  233 #define LINUX_TCSBRK            0x5409
  234 #define LINUX_TCXONC            0x540A
  235 #define LINUX_TCFLSH            0x540B
  236 #define LINUX_TIOCEXCL          0x540C
  237 #define LINUX_TIOCNXCL          0x540D
  238 #define LINUX_TIOCSCTTY         0x540E
  239 #define LINUX_TIOCGPGRP         0x540F
  240 #define LINUX_TIOCSPGRP         0x5410
  241 #define LINUX_TIOCOUTQ          0x5411
  242 #define LINUX_TIOCSTI           0x5412
  243 #define LINUX_TIOCGWINSZ        0x5413
  244 #define LINUX_TIOCSWINSZ        0x5414
  245 #define LINUX_TIOCMGET          0x5415
  246 #define LINUX_TIOCMBIS          0x5416
  247 #define LINUX_TIOCMBIC          0x5417
  248 #define LINUX_TIOCMSET          0x5418
  249 #define LINUX_TIOCGSOFTCAR      0x5419
  250 #define LINUX_TIOCSSOFTCAR      0x541A
  251 #define LINUX_FIONREAD          0x541B
  252 #define LINUX_TIOCINQ           FIONREAD
  253 #define LINUX_TIOCLINUX         0x541C
  254 #define LINUX_TIOCCONS          0x541D
  255 #define LINUX_TIOCGSERIAL       0x541E
  256 #define LINUX_TIOCSSERIAL       0x541F
  257 #define LINUX_TIOCPKT           0x5420
  258 #define LINUX_FIONBIO           0x5421
  259 #define LINUX_TIOCNOTTY         0x5422
  260 #define LINUX_TIOCSETD          0x5423
  261 #define LINUX_TIOCGETD          0x5424
  262 #define LINUX_TCSBRKP           0x5425
  263 #define LINUX_TIOCTTYGSTRUCT    0x5426
  264 #define LINUX_FIONCLEX          0x5450
  265 #define LINUX_FIOCLEX           0x5451
  266 #define LINUX_FIOASYNC          0x5452
  267 #define LINUX_TIOCSERCONFIG     0x5453
  268 #define LINUX_TIOCSERGWILD      0x5454
  269 #define LINUX_TIOCSERSWILD      0x5455
  270 #define LINUX_TIOCGLCKTRMIOS    0x5456
  271 #define LINUX_TIOCSLCKTRMIOS    0x5457
  272 #define LINUX_VT_OPENQRY        0x5600
  273 #define LINUX_VT_GETMODE        0x5601
  274 #define LINUX_VT_SETMODE        0x5602
  275 #define LINUX_VT_GETSTATE       0x5603
  276 #define LINUX_VT_RELDISP        0x5605
  277 #define LINUX_VT_ACTIVATE       0x5606  
  278 #define LINUX_VT_WAITACTIVE     0x5607
  279 
  280 /* arguments for tcflow() and LINUX_TCXONC */
  281 #define LINUX_TCOOFF            0
  282 #define LINUX_TCOON             1
  283 #define LINUX_TCIOFF            2
  284 #define LINUX_TCION             3
  285 
  286 /* arguments for tcflush() and LINUX_TCFLSH */
  287 #define LINUX_TCIFLUSH        0
  288 #define LINUX_TCOFLUSH        1
  289 #define LINUX_TCIOFLUSH       2
  290 
  291 /* line disciplines */
  292 #define LINUX_N_TTY             0
  293 #define LINUX_N_SLIP            1
  294 #define LINUX_N_MOUSE           2
  295 #define LINUX_N_PPP             3
  296 
  297 /* Linux termio c_cc values */
  298 #define LINUX_VINTR             0
  299 #define LINUX_VQUIT             1
  300 #define LINUX_VERASE            2
  301 #define LINUX_VKILL             3
  302 #define LINUX_VEOF              4
  303 #define LINUX_VTIME             5
  304 #define LINUX_VMIN              6
  305 #define LINUX_VSWTC             7
  306 #define LINUX_NCC               8
  307 
  308 /* Linux termios c_cc values */
  309 #define LINUX_VSTART            8
  310 #define LINUX_VSTOP             9
  311 #define LINUX_VSUSP             10
  312 #define LINUX_VEOL              11
  313 #define LINUX_VREPRINT          12
  314 #define LINUX_VDISCARD          13
  315 #define LINUX_VWERASE           14
  316 #define LINUX_VLNEXT            15
  317 #define LINUX_VEOL2             16
  318 #define LINUX_NCCS              19
  319 
  320 #define LINUX_POSIX_VDISABLE    '\0'
  321 
  322 /* Linux c_iflag masks */
  323 #define LINUX_IGNBRK            0x0000001
  324 #define LINUX_BRKINT            0x0000002
  325 #define LINUX_IGNPAR            0x0000004
  326 #define LINUX_PARMRK            0x0000008
  327 #define LINUX_INPCK             0x0000010
  328 #define LINUX_ISTRIP            0x0000020
  329 #define LINUX_INLCR             0x0000040
  330 #define LINUX_IGNCR             0x0000080
  331 #define LINUX_ICRNL             0x0000100
  332 #define LINUX_IUCLC             0x0000200
  333 #define LINUX_IXON              0x0000400
  334 #define LINUX_IXANY             0x0000800
  335 #define LINUX_IXOFF             0x0001000
  336 #define LINUX_IMAXBEL           0x0002000
  337 
  338 /* Linux c_oflag masks */
  339 #define LINUX_OPOST             0x0000001
  340 #define LINUX_OLCUC             0x0000002
  341 #define LINUX_ONLCR             0x0000004
  342 #define LINUX_OCRNL             0x0000008
  343 #define LINUX_ONOCR             0x0000010
  344 #define LINUX_ONLRET            0x0000020
  345 #define LINUX_OFILL             0x0000040
  346 #define LINUX_OFDEL             0x0000080
  347 #define LINUX_NLDLY             0x0000100
  348 
  349 #define LINUX_NL0               0x0000000
  350 #define LINUX_NL1               0x0000100
  351 #define LINUX_CRDLY             0x0000600
  352 #define LINUX_CR0               0x0000000
  353 #define LINUX_CR1               0x0000200
  354 #define LINUX_CR2               0x0000400
  355 #define LINUX_CR3               0x0000600
  356 #define LINUX_TABDLY            0x0001800
  357 #define LINUX_TAB0              0x0000000
  358 #define LINUX_TAB1              0x0000800
  359 #define LINUX_TAB2              0x0001000
  360 #define LINUX_TAB3              0x0001800
  361 #define LINUX_XTABS             0x0001800
  362 #define LINUX_BSDLY             0x0002000
  363 #define LINUX_BS0               0x0000000
  364 #define LINUX_BS1               0x0002000
  365 #define LINUX_VTDLY             0x0004000
  366 #define LINUX_VT0               0x0000000
  367 #define LINUX_VT1               0x0004000
  368 #define LINUX_FFDLY             0x0008000
  369 #define LINUX_FF0               0x0000000
  370 #define LINUX_FF1               0x0008000
  371 
  372 #define LINUX_CBAUD             0x0000100f
  373 #define LINUX_B0                0x00000000
  374 #define LINUX_B50               0x00000001
  375 #define LINUX_B75               0x00000002
  376 #define LINUX_B110              0x00000003
  377 #define LINUX_B134              0x00000004
  378 #define LINUX_B150              0x00000005
  379 #define LINUX_B200              0x00000006
  380 #define LINUX_B300              0x00000007
  381 #define LINUX_B600              0x00000008
  382 #define LINUX_B1200             0x00000009
  383 #define LINUX_B1800             0x0000000a
  384 #define LINUX_B2400             0x0000000b
  385 #define LINUX_B4800             0x0000000c
  386 #define LINUX_B9600             0x0000000d
  387 #define LINUX_B19200            0x0000000e
  388 #define LINUX_B38400            0x0000000f
  389 #define LINUX_EXTA              LINUX_B19200
  390 #define LINUX_EXTB              LINUX_B38400
  391 #define LINUX_CBAUDEX           0x00001000
  392 #define LINUX_B57600            0x00001001
  393 #define LINUX_B115200           0x00001002
  394 
  395 #define LINUX_CSIZE             0x00000030
  396 #define LINUX_CS5               0x00000000
  397 #define LINUX_CS6               0x00000010
  398 #define LINUX_CS7               0x00000020
  399 #define LINUX_CS8               0x00000030
  400 #define LINUX_CSTOPB            0x00000040
  401 #define LINUX_CREAD             0x00000080
  402 #define LINUX_PARENB            0x00000100
  403 #define LINUX_PARODD            0x00000200
  404 #define LINUX_HUPCL             0x00000400
  405 #define LINUX_CLOCAL            0x00000800
  406 #define LINUX_CRTSCTS           0x80000000
  407 
  408 /* Linux c_lflag masks */
  409 #define LINUX_ISIG              0x00000001
  410 #define LINUX_ICANON            0x00000002
  411 #define LINUX_XCASE             0x00000004
  412 #define LINUX_ECHO              0x00000008
  413 #define LINUX_ECHOE             0x00000010
  414 #define LINUX_ECHOK             0x00000020
  415 #define LINUX_ECHONL            0x00000040
  416 #define LINUX_NOFLSH            0x00000080
  417 #define LINUX_TOSTOP            0x00000100
  418 #define LINUX_ECHOCTL           0x00000200
  419 #define LINUX_ECHOPRT           0x00000400
  420 #define LINUX_ECHOKE            0x00000800
  421 #define LINUX_FLUSHO            0x00001000
  422 #define LINUX_PENDIN            0x00002000
  423 #define LINUX_IEXTEN            0x00008000
  424 
  425 /* open/fcntl flags */
  426 #define LINUX_O_RDONLY          00
  427 #define LINUX_O_WRONLY          01
  428 #define LINUX_O_RDWR            02
  429 #define LINUX_O_CREAT           0100
  430 #define LINUX_O_EXCL            0200
  431 #define LINUX_O_NOCTTY          0400
  432 #define LINUX_O_TRUNC           01000
  433 #define LINUX_O_APPEND          02000
  434 #define LINUX_O_NONBLOCK        04000
  435 #define LINUX_O_NDELAY          LINUX_O_NONBLOCK
  436 #define LINUX_O_SYNC            010000
  437 #define LINUX_FASYNC            020000
  438 
  439 /* fcntl flags */
  440 #define LINUX_F_DUPFD           0
  441 #define LINUX_F_GETFD           1
  442 #define LINUX_F_SETFD           2
  443 #define LINUX_F_GETFL           3
  444 #define LINUX_F_SETFL           4
  445 #define LINUX_F_GETLK           5
  446 #define LINUX_F_SETLK           6
  447 #define LINUX_F_SETLKW          7
  448 #define LINUX_F_SETOWN          8
  449 #define LINUX_F_GETOWN          9
  450 
  451 #define LINUX_F_RDLCK           0
  452 #define LINUX_F_WRLCK           1
  453 #define LINUX_F_UNLCK           2
  454 
  455 /* mmap options */
  456 #define LINUX_MAP_SHARED        0x0001
  457 #define LINUX_MAP_PRIVATE       0x0002
  458 #define LINUX_MAP_FIXED         0x0010
  459 #define LINUX_MAP_ANON          0x0020
  460 #define LINUX_MAP_GROWSDOWN     0x0100
  461 
  462 /* SystemV ipc defines */
  463 #define LINUX_SEMOP             1
  464 #define LINUX_SEMGET            2
  465 #define LINUX_SEMCTL            3
  466 #define LINUX_MSGSND            11
  467 #define LINUX_MSGRCV            12
  468 #define LINUX_MSGGET            13
  469 #define LINUX_MSGCTL            14
  470 #define LINUX_SHMAT             21
  471 #define LINUX_SHMDT             22
  472 #define LINUX_SHMGET            23
  473 #define LINUX_SHMCTL            24
  474 
  475 #define LINUX_IPC_RMID          0
  476 #define LINUX_IPC_SET           1
  477 #define LINUX_IPC_STAT          2
  478 #define LINUX_IPC_INFO          3
  479 
  480 #define LINUX_SHM_LOCK          11
  481 #define LINUX_SHM_UNLOCK        12
  482 #define LINUX_SHM_STAT          13
  483 #define LINUX_SHM_INFO          14
  484 
  485 #define LINUX_SHM_RDONLY        0x1000
  486 #define LINUX_SHM_RND           0x2000
  487 #define LINUX_SHM_REMAP         0x4000
  488 
  489 /* semctl Command Definitions. */
  490 #define LINUX_GETPID            11
  491 #define LINUX_GETVAL            12
  492 #define LINUX_GETALL            13
  493 #define LINUX_GETNCNT           14
  494 #define LINUX_GETZCNT           15
  495 #define LINUX_SETVAL            16
  496 #define LINUX_SETALL            17
  497 
  498 /* Socket defines */
  499 #define LINUX_SOCKET            1
  500 #define LINUX_BIND              2
  501 #define LINUX_CONNECT           3
  502 #define LINUX_LISTEN            4
  503 #define LINUX_ACCEPT            5
  504 #define LINUX_GETSOCKNAME       6
  505 #define LINUX_GETPEERNAME       7
  506 #define LINUX_SOCKETPAIR        8
  507 #define LINUX_SEND              9
  508 #define LINUX_RECV              10
  509 #define LINUX_SENDTO            11
  510 #define LINUX_RECVFROM          12
  511 #define LINUX_SHUTDOWN          13
  512 #define LINUX_SETSOCKOPT        14
  513 #define LINUX_GETSOCKOPT        15
  514 #define LINUX_SENDMSG           16
  515 #define LINUX_RECVMSG           17
  516 
  517 #define LINUX_AF_UNSPEC         0
  518 #define LINUX_AF_UNIX           1
  519 #define LINUX_AF_INET           2
  520 #define LINUX_AF_AX25           3
  521 #define LINUX_AF_IPX            4
  522 #define LINUX_AF_APPLETALK      5
  523 
  524 #define LINUX_SOL_SOCKET        1
  525 #define LINUX_SOL_IP            0
  526 #define LINUX_SOL_IPX           256
  527 #define LINUX_SOL_AX25          257
  528 #define LINUX_SOL_TCP           6
  529 #define LINUX_SOL_UDP           17
  530 
  531 #define LINUX_SO_DEBUG          1
  532 #define LINUX_SO_REUSEADDR      2
  533 #define LINUX_SO_TYPE           3
  534 #define LINUX_SO_ERROR          4
  535 #define LINUX_SO_DONTROUTE      5
  536 #define LINUX_SO_BROADCAST      6
  537 #define LINUX_SO_SNDBUF         7
  538 #define LINUX_SO_RCVBUF         8
  539 #define LINUX_SO_KEEPALIVE      9
  540 #define LINUX_SO_OOBINLINE      10
  541 #define LINUX_SO_NO_CHECK       11
  542 #define LINUX_SO_PRIORITY       12
  543 #define LINUX_SO_LINGER         13
  544 
  545 #define LINUX_IP_TOS            1
  546 #define LINUX_IP_TTL            2
  547 #define LINUX_IP_HDRINCL        3
  548 #define LINUX_IP_OPTIONS        4
  549 
  550 #define LINUX_IP_MULTICAST_IF           32
  551 #define LINUX_IP_MULTICAST_TTL          33
  552 #define LINUX_IP_MULTICAST_LOOP         34
  553 #define LINUX_IP_ADD_MEMBERSHIP         35
  554 #define LINUX_IP_DROP_MEMBERSHIP        36
  555 
  556 /* Sound system defines */
  557 #define LINUX_SNDCTL_SEQ_RESET          0x5100
  558 #define LINUX_SNDCTL_SEQ_SYNC           0x5101
  559 #define LINUX_SNDCTL_SYNTH_INFO         0x5102
  560 #define LINUX_SNDCTL_SEQ_CTRLRATE       0x5103
  561 #define LINUX_SNDCTL_SEQ_GETOUTCOUNT    0x5104
  562 #define LINUX_SNDCTL_SEQ_GETINCOUNT     0x5105
  563 #define LINUX_SNDCTL_SEQ_PERCMODE       0x5106
  564 #define LINUX_SNDCTL_FM_LOAD_INSTR      0x5107
  565 #define LINUX_SNDCTL_SEQ_TESTMIDI       0x5108
  566 #define LINUX_SNDCTL_SEQ_RESETSAMPLES   0x5109
  567 #define LINUX_SNDCTL_SEQ_NRSYNTHS       0x510A
  568 #define LINUX_SNDCTL_SEQ_NRMIDIS        0x510B
  569 #define LINUX_SNDCTL_MIDI_INFO          0x510C
  570 #define LINUX_SNDCTL_SEQ_TRESHOLD       0x510D
  571 #define LINUX_SNDCTL_SYNTH_MEMAVL       0x510E
  572 #define LINUX_SNDCTL_DSP_RESET          0x5000
  573 #define LINUX_SNDCTL_DSP_SYNC           0x5001
  574 #define LINUX_SNDCTL_DSP_SPEED          0x5002
  575 #define LINUX_SNDCTL_DSP_STEREO         0x5003
  576 #define LINUX_SNDCTL_DSP_GETBLKSIZE     0x5004
  577 #define LINUX_SNDCTL_DSP_SETBLKSIZE     0x5004
  578 #define LINUX_SNDCTL_DSP_SETFMT         0x5005
  579 #define LINUX_SOUND_PCM_WRITE_CHANNELS  0x5006
  580 #define LINUX_SOUND_PCM_WRITE_FILTER    0x5007
  581 #define LINUX_SNDCTL_DSP_POST           0x5008
  582 #define LINUX_SNDCTL_DSP_SUBDIVIDE      0x5009
  583 #define LINUX_SNDCTL_DSP_SETFRAGMENT    0x500A
  584 #define LINUX_SNDCTL_DSP_GETFMTS        0x500B
  585 #define LINUX_SNDCTL_DSP_GETOSPACE      0x500C
  586 #define LINUX_SNDCTL_DSP_GETISPACE      0x500D
  587 #define LINUX_SNDCTL_DSP_NONBLOCK       0x500E
  588 #define LINUX_SNDCTL_DSP_GETCAPS        0x500F
  589 #define LINUX_SNDCTL_DSP_GETTRIGGER     0x5010
  590 #define LINUX_SNDCTL_DSP_SETTRIGGER     0x5010
  591 #define LINUX_SNDCTL_DSP_GETIPTR        0x5011
  592 #define LINUX_SNDCTL_DSP_GETOPTR        0x5012
  593 #define LINUX_SNDCTL_DSP_GETODELAY      0x5017
  594 #define LINUX_SOUND_MIXER_WRITE_VOLUME  0x4d00
  595 #define LINUX_SOUND_MIXER_WRITE_BASS    0x4d01
  596 #define LINUX_SOUND_MIXER_WRITE_TREBLE  0x4d02
  597 #define LINUX_SOUND_MIXER_WRITE_SYNTH   0x4d03
  598 #define LINUX_SOUND_MIXER_WRITE_PCM     0x4d04
  599 #define LINUX_SOUND_MIXER_WRITE_SPEAKER 0x4d05
  600 #define LINUX_SOUND_MIXER_WRITE_LINE    0x4d06
  601 #define LINUX_SOUND_MIXER_WRITE_MIC     0x4d07
  602 #define LINUX_SOUND_MIXER_WRITE_CD      0x4d08
  603 #define LINUX_SOUND_MIXER_WRITE_IMIX    0x4d09
  604 #define LINUX_SOUND_MIXER_WRITE_ALTPCM  0x4d0A
  605 #define LINUX_SOUND_MIXER_WRITE_RECLEV  0x4d0B
  606 #define LINUX_SOUND_MIXER_WRITE_IGAIN   0x4d0C
  607 #define LINUX_SOUND_MIXER_WRITE_OGAIN   0x4d0D
  608 #define LINUX_SOUND_MIXER_WRITE_LINE1   0x4d0E
  609 #define LINUX_SOUND_MIXER_WRITE_LINE2   0x4d0F
  610 #define LINUX_SOUND_MIXER_WRITE_LINE3   0x4d10
  611 #define LINUX_SOUND_MIXER_READ_DEVMASK  0x4dfe
  612 
  613 
  614 /* Socket system defines */
  615 #define LINUX_FIOSETOWN                 0x8901
  616 #define LINUX_SIOCSPGRP                 0x8902
  617 #define LINUX_FIOGETOWN                 0x8903
  618 #define LINUX_SIOCGPGRP                 0x8904
  619 #define LINUX_SIOCATMARK                0x8905
  620 #define LINUX_SIOCGSTAMP                0x8906
  621 #define LINUX_SIOCGIFCONF               0x8912
  622 #define LINUX_SIOCGIFFLAGS              0x8913
  623 #define LINUX_SIOCGIFADDR               0x8915
  624 #define LINUX_SIOCGIFDSTADDR            0x8917
  625 #define LINUX_SIOCGIFBRDADDR            0x8919
  626 #define LINUX_SIOCGIFNETMASK            0x891b
  627 #define LINUX_SIOCGIFHWADDR             0x8927
  628 #define LINUX_SIOCADDMULTI              0x8931
  629 #define LINUX_SIOCDELMULTI              0x8932
  630 
  631 struct linux_sockaddr
  632 {
  633     unsigned short      sa_family;
  634     char                sa_data[14];
  635 };
  636 
  637 struct linux_ifmap 
  638 {
  639     unsigned long       mem_start;
  640     unsigned long       mem_end;
  641     unsigned short      base_addr; 
  642     unsigned char       irq;
  643     unsigned char       dma;
  644     unsigned char       port;
  645 };
  646 
  647 struct linux_ifreq 
  648 {
  649 #define LINUX_IFHWADDRLEN     6
  650 #define LINUX_IFNAMSIZ        16
  651     union
  652     {
  653         char    ifrn_name[LINUX_IFNAMSIZ];              /* if name, e.g. "en0" */       
  654     } ifr_ifrn;
  655         
  656     union {
  657         struct linux_sockaddr   ifru_addr;
  658         struct linux_sockaddr   ifru_dstaddr;
  659         struct linux_sockaddr   ifru_broadaddr;
  660         struct linux_sockaddr   ifru_netmask;
  661         struct linux_sockaddr   ifru_hwaddr;
  662         short                   ifru_flags;
  663         int                     ifru_metric;
  664         int                     ifru_mtu;
  665         struct linux_ifmap      ifru_map;
  666         char                    ifru_slave[LINUX_IFNAMSIZ];     /* Just fits the size */
  667         caddr_t                 ifru_data;
  668     } ifr_ifru;
  669 };
  670 
  671 #define ifr_name        ifr_ifrn.ifrn_name              /* interface name       */
  672 #define ifr_hwaddr      ifr_ifru.ifru_hwaddr            /* MAC address          */
  673 
  674 
  675 /* serial_struct values for TIOC[GS]SERIAL ioctls */
  676 #define LINUX_ASYNC_CLOSING_WAIT_INF  0
  677 #define LINUX_ASYNC_CLOSING_WAIT_NONE 65535
  678 
  679 #define LINUX_PORT_UNKNOWN    0
  680 #define LINUX_PORT_8250       1
  681 #define LINUX_PORT_16450      2
  682 #define LINUX_PORT_16550      3
  683 #define LINUX_PORT_16550A     4
  684 #define LINUX_PORT_CIRRUS     5
  685 #define LINUX_PORT_16650      6
  686 #define LINUX_PORT_MAX        6
  687 
  688 #define LINUX_ASYNC_HUP_NOTIFY          0x0001
  689 #define LINUX_ASYNC_FOURPORT            0x0002
  690 #define LINUX_ASYNC_SAK                 0x0004
  691 #define LINUX_ASYNC_SPLIT_TERMIOS       0x0008
  692 #define LINUX_ASYNC_SPD_MASK            0x0030
  693 #define LINUX_ASYNC_SPD_HI              0x0010
  694 #define LINUX_ASYNC_SPD_VHI             0x0020
  695 #define LINUX_ASYNC_SPD_CUST            0x0030
  696 #define LINUX_ASYNC_SKIP_TEST           0x0040
  697 #define LINUX_ASYNC_AUTO_IRQ            0x0080
  698 #define LINUX_ASYNC_SESSION_LOCKOUT     0x0100
  699 #define LINUX_ASYNC_PGRP_LOCKOUT        0x0200
  700 #define LINUX_ASYNC_CALLOUT_NOHUP       0x0400
  701 #define LINUX_ASYNC_FLAGS               0x0FFF
  702 
  703 /* cdrom */
  704 #define LINUX_CDROMPAUSE                0x5301 
  705 #define LINUX_CDROMRESUME               0x5302
  706 #define LINUX_CDROMPLAYMSF              0x5303
  707 #define LINUX_CDROMPLAYTRKIND           0x5304
  708 #define LINUX_CDROMREADTOCHDR           0x5305
  709 #define LINUX_CDROMREADTOCENTRY         0x5306
  710 #define LINUX_CDROMSTOP                 0x5307
  711 #define LINUX_CDROMSTART                0x5308
  712 #define LINUX_CDROMEJECT                0x5309
  713 #define LINUX_CDROMVOLCTRL              0x530a
  714 #define LINUX_CDROMSUBCHNL              0x530b
  715 #define LINUX_CDROMREADMODE2            0x530c
  716 #define LINUX_CDROMREADMODE1            0x530d
  717 #define LINUX_CDROMREADAUDIO            0x530e
  718 #define LINUX_CDROMEJECT_SW             0x530f
  719 #define LINUX_CDROMMULTISESSION         0x5310
  720 #define LINUX_CDROM_GET_UPC             0x5311
  721 #define LINUX_CDROMRESET                0x5312
  722 #define LINUX_CDROMVOLREAD              0x5313
  723 #define LINUX_CDROMREADRAW              0x5314
  724 #define LINUX_CDROMREADCOOKED           0x5315
  725 #define LINUX_CDROMSEEK                 0x5316
  726 #define LINUX_CDROMPLAYBLK              0x5317
  727 #define LINUX_CDROMREADALL              0x5318
  728 #define LINUX_CDROMCLOSETRAY            0x5319
  729 #define LINUX_CDROMLOADFROMSLOT         0x531a
  730 
  731 #define LINUX_CDROM_LBA                 0x01
  732 #define LINUX_CDROM_MSF                 0x02
  733 
  734 /* Scheduling policies */
  735 #define LINUX_SCHED_OTHER               0
  736 #define LINUX_SCHED_FIFO                1
  737 #define LINUX_SCHED_RR                  2
  738 
  739 #endif /* !_I386_LINUX_LINUX_H_ */

Cache object: 44f861f142c63a0f676253b461bb1ebe


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.