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: src/sys/i386/linux/linux.h,v 1.10.2.9 1999/09/05 08:14:11 peter Exp $
   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 /*
   61  * The Linux sigcontext, pretty much a standard 386 trapframe.
   62  */
   63 
   64 struct linux_sigcontext {
   65         int     sc_gs;
   66         int     sc_fs;
   67         int     sc_es;
   68         int     sc_ds;
   69         int     sc_edi;
   70         int     sc_esi;
   71         int     sc_ebp;
   72         int     sc_esp;
   73         int     sc_ebx;
   74         int     sc_edx;
   75         int     sc_ecx;
   76         int     sc_eax;
   77         int     sc_trapno;
   78         int     sc_err;
   79         int     sc_eip;
   80         int     sc_cs;
   81         int     sc_eflags;
   82         int     sc_esp_at_signal;
   83         int     sc_ss;
   84         int     sc_387;
   85         int     sc_mask;
   86         int     sc_cr2;
   87 };
   88 
   89 /*
   90  * We make the stack look like Linux expects it when calling a signal
   91  * handler, but use the BSD way of calling the handler and sigreturn().
   92  * This means that we need to pass the pointer to the handler too.
   93  * It is appended to the frame to not interfere with the rest of it.
   94  */
   95 
   96 struct linux_sigframe {
   97         int     sf_sig;
   98         struct  linux_sigcontext sf_sc;
   99         void    (*sf_handler)(int);
  100 };
  101 
  102 extern int bsd_to_linux_errno[];
  103 extern int bsd_to_linux_signal[];
  104 extern int linux_to_bsd_signal[];
  105 extern char linux_sigcode[];
  106 extern int linux_szsigcode;
  107 extern const char linux_emul_path[];
  108 
  109 extern struct sysent linux_sysent[LINUX_SYS_MAXSYSCALL];
  110 extern struct sysentvec linux_sysvec;
  111 extern struct sysentvec elf_linux_sysvec;
  112 
  113 /* dummy struct definitions */
  114 struct image_params;
  115 struct trapframe;
  116 
  117 /* misc defines */
  118 #define LINUX_NAME_MAX          255
  119 
  120 /* signal numbers */
  121 #define LINUX_SIGHUP             1
  122 #define LINUX_SIGINT             2
  123 #define LINUX_SIGQUIT            3
  124 #define LINUX_SIGILL             4
  125 #define LINUX_SIGTRAP            5
  126 #define LINUX_SIGABRT            6
  127 #define LINUX_SIGIOT             6
  128 #define LINUX_SIGUNUSED          7
  129 #define LINUX_SIGFPE             8
  130 #define LINUX_SIGKILL            9
  131 #define LINUX_SIGUSR1           10
  132 #define LINUX_SIGSEGV           11
  133 #define LINUX_SIGUSR2           12
  134 #define LINUX_SIGPIPE           13
  135 #define LINUX_SIGALRM           14
  136 #define LINUX_SIGTERM           15
  137 #define LINUX_SIGSTKFLT         16
  138 #define LINUX_SIGCHLD           17
  139 #define LINUX_SIGCONT           18
  140 #define LINUX_SIGSTOP           19
  141 #define LINUX_SIGTSTP           20
  142 #define LINUX_SIGTTIN           21
  143 #define LINUX_SIGTTOU           22
  144 #define LINUX_SIGIO             23
  145 #define LINUX_SIGPOLL           LINUX_SIGIO
  146 #define LINUX_SIGURG            LINUX_SIGIO
  147 #define LINUX_SIGXCPU           24
  148 #define LINUX_SIGXFSZ           25
  149 #define LINUX_SIGVTALRM         26
  150 #define LINUX_SIGPROF           27
  151 #define LINUX_SIGWINCH          28
  152 #define LINUX_SIGLOST           29
  153 #define LINUX_SIGPWR            30
  154 #define LINUX_SIGBUS            LINUX_SIGUNUSED
  155 #define LINUX_NSIG              32
  156 
  157 /* sigaction flags */
  158 #define LINUX_SA_NOCLDSTOP      0x00000001
  159 #define LINUX_SA_ONSTACK        0x08000000
  160 #define LINUX_SA_RESTART        0x10000000
  161 #define LINUX_SA_INTERRUPT      0x20000000
  162 #define LINUX_SA_NOMASK         0x40000000
  163 #define LINUX_SA_ONESHOT        0x80000000
  164 
  165 /* sigprocmask actions */
  166 #define LINUX_SIG_BLOCK         0
  167 #define LINUX_SIG_UNBLOCK       1
  168 #define LINUX_SIG_SETMASK       2
  169 
  170 /* keyboard defines */
  171 #define LINUX_KIOCSOUND         0x4B2F
  172 #define LINUX_KDMKTONE          0x4B30
  173 #define LINUX_KDGETLED          0x4B31
  174 #define LINUX_KDSETLED          0x4B32
  175 #define LINUX_LED_SCR           0x01
  176 #define LINUX_LED_NUM           0x02
  177 #define LINUX_LED_CAP           0x04
  178 
  179 #define LINUX_KDGKBMODE         0x4B44
  180 #define LINUX_KDSKBMODE         0x4B45
  181 #define LINUX_KDSETMODE         0x4B3A
  182 #define LINUX_KDGETMODE         0x4B3B
  183 #define LINUX_KD_TEXT           0x0
  184 #define LINUX_KD_GRAPHICS       0x1
  185 #define LINUX_KD_TEXT0          0x2
  186 #define LINUX_KD_TEXT1          0x3
  187 
  188 #define LINUX_KBD_RAW           0
  189 #define LINUX_KBD_XLATE         1
  190 #define LINUX_KBD_MEDIUMRAW     2
  191 
  192 /* termio commands */
  193 #define LINUX_TCGETS            0x5401
  194 #define LINUX_TCSETS            0x5402
  195 #define LINUX_TCSETSW           0x5403
  196 #define LINUX_TCSETSF           0x5404
  197 #define LINUX_TCGETA            0x5405
  198 #define LINUX_TCSETA            0x5406
  199 #define LINUX_TCSETAW           0x5407
  200 #define LINUX_TCSETAF           0x5408
  201 #define LINUX_TCSBRK            0x5409
  202 #define LINUX_TCXONC            0x540A
  203 #define LINUX_TCFLSH            0x540B
  204 #define LINUX_TIOCEXCL          0x540C
  205 #define LINUX_TIOCNXCL          0x540D
  206 #define LINUX_TIOCSCTTY         0x540E
  207 #define LINUX_TIOCGPGRP         0x540F
  208 #define LINUX_TIOCSPGRP         0x5410
  209 #define LINUX_TIOCOUTQ          0x5411
  210 #define LINUX_TIOCSTI           0x5412
  211 #define LINUX_TIOCGWINSZ        0x5413
  212 #define LINUX_TIOCSWINSZ        0x5414
  213 #define LINUX_TIOCMGET          0x5415
  214 #define LINUX_TIOCMBIS          0x5416
  215 #define LINUX_TIOCMBIC          0x5417
  216 #define LINUX_TIOCMSET          0x5418
  217 #define LINUX_TIOCGSOFTCAR      0x5419
  218 #define LINUX_TIOCSSOFTCAR      0x541A
  219 #define LINUX_FIONREAD          0x541B
  220 #define LINUX_TIOCINQ           FIONREAD
  221 #define LINUX_TIOCLINUX         0x541C
  222 #define LINUX_TIOCCONS          0x541D
  223 #define LINUX_TIOCGSERIAL       0x541E
  224 #define LINUX_TIOCSSERIAL       0x541F
  225 #define LINUX_TIOCPKT           0x5420
  226 #define LINUX_FIONBIO           0x5421
  227 #define LINUX_TIOCNOTTY         0x5422
  228 #define LINUX_TIOCSETD          0x5423
  229 #define LINUX_TIOCGETD          0x5424
  230 #define LINUX_TCSBRKP           0x5425
  231 #define LINUX_TIOCTTYGSTRUCT    0x5426
  232 #define LINUX_FIONCLEX          0x5450
  233 #define LINUX_FIOCLEX           0x5451
  234 #define LINUX_FIOASYNC          0x5452
  235 #define LINUX_TIOCSERCONFIG     0x5453
  236 #define LINUX_TIOCSERGWILD      0x5454
  237 #define LINUX_TIOCSERSWILD      0x5455
  238 #define LINUX_TIOCGLCKTRMIOS    0x5456
  239 #define LINUX_TIOCSLCKTRMIOS    0x5457
  240 #define LINUX_VT_OPENQRY        0x5600
  241 #define LINUX_VT_GETMODE        0x5601
  242 #define LINUX_VT_SETMODE        0x5602
  243 #define LINUX_VT_GETSTATE       0x5603
  244 #define LINUX_VT_ACTIVATE       0x5606  
  245 #define LINUX_VT_WAITACTIVE     0x5607
  246 
  247 
  248 
  249 /* arguments for tcflush() and LINUX_TCFLSH */
  250 #define LINUX_TCIFLUSH        0
  251 #define LINUX_TCOFLUSH        1
  252 #define LINUX_TCIOFLUSH       2
  253 
  254 /* line disciplines */
  255 #define LINUX_N_TTY             0
  256 #define LINUX_N_SLIP            1
  257 #define LINUX_N_MOUSE           2
  258 #define LINUX_N_PPP             3
  259 
  260 /* Linux termio c_cc values */
  261 #define LINUX_VINTR             0
  262 #define LINUX_VQUIT             1
  263 #define LINUX_VERASE            2
  264 #define LINUX_VKILL             3
  265 #define LINUX_VEOF              4
  266 #define LINUX_VTIME             5
  267 #define LINUX_VMIN              6
  268 #define LINUX_VSWTC             7
  269 #define LINUX_NCC               8
  270 
  271 /* Linux termios c_cc values */
  272 #define LINUX_VSTART            8
  273 #define LINUX_VSTOP             9
  274 #define LINUX_VSUSP             10
  275 #define LINUX_VEOL              11
  276 #define LINUX_VREPRINT          12
  277 #define LINUX_VDISCARD          13
  278 #define LINUX_VWERASE           14
  279 #define LINUX_VLNEXT            15
  280 #define LINUX_VEOL2             16
  281 #define LINUX_NCCS              19
  282 
  283 #define LINUX_POSIX_VDISABLE    '\0'
  284 
  285 /* Linux c_iflag masks */
  286 #define LINUX_IGNBRK            0x0000001
  287 #define LINUX_BRKINT            0x0000002
  288 #define LINUX_IGNPAR            0x0000004
  289 #define LINUX_PARMRK            0x0000008
  290 #define LINUX_INPCK             0x0000010
  291 #define LINUX_ISTRIP            0x0000020
  292 #define LINUX_INLCR             0x0000040
  293 #define LINUX_IGNCR             0x0000080
  294 #define LINUX_ICRNL             0x0000100
  295 #define LINUX_IUCLC             0x0000200
  296 #define LINUX_IXON              0x0000400
  297 #define LINUX_IXANY             0x0000800
  298 #define LINUX_IXOFF             0x0001000
  299 #define LINUX_IMAXBEL           0x0002000
  300 
  301 /* Linux c_oflag masks */
  302 #define LINUX_OPOST             0x0000001
  303 #define LINUX_OLCUC             0x0000002
  304 #define LINUX_ONLCR             0x0000004
  305 #define LINUX_OCRNL             0x0000008
  306 #define LINUX_ONOCR             0x0000010
  307 #define LINUX_ONLRET            0x0000020
  308 #define LINUX_OFILL             0x0000040
  309 #define LINUX_OFDEL             0x0000080
  310 #define LINUX_NLDLY             0x0000100
  311 
  312 #define LINUX_NL0               0x0000000
  313 #define LINUX_NL1               0x0000100
  314 #define LINUX_CRDLY             0x0000600
  315 #define LINUX_CR0               0x0000000
  316 #define LINUX_CR1               0x0000200
  317 #define LINUX_CR2               0x0000400
  318 #define LINUX_CR3               0x0000600
  319 #define LINUX_TABDLY            0x0001800
  320 #define LINUX_TAB0              0x0000000
  321 #define LINUX_TAB1              0x0000800
  322 #define LINUX_TAB2              0x0001000
  323 #define LINUX_TAB3              0x0001800
  324 #define LINUX_XTABS             0x0001800
  325 #define LINUX_BSDLY             0x0002000
  326 #define LINUX_BS0               0x0000000
  327 #define LINUX_BS1               0x0002000
  328 #define LINUX_VTDLY             0x0004000
  329 #define LINUX_VT0               0x0000000
  330 #define LINUX_VT1               0x0004000
  331 #define LINUX_FFDLY             0x0008000
  332 #define LINUX_FF0               0x0000000
  333 #define LINUX_FF1               0x0008000
  334 
  335 #define LINUX_CBAUD             0x0000100f
  336 #define LINUX_B0                0x00000000
  337 #define LINUX_B50               0x00000001
  338 #define LINUX_B75               0x00000002
  339 #define LINUX_B110              0x00000003
  340 #define LINUX_B134              0x00000004
  341 #define LINUX_B150              0x00000005
  342 #define LINUX_B200              0x00000006
  343 #define LINUX_B300              0x00000007
  344 #define LINUX_B600              0x00000008
  345 #define LINUX_B1200             0x00000009
  346 #define LINUX_B1800             0x0000000a
  347 #define LINUX_B2400             0x0000000b
  348 #define LINUX_B4800             0x0000000c
  349 #define LINUX_B9600             0x0000000d
  350 #define LINUX_B19200            0x0000000e
  351 #define LINUX_B38400            0x0000000f
  352 #define LINUX_EXTA              LINUX_B19200
  353 #define LINUX_EXTB              LINUX_B38400
  354 #define LINUX_CBAUDEX           0x00001000
  355 #define LINUX_B57600            0x00001001
  356 #define LINUX_B115200           0x00001002
  357 
  358 #define LINUX_CSIZE             0x00000030
  359 #define LINUX_CS5               0x00000000
  360 #define LINUX_CS6               0x00000010
  361 #define LINUX_CS7               0x00000020
  362 #define LINUX_CS8               0x00000030
  363 #define LINUX_CSTOPB            0x00000040
  364 #define LINUX_CREAD             0x00000080
  365 #define LINUX_PARENB            0x00000100
  366 #define LINUX_PARODD            0x00000200
  367 #define LINUX_HUPCL             0x00000400
  368 #define LINUX_CLOCAL            0x00000800
  369 #define LINUX_CRTSCTS           0x80000000
  370 
  371 /* Linux c_lflag masks */
  372 #define LINUX_ISIG              0x00000001
  373 #define LINUX_ICANON            0x00000002
  374 #define LINUX_XCASE             0x00000004
  375 #define LINUX_ECHO              0x00000008
  376 #define LINUX_ECHOE             0x00000010
  377 #define LINUX_ECHOK             0x00000020
  378 #define LINUX_ECHONL            0x00000040
  379 #define LINUX_NOFLSH            0x00000080
  380 #define LINUX_TOSTOP            0x00000100
  381 #define LINUX_ECHOCTL           0x00000200
  382 #define LINUX_ECHOPRT           0x00000400
  383 #define LINUX_ECHOKE            0x00000800
  384 #define LINUX_FLUSHO            0x00001000
  385 #define LINUX_PENDIN            0x00002000
  386 #define LINUX_IEXTEN            0x00008000
  387 
  388 /* open/fcntl flags */
  389 #define LINUX_O_RDONLY          00
  390 #define LINUX_O_WRONLY          01
  391 #define LINUX_O_RDWR            02
  392 #define LINUX_O_CREAT           0100
  393 #define LINUX_O_EXCL            0200
  394 #define LINUX_O_NOCTTY          0400
  395 #define LINUX_O_TRUNC           01000
  396 #define LINUX_O_APPEND          02000
  397 #define LINUX_O_NONBLOCK        04000
  398 #define LINUX_O_NDELAY          LINUX_O_NONBLOCK
  399 #define LINUX_O_SYNC            010000
  400 #define LINUX_FASYNC            020000
  401 
  402 /* fcntl flags */
  403 #define LINUX_F_DUPFD           0
  404 #define LINUX_F_GETFD           1
  405 #define LINUX_F_SETFD           2
  406 #define LINUX_F_GETFL           3
  407 #define LINUX_F_SETFL           4
  408 #define LINUX_F_GETLK           5
  409 #define LINUX_F_SETLK           6
  410 #define LINUX_F_SETLKW          7
  411 #define LINUX_F_SETOWN          8
  412 #define LINUX_F_GETOWN          9
  413 
  414 #define LINUX_F_RDLCK           0
  415 #define LINUX_F_WRLCK           1
  416 #define LINUX_F_UNLCK           2
  417 
  418 /* mmap options */
  419 #define LINUX_MAP_SHARED        0x0001
  420 #define LINUX_MAP_PRIVATE       0x0002
  421 #define LINUX_MAP_FIXED         0x0010
  422 #define LINUX_MAP_ANON          0x0020
  423 
  424 /* SystemV ipc defines */
  425 #define LINUX_SEMOP             1
  426 #define LINUX_SEMGET            2
  427 #define LINUX_SEMCTL            3
  428 #define LINUX_MSGSND            11
  429 #define LINUX_MSGRCV            12
  430 #define LINUX_MSGGET            13
  431 #define LINUX_MSGCTL            14
  432 #define LINUX_SHMAT             21
  433 #define LINUX_SHMDT             22
  434 #define LINUX_SHMGET            23
  435 #define LINUX_SHMCTL            24
  436 
  437 #define LINUX_IPC_RMID          0
  438 #define LINUX_IPC_SET           1
  439 #define LINUX_IPC_STAT          2
  440 #define LINUX_IPC_INFO          3
  441 
  442 #define LINUX_SHM_LOCK          11
  443 #define LINUX_SHM_UNLOCK        12
  444 #define LINUX_SHM_STAT          13
  445 #define LINUX_SHM_INFO          14
  446 
  447 #define LINUX_SHM_RDONLY        0x1000
  448 #define LINUX_SHM_RND           0x2000
  449 #define LINUX_SHM_REMAP         0x4000
  450 
  451 /* semctl Command Definitions. */
  452 #define LINUX_GETPID            11
  453 #define LINUX_GETVAL            12
  454 #define LINUX_GETALL            13
  455 #define LINUX_GETNCNT           14
  456 #define LINUX_GETZCNT           15
  457 #define LINUX_SETVAL            16
  458 #define LINUX_SETALL            17
  459 
  460 /* Socket defines */
  461 #define LINUX_SOCKET            1
  462 #define LINUX_BIND              2
  463 #define LINUX_CONNECT           3
  464 #define LINUX_LISTEN            4
  465 #define LINUX_ACCEPT            5
  466 #define LINUX_GETSOCKNAME       6
  467 #define LINUX_GETPEERNAME       7
  468 #define LINUX_SOCKETPAIR        8
  469 #define LINUX_SEND              9
  470 #define LINUX_RECV              10
  471 #define LINUX_SENDTO            11
  472 #define LINUX_RECVFROM          12
  473 #define LINUX_SHUTDOWN          13
  474 #define LINUX_SETSOCKOPT        14
  475 #define LINUX_GETSOCKOPT        15
  476 
  477 #define LINUX_AF_UNSPEC         0
  478 #define LINUX_AF_UNIX           1
  479 #define LINUX_AF_INET           2
  480 #define LINUX_AF_AX25           3
  481 #define LINUX_AF_IPX            4
  482 #define LINUX_AF_APPLETALK      5
  483 
  484 #define LINUX_SOL_SOCKET        1
  485 #define LINUX_SOL_IP            0
  486 #define LINUX_SOL_IPX           256
  487 #define LINUX_SOL_AX25          257
  488 #define LINUX_SOL_TCP           6
  489 #define LINUX_SOL_UDP           17
  490 
  491 #define LINUX_SO_DEBUG          1
  492 #define LINUX_SO_REUSEADDR      2
  493 #define LINUX_SO_TYPE           3
  494 #define LINUX_SO_ERROR          4
  495 #define LINUX_SO_DONTROUTE      5
  496 #define LINUX_SO_BROADCAST      6
  497 #define LINUX_SO_SNDBUF         7
  498 #define LINUX_SO_RCVBUF         8
  499 #define LINUX_SO_KEEPALIVE      9
  500 #define LINUX_SO_OOBINLINE      10
  501 #define LINUX_SO_NO_CHECK       11
  502 #define LINUX_SO_PRIORITY       12
  503 #define LINUX_SO_LINGER         13
  504 
  505 #define LINUX_IP_TOS            1
  506 #define LINUX_IP_TTL            2
  507 #define LINUX_IP_HDRINCL        3
  508 #define LINUX_IP_OPTIONS        4
  509 
  510 #define LINUX_IP_MULTICAST_IF           32
  511 #define LINUX_IP_MULTICAST_TTL          33
  512 #define LINUX_IP_MULTICAST_LOOP         34
  513 #define LINUX_IP_ADD_MEMBERSHIP         35
  514 #define LINUX_IP_DROP_MEMBERSHIP        36
  515 
  516 /* Sound system defines */
  517 #define LINUX_SNDCTL_SEQ_RESET          0x5100
  518 #define LINUX_SNDCTL_SEQ_SYNC           0x5101
  519 #define LINUX_SNDCTL_SYNTH_INFO         0x5102
  520 #define LINUX_SNDCTL_SEQ_CTRLRATE       0x5103
  521 #define LINUX_SNDCTL_SEQ_GETOUTCOUNT    0x5104
  522 #define LINUX_SNDCTL_SEQ_GETINCOUNT     0x5105
  523 #define LINUX_SNDCTL_SEQ_PERCMODE       0x5106
  524 #define LINUX_SNDCTL_FM_LOAD_INSTR      0x5107
  525 #define LINUX_SNDCTL_SEQ_TESTMIDI       0x5108
  526 #define LINUX_SNDCTL_SEQ_RESETSAMPLES   0x5109
  527 #define LINUX_SNDCTL_SEQ_NRSYNTHS       0x510A
  528 #define LINUX_SNDCTL_SEQ_NRMIDIS        0x510B
  529 #define LINUX_SNDCTL_MIDI_INFO          0x510C
  530 #define LINUX_SNDCTL_SEQ_TRESHOLD       0x510D
  531 #define LINUX_SNDCTL_SYNTH_MEMAVL       0x510E
  532 #define LINUX_SNDCTL_DSP_RESET          0x5000
  533 #define LINUX_SNDCTL_DSP_SYNC           0x5001
  534 #define LINUX_SNDCTL_DSP_SPEED          0x5002
  535 #define LINUX_SNDCTL_DSP_STEREO         0x5003
  536 #define LINUX_SNDCTL_DSP_GETBLKSIZE     0x5004
  537 #define LINUX_SNDCTL_DSP_SETBLKSIZE     0x5004
  538 #define LINUX_SNDCTL_DSP_SETFMT         0x5005
  539 #define LINUX_SOUND_PCM_WRITE_CHANNELS  0x5006
  540 #define LINUX_SOUND_PCM_WRITE_FILTER    0x5007
  541 #define LINUX_SNDCTL_DSP_POST           0x5008
  542 #define LINUX_SNDCTL_DSP_SUBDIVIDE      0x5009
  543 #define LINUX_SNDCTL_DSP_SETFRAGMENT    0x500A
  544 #define LINUX_SNDCTL_DSP_GETFMTS        0x500B
  545 #define LINUX_SNDCTL_DSP_GETOSPACE      0x500C
  546 #define LINUX_SNDCTL_DSP_GETISPACE      0x500D
  547 #define LINUX_SNDCTL_DSP_NONBLOCK       0x500E
  548 #define LINUX_SNDCTL_DSP_GETCAPS        0x500F
  549 #define LINUX_SNDCTL_DSP_GETTRIGGER     0x5010
  550 #define LINUX_SNDCTL_DSP_SETTRIGGER     0x5010
  551 #define LINUX_SNDCTL_DSP_GETIPTR        0x5011
  552 #define LINUX_SNDCTL_DSP_GETOPTR        0x5012
  553 #define LINUX_SOUND_MIXER_WRITE_VOLUME  0x4d00
  554 #define LINUX_SOUND_MIXER_WRITE_BASS    0x4d01
  555 #define LINUX_SOUND_MIXER_WRITE_TREBLE  0x4d02
  556 #define LINUX_SOUND_MIXER_WRITE_SYNTH   0x4d03
  557 #define LINUX_SOUND_MIXER_WRITE_PCM     0x4d04
  558 #define LINUX_SOUND_MIXER_WRITE_SPEAKER 0x4d05
  559 #define LINUX_SOUND_MIXER_WRITE_LINE    0x4d06
  560 #define LINUX_SOUND_MIXER_WRITE_MIC     0x4d07
  561 #define LINUX_SOUND_MIXER_WRITE_CD      0x4d08
  562 #define LINUX_SOUND_MIXER_WRITE_IMIX    0x4d09
  563 #define LINUX_SOUND_MIXER_WRITE_ALTPCM  0x4d0A
  564 #define LINUX_SOUND_MIXER_WRITE_RECLEV  0x4d0B
  565 #define LINUX_SOUND_MIXER_WRITE_IGAIN   0x4d0C
  566 #define LINUX_SOUND_MIXER_WRITE_OGAIN   0x4d0D
  567 #define LINUX_SOUND_MIXER_WRITE_LINE1   0x4d0E
  568 #define LINUX_SOUND_MIXER_WRITE_LINE2   0x4d0F
  569 #define LINUX_SOUND_MIXER_WRITE_LINE3   0x4d10
  570 #define LINUX_SOUND_MIXER_READ_DEVMASK  0x4dfe
  571 
  572 /* Socket system defines */
  573 #define LINUX_SIOCGIFCONF               0x8912
  574 #define LINUX_SIOCGIFFLAGS              0x8913
  575 #define LINUX_SIOCGIFADDR               0x8915
  576 #define LINUX_SIOCGIFDSTADDR            0x8917
  577 #define LINUX_SIOCGIFBRDADDR            0x8919
  578 #define LINUX_SIOCGIFNETMASK            0x891b
  579 #define LINUX_SIOCGIFHWADDR             0x8927
  580 #define LINUX_SIOCADDMULTI              0x8931
  581 #define LINUX_SIOCDELMULTI              0x8932
  582 
  583 struct linux_sockaddr
  584 {
  585     unsigned short      sa_family;
  586     char                sa_data[14];
  587 };
  588 
  589 struct linux_ifmap 
  590 {
  591     unsigned long       mem_start;
  592     unsigned long       mem_end;
  593     unsigned short      base_addr; 
  594     unsigned char       irq;
  595     unsigned char       dma;
  596     unsigned char       port;
  597 };
  598 
  599 struct linux_ifreq 
  600 {
  601 #define LINUX_IFHWADDRLEN     6
  602 #define LINUX_IFNAMSIZ        16
  603     union
  604     {
  605         char    ifrn_name[LINUX_IFNAMSIZ];              /* if name, e.g. "en0" */       
  606     } ifr_ifrn;
  607         
  608     union {
  609         struct linux_sockaddr   ifru_addr;
  610         struct linux_sockaddr   ifru_dstaddr;
  611         struct linux_sockaddr   ifru_broadaddr;
  612         struct linux_sockaddr   ifru_netmask;
  613         struct linux_sockaddr   ifru_hwaddr;
  614         short                   ifru_flags;
  615         int                     ifru_metric;
  616         int                     ifru_mtu;
  617         struct linux_ifmap      ifru_map;
  618         char                    ifru_slave[LINUX_IFNAMSIZ];     /* Just fits the size */
  619         caddr_t                 ifru_data;
  620     } ifr_ifru;
  621 };
  622 
  623 #define ifr_name        ifr_ifrn.ifrn_name              /* interface name       */
  624 #define ifr_hwaddr      ifr_ifru.ifru_hwaddr            /* MAC address          */
  625 
  626 
  627 /* serial_struct values for TIOC[GS]SERIAL ioctls */
  628 #define LINUX_ASYNC_CLOSING_WAIT_INF  0
  629 #define LINUX_ASYNC_CLOSING_WAIT_NONE 65535
  630 
  631 #define LINUX_PORT_UNKNOWN    0
  632 #define LINUX_PORT_8250       1
  633 #define LINUX_PORT_16450      2
  634 #define LINUX_PORT_16550      3
  635 #define LINUX_PORT_16550A     4
  636 #define LINUX_PORT_CIRRUS     5
  637 #define LINUX_PORT_16650      6
  638 #define LINUX_PORT_MAX        6
  639 
  640 #define LINUX_ASYNC_HUP_NOTIFY          0x0001
  641 #define LINUX_ASYNC_FOURPORT            0x0002
  642 #define LINUX_ASYNC_SAK                 0x0004
  643 #define LINUX_ASYNC_SPLIT_TERMIOS       0x0008
  644 #define LINUX_ASYNC_SPD_MASK            0x0030
  645 #define LINUX_ASYNC_SPD_HI              0x0010
  646 #define LINUX_ASYNC_SPD_VHI             0x0020
  647 #define LINUX_ASYNC_SPD_CUST            0x0030
  648 #define LINUX_ASYNC_SKIP_TEST           0x0040
  649 #define LINUX_ASYNC_AUTO_IRQ            0x0080
  650 #define LINUX_ASYNC_SESSION_LOCKOUT     0x0100
  651 #define LINUX_ASYNC_PGRP_LOCKOUT        0x0200
  652 #define LINUX_ASYNC_CALLOUT_NOHUP       0x0400
  653 #define LINUX_ASYNC_FLAGS               0x0FFF
  654 
  655 #endif /* !_I386_LINUX_LINUX_H_ */

Cache object: b56a7bbd5d237c59e6eff1426c8f5af0


[ 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.