Annotation of OSKit-Mach/include/mach/syscall_sw.h, revision 1.1.1.1

1.1       root        1: /* 
                      2:  * Mach Operating System
                      3:  * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
                      4:  * All Rights Reserved.
                      5:  * 
                      6:  * Permission to use, copy, modify and distribute this software and its
                      7:  * documentation is hereby granted, provided that both the copyright
                      8:  * notice and this permission notice appear in all copies of the
                      9:  * software, derivative works or modified versions, and any portions
                     10:  * thereof, and that both notices appear in supporting documentation.
                     11:  * 
                     12:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
                     13:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
                     14:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
                     15:  * 
                     16:  * Carnegie Mellon requests users of this software to return to
                     17:  * 
                     18:  *  Software Distribution Coordinator  or  [email protected]
                     19:  *  School of Computer Science
                     20:  *  Carnegie Mellon University
                     21:  *  Pittsburgh PA 15213-3890
                     22:  * 
                     23:  * any improvements or extensions that they make and grant Carnegie Mellon
                     24:  * the rights to redistribute these changes.
                     25:  */
                     26: 
                     27: #ifndef        _MACH_SYSCALL_SW_H_
                     28: #define _MACH_SYSCALL_SW_H_
                     29: 
                     30: /*
                     31:  *     The machine-dependent "syscall_sw.h" file should
                     32:  *     define a macro for
                     33:  *             kernel_trap(trap_name, trap_number, arg_count)
                     34:  *     which will expand into assembly code for the
                     35:  *     trap.
                     36:  *
                     37:  *     N.B.: When adding calls, do not put spaces in the macros.
                     38:  */
                     39: 
                     40: #include <mach/machine/syscall_sw.h>
                     41: 
                     42: /*
                     43:  *     These trap numbers should be taken from the
                     44:  *     table in <kern/syscall_sw.c>.
                     45:  */
                     46: 
                     47: kernel_trap(evc_wait,-17,1)
                     48: kernel_trap(evc_wait_clear,-18,1)
                     49: 
                     50: kernel_trap(mach_msg_trap,-25,7)
                     51: kernel_trap(mach_reply_port,-26,0)
                     52: kernel_trap(mach_thread_self,-27,0)
                     53: kernel_trap(mach_task_self,-28,0)
                     54: kernel_trap(mach_host_self,-29,0)
                     55: 
                     56: kernel_trap(swtch_pri,-59,1)
                     57: kernel_trap(swtch,-60,0)
                     58: kernel_trap(thread_switch,-61,3)
                     59: kernel_trap(nw_update,-80,3)
                     60: kernel_trap(nw_lookup,-81,2)
                     61: kernel_trap(nw_endpoint_allocate,-82,4)
                     62: kernel_trap(nw_endpoint_deallocate,-83,1)
                     63: kernel_trap(nw_buffer_allocate,-84,2)
                     64: kernel_trap(nw_buffer_deallocate,-85,2)
                     65: kernel_trap(nw_connection_open,-86,4)
                     66: kernel_trap(nw_connection_accept,-87,3)
                     67: kernel_trap(nw_connection_close,-88,1)
                     68: kernel_trap(nw_multicast_add,-89,4)
                     69: kernel_trap(nw_multicast_drop,-90,4)
                     70: kernel_trap(nw_endpoint_status,-91,3)
                     71: kernel_trap(nw_send,-92,3)
                     72: kernel_trap(nw_receive,-93,2)
                     73: kernel_trap(nw_rpc,-94,4)
                     74: kernel_trap(nw_select,-95,3)
                     75: 
                     76: 
                     77: /*
                     78:  *     These are syscall versions of Mach kernel calls.
                     79:  *     They only work on local tasks.
                     80:  */
                     81: 
                     82: kernel_trap(syscall_vm_map,-64,11)
                     83: kernel_trap(syscall_vm_allocate,-65,4)
                     84: kernel_trap(syscall_vm_deallocate,-66,3)
                     85: 
                     86: kernel_trap(syscall_task_create,-68,3)
                     87: kernel_trap(syscall_task_terminate,-69,1)
                     88: kernel_trap(syscall_task_suspend,-70,1)
                     89: kernel_trap(syscall_task_set_special_port,-71,3)
                     90: 
                     91: kernel_trap(syscall_mach_port_allocate,-72,3)
                     92: kernel_trap(syscall_mach_port_deallocate,-73,2)
                     93: kernel_trap(syscall_mach_port_insert_right,-74,4)
                     94: kernel_trap(syscall_mach_port_allocate_name,-75,3)
                     95: kernel_trap(syscall_thread_depress_abort,-76,1)
                     96: 
                     97: /* These are screwing up glibc somehow.  */
                     98: /*kernel_trap(syscall_device_writev_request,-39,6)*/
                     99: /*kernel_trap(syscall_device_write_request,-40,6)*/
                    100: 
                    101: /*
                    102:  *     These "Mach" traps are not implemented by the kernel;
                    103:  *     the emulation library and Unix server implement them.
                    104:  *     But they are traditionally part of libmach, and use
                    105:  *     the Mach trap calling conventions and numbering.
                    106:  */
                    107: 
                    108: #if    UNIXOID_TRAPS
                    109: 
                    110: kernel_trap(task_by_pid,-33,1)
                    111: kernel_trap(pid_by_task,-34,4)
                    112: kernel_trap(init_process,-41,0)
                    113: kernel_trap(map_fd,-43,5)
                    114: kernel_trap(rfs_make_symlink,-44,3)
                    115: kernel_trap(htg_syscall,-52,3)
                    116: kernel_trap(set_ras_address,-53,2)
                    117: 
                    118: #endif /* UNIXOID_TRAPS */
                    119: 
                    120: /* Traps for the old IPC interface. */
                    121: 
                    122: #if    MACH_IPC_COMPAT
                    123: 
                    124: kernel_trap(task_self,-10,0)
                    125: kernel_trap(thread_reply,-11,0)
                    126: kernel_trap(task_notify,-12,0)
                    127: kernel_trap(thread_self,-13,0)
                    128: kernel_trap(msg_send_trap,-20,4)
                    129: kernel_trap(msg_receive_trap,-21,5)
                    130: kernel_trap(msg_rpc_trap,-22,6)
                    131: kernel_trap(host_self,-55,0)
                    132: 
                    133: #endif /* MACH_IPC_COMPAT */
                    134: 
                    135: #ifdef FIPC
                    136: kernel_trap(fipc_send,-96,4)
                    137: kernel_trap(fipc_recv,-97,5)
                    138: #endif
                    139: 
                    140: #endif /* _MACH_SYSCALL_SW_H_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.