diff options
Diffstat (limited to 'hurd/io_request.defs')
-rw-r--r-- | hurd/io_request.defs | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/hurd/io_request.defs b/hurd/io_request.defs new file mode 100644 index 00000000..366963f2 --- /dev/null +++ b/hurd/io_request.defs @@ -0,0 +1,166 @@ +/* Definitions for generic IO interface + Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation + +This file is part of the GNU Hurd. + +The GNU Hurd is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +The GNU Hurd is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with the GNU Hurd; see the file COPYING. If not, write to +the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + +subsystem io 21000; + +/* These functions are user-side stubs for the functions in io.defs; + all the comments there apply exactly to here. */ + +#include <hurd/hurd_types.defs> + +#ifdef IO_IMPORTS +IO_IMPORTS +#endif + +type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic + ctype: mach_port_t; + +simpleroutine io_write_request ( + io_object: io_t; + reply: reply_port_t; + data: data_t; + offset: off_t); + +simpleroutine io_read_request ( + io_object: io_t; + reply: reply_port_t; + offset: off_t; + amount: int); + +simpleroutine io_seek_request ( + io_object: io_t; + reply: reply_port_t; + offset: off_t; + whence: int); + +simpleroutine io_readable_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_set_all_openmodes_request ( + io_object: io_t; + reply: reply_port_t; + newbits: int); + +simpleroutine io_get_openmodes_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_set_some_openmodes_request ( + io_object: io_t; + reply: reply_port_t; + bits_to_set: int); + +simpleroutine io_clear_some_openmodes_request ( + io_object: io_t; + reply: reply_port_t; + bits_to_clear: int); + +simpleroutine io_async_request ( + io_object: io_t; + reply: reply_port_t; + notify_port: mach_port_send_t); + +simpleroutine io_mod_owner_request ( + io_object: io_t; + reply: reply_port_t; + owner: pid_t); + +simpleroutine io_get_owner_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_get_icky_async_id_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_select_request ( + io_object: io_t; + reply: reply_port_t; + select_type: int; + id_tag: int); + +simpleroutine io_stat_request ( + stat_object: io_t; + reply: reply_port_t); + +/* io_reauthenticate is a simpleroutine already. */ +skip; + +simpleroutine io_restrict_auth_request ( + io_object: io_t; + reply: reply_port_t; + uids: idarray_t; + gids: idarray_t); + +simpleroutine io_duplicate_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_server_version_request ( + vers_object: io_t; + reply: reply_port_t); + +simpleroutine io_map_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_map_cntl_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_get_conch_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_release_conch_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_eofnotify_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_prenotify_request ( + io_object: io_t; + reply: reply_port_t; + write_start: vm_offset_t; + write_end: vm_offset_t); + +simpleroutine io_postnotify_request ( + io_object: io_t; + reply: reply_port_t; + write_start: vm_offset_t; + write_end: vm_offset_t); + +simpleroutine io_readnotify_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_readsleep_request ( + io_object: io_t; + reply: reply_port_t); + +simpleroutine io_sigio_request ( + io_object: io_t; + reply: reply_port_t); + + + + |