From 471d7380bd54c83cf6d090a144c288197b02db40 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Mon, 1 Feb 2010 15:13:08 +0100 Subject: check in libmachdev. --- libmachdev/Makefile | 31 ++ libmachdev/dev_hdr.h | 148 ++++++++ libmachdev/device.defs | 204 +++++++++++ libmachdev/device_emul.h | 64 ++++ libmachdev/device_reply.defs | 1 + libmachdev/ds_routines.c | 802 +++++++++++++++++++++++++++++++++++++++++++ libmachdev/ds_routines.h | 55 +++ libmachdev/if_ether.h | 87 +++++ libmachdev/io_req.h | 135 ++++++++ libmachdev/mach.defs | 779 +++++++++++++++++++++++++++++++++++++++++ libmachdev/net.c | 679 ++++++++++++++++++++++++++++++++++++ libmachdev/notify.defs | 1 + libmachdev/queue.c | 131 +++++++ libmachdev/queue.h | 370 ++++++++++++++++++++ libmachdev/trivfs_server.c | 154 +++++++++ libmachdev/util.h | 33 ++ libmachdev/vm_param.h | 7 + 17 files changed, 3681 insertions(+) create mode 100644 libmachdev/Makefile create mode 100644 libmachdev/dev_hdr.h create mode 100644 libmachdev/device.defs create mode 100644 libmachdev/device_emul.h create mode 100644 libmachdev/device_reply.defs create mode 100644 libmachdev/ds_routines.c create mode 100644 libmachdev/ds_routines.h create mode 100644 libmachdev/if_ether.h create mode 100644 libmachdev/io_req.h create mode 100644 libmachdev/mach.defs create mode 100644 libmachdev/net.c create mode 100644 libmachdev/notify.defs create mode 100644 libmachdev/queue.c create mode 100644 libmachdev/queue.h create mode 100644 libmachdev/trivfs_server.c create mode 100644 libmachdev/util.h create mode 100644 libmachdev/vm_param.h (limited to 'libmachdev') diff --git a/libmachdev/Makefile b/libmachdev/Makefile new file mode 100644 index 00000000..daf13a82 --- /dev/null +++ b/libmachdev/Makefile @@ -0,0 +1,31 @@ +# Copyright (C) 2009 Free Software Foundation, Inc. +# 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. + +dir := libmachdev +makemode := library +libname = libmachdev + +SRCS = deviceUser.c machUser.c net.c ds_routines.c queue.c trivfs_server.c \ + device_replyUser.c deviceServer.c notifyServer.c +LCLHDRS = dev_hdr.h device_emul.h ds_routines.h vm_param.h \ + util.h queue.h io_req.h if_ether.h +HURDLIBS = ports threads trivfs +OBJS = $(SRCS:.c=.o) $(MIGSTUBS) + +include ../Makeconf + +CFLAGS += diff --git a/libmachdev/dev_hdr.h b/libmachdev/dev_hdr.h new file mode 100644 index 00000000..db44f712 --- /dev/null +++ b/libmachdev/dev_hdr.h @@ -0,0 +1,148 @@ +/* + * Mach Operating System + * Copyright (c) 1991,1990,1989 Carnegie Mellon University + * All Rights Reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" + * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR + * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * Carnegie Mellon requests users of this software to return to + * + * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU + * School of Computer Science + * Carnegie Mellon University + * Pittsburgh PA 15213-3890 + * + * any improvements or extensions that they make and grant Carnegie Mellon + * the rights to redistribute these changes. + */ +/* + * Author: David B. Golub, Carnegie Mellon University + * Date: 3/89 + */ + +/* + * Mach device emulation definitions (i386at version). + * + * Copyright (c) 1996 The University of Utah and + * the Computer Systems Laboratory at the University of Utah (CSL). + * All rights reserved. + * + * Permission to use, copy, modify and distribute this software is hereby + * granted provided that (1) source code retains these copyright, permission, + * and disclaimer notices, and (2) redistributions including binaries + * reproduce the notices in supporting documentation, and (3) all advertising + * materials mentioning features or use of this software display the following + * acknowledgement: ``This product includes software developed by the + * Computer Systems Laboratory at the University of Utah.'' + * + * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS + * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF + * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * CSL requests users of this software to return to csl-dist@cs.utah.edu any + * improvements that they make and grant CSL redistribution rights. + * + * Author: Shantanu Goel, University of Utah CSL + */ + +#ifndef _DEVICE_DEV_HDR_H_ +#define _DEVICE_DEV_HDR_H_ + +#include +#include +#include +#include + +#include "device_emul.h" + +/* + * Operations list for major device types. + */ +struct dev_ops { + char * d_name; /* name for major device */ + int (*d_open)(); /* open device */ + int (*d_close)(); /* close device */ + int (*d_read)(); /* read */ + int (*d_write)(); /* write */ + int (*d_getstat)(); /* get status/control */ + int (*d_setstat)(); /* set status/control */ + vm_offset_t (*d_mmap)(); /* map memory */ + int (*d_async_in)();/* asynchronous input setup */ + int (*d_reset)(); /* reset device */ + int (*d_port_death)(); + /* clean up reply ports */ + int d_subdev; /* number of sub-devices per + unit */ + int (*d_dev_info)(); /* driver info for kernel */ +}; +typedef struct dev_ops *dev_ops_t; + +/* This structure is associated with each open device port. + * The port representing the device points to this structure. */ +struct emul_device +{ + struct device_emulation_ops *emul_ops; + void *emul_data; +}; + +typedef struct emul_device *emul_device_t; + +#define DEVICE_NULL ((device_t) 0) + +/* + * Generic device header. May be allocated with the device, + * or built when the device is opened. + */ +struct mach_device { + struct port_info port; + struct emul_device dev; /* the real device structure */ + struct mutex lock; + short state; /* state: */ +#define DEV_STATE_INIT 0 /* not open */ +#define DEV_STATE_OPENING 1 /* being opened */ +#define DEV_STATE_OPEN 2 /* open */ +#define DEV_STATE_CLOSING 3 /* being closed */ + short flag; /* random flags: */ +#define D_EXCL_OPEN 0x0001 /* open only once */ + short open_count; /* number of times open */ + short io_in_progress; /* number of IOs in progress */ + boolean_t io_wait; /* someone waiting for IO to finish */ + + int dev_number; /* device number */ + int bsize; /* replacement for DEV_BSIZE */ + struct dev_ops *dev_ops; /* and operations vector */ +}; +typedef struct mach_device *mach_device_t; +#define MACH_DEVICE_NULL ((mach_device_t)0) + +/* + * To find and remove device entries + */ +mach_device_t device_lookup(char *); /* by name */ + +/* + * To find and remove port-to-device mappings + */ +void dev_port_enter(mach_device_t); +void dev_port_remove(mach_device_t); + +/* + * To call a routine on each device + */ +boolean_t dev_map(boolean_t (*)(), mach_port_t); + +/* + * To lock and unlock state and open-count + */ +#define device_lock(device) mutex_lock(&(device)->lock) +#define device_unlock(device) mutex_unlock(&(device)->lock) + +#endif /* _DEVICE_DEV_HDR_H_ */ diff --git a/libmachdev/device.defs b/libmachdev/device.defs new file mode 100644 index 00000000..6a73853a --- /dev/null +++ b/libmachdev/device.defs @@ -0,0 +1,204 @@ +/* + * Mach Operating System + * Copyright (c) 1991,1990,1989 Carnegie Mellon University + * All Rights Reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" + * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR + * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * Carnegie Mellon requests users of this software to return to + * + * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU + * School of Computer Science + * Carnegie Mellon University + * Pittsburgh PA 15213-3890 + * + * any improvements or extensions that they make and grant Carnegie Mellon + * the rights to redistribute these changes. + */ +/* + * File: device/device.defs + * Author: Douglas Orr + * Feb 10, 1988 + * Abstract: + * Mach device support. Mach devices are accessed through + * block and character device interfaces to the kernel. + */ + +#ifdef MACH_KERNEL +simport ; /* for obsolete routines */ +#endif + +subsystem +#if KERNEL_SERVER + KernelServer +#endif + device 2800; + +#include +#include +#include + +serverprefix ds_; + +type pci_config_data_t = array[*:4] of char; +type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic + ctype: mach_port_t; + +routine device_open( + master_port : mach_port_t; + sreplyport reply_port : reply_port_t; + mode : dev_mode_t; + name : dev_name_t; + out device : device_t + ); + +routine device_close( + device : device_t + ); + +routine device_write( + device : device_t; + sreplyport reply_port : reply_port_t; + in mode : dev_mode_t; + in recnum : recnum_t; + in data : io_buf_ptr_t; + out bytes_written : int + ); + +routine device_write_inband( + device : device_t; + sreplyport reply_port : reply_port_t; + in mode : dev_mode_t; + in recnum : recnum_t; + in data : io_buf_ptr_inband_t; + out bytes_written : int + ); + +routine device_read( + device : device_t; + sreplyport reply_port : reply_port_t; + in mode : dev_mode_t; + in recnum : recnum_t; + in bytes_wanted : int; + out data : io_buf_ptr_t + ); + +routine device_read_inband( + device : device_t; + sreplyport reply_port : reply_port_t; + in mode : dev_mode_t; + in recnum : recnum_t; + in bytes_wanted : int; + out data : io_buf_ptr_inband_t + ); + +/* obsolete */ +routine xxx_device_set_status( + device : device_t; + in flavor : dev_flavor_t; + in status : dev_status_t, IsLong + ); + +/* obsolete */ +routine xxx_device_get_status( + device : device_t; + in flavor : dev_flavor_t; + out status : dev_status_t, IsLong + ); + +/* obsolete */ +routine xxx_device_set_filter( + device : device_t; + in receive_port : mach_port_send_t; + in priority : int; + in filter : filter_array_t, IsLong + ); + +routine device_map( + device : device_t; + in prot : vm_prot_t; + in offset : vm_offset_t; + in size : vm_size_t; + out pager : memory_object_t; + in unmap : int + ); + +routine device_set_status( + device : device_t; + in flavor : dev_flavor_t; + in status : dev_status_t + ); + +routine device_get_status( + device : device_t; + in flavor : dev_flavor_t; + out status : dev_status_t, CountInOut + ); + +routine device_set_filter( + device : device_t; + in receive_port : mach_port_send_t; + in priority : int; + in filter : filter_array_t + ); + +routine device_intr_notify( + master_port : mach_port_t; + in irq : int; + in id : int; + in receive_port : mach_port_send_t + ); + +/* + * Test whether IPC devices exist. + */ +routine pci_present( + master_port : mach_port_t); + +/* + * Find the specified PCI device. + */ +routine pci_find_device( + master_port : mach_port_t; + vendor : short; + device_id : short; + index : short; + out bus : char; + out device_fn : char); + +/* + * Read the configuration space of a IPC device. + */ +routine pci_read_config( + master_port : mach_port_t; + bus : char; + device_fn : char; + where : char; + bytes_wanted : int; + out result : pci_config_data_t); + +/* + * Write the configuration space of a IPC device. + */ +routine pci_write_config( + master_port : mach_port_t; + bus : char; + device_fn : char; + where : char; + data : pci_config_data_t); + +/* + * enable/disable the specified irq. + */ +routine device_irq_enable( + master_port : mach_port_t; + irq : int; + status : char); diff --git a/libmachdev/device_emul.h b/libmachdev/device_emul.h new file mode 100644 index 00000000..edcf6d07 --- /dev/null +++ b/libmachdev/device_emul.h @@ -0,0 +1,64 @@ +/* + * Mach device emulation definitions (i386at version). + * + * Copyright (c) 1996 The University of Utah and + * the Computer Systems Laboratory at the University of Utah (CSL). + * All rights reserved. + * + * Permission to use, copy, modify and distribute this software is hereby + * granted provided that (1) source code retains these copyright, permission, + * and disclaimer notices, and (2) redistributions including binaries + * reproduce the notices in supporting documentation, and (3) all advertising + * materials mentioning features or use of this software display the following + * acknowledgement: ``This product includes software developed by the + * Computer Systems Laboratory at the University of Utah.'' + * + * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS + * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF + * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * CSL requests users of this software to return to csl-dist@cs.utah.edu any + * improvements that they make and grant CSL redistribution rights. + * + * Author: Shantanu Goel, University of Utah CSL + */ + +#ifndef _I386AT_DEVICE_EMUL_H_ +#define _I386AT_DEVICE_EMUL_H_ + +#include + +/* Each emulation layer provides these operations. */ +struct device_emulation_ops +{ + void (*init) (); + void (*reference) (void *); + void (*dealloc) (void *); + mach_port_t (*dev_to_port) (void *); + io_return_t (*open) (mach_port_t, mach_msg_type_name_t, + dev_mode_t, char *, device_t *); + io_return_t (*close) (void *); + io_return_t (*write) (void *, mach_port_t, mach_msg_type_name_t, + dev_mode_t, recnum_t, io_buf_ptr_t, unsigned, int *); + io_return_t (*write_inband) (void *, mach_port_t, mach_msg_type_name_t, + dev_mode_t, recnum_t, io_buf_ptr_inband_t, + unsigned, int *); + io_return_t (*read) (void *, mach_port_t, mach_msg_type_name_t, + dev_mode_t, recnum_t, int, io_buf_ptr_t *, unsigned *); + io_return_t (*read_inband) (void *, mach_port_t, mach_msg_type_name_t, + dev_mode_t, recnum_t, int, char *, unsigned *); + io_return_t (*set_status) (void *, dev_flavor_t, dev_status_t, + mach_msg_type_number_t); + io_return_t (*get_status) (void *, dev_flavor_t, dev_status_t, + mach_msg_type_number_t *); + io_return_t (*set_filter) (void *, mach_port_t, int, filter_t [], unsigned); + io_return_t (*map) (void *, vm_prot_t, vm_offset_t, + vm_size_t, mach_port_t *, boolean_t); + void (*no_senders) (mach_no_senders_notification_t *); + io_return_t (*write_trap) (void *, dev_mode_t, + recnum_t, vm_offset_t, vm_size_t); + io_return_t (*writev_trap) (void *, dev_mode_t, + recnum_t, io_buf_vec_t *, vm_size_t); +}; + +#endif /* _I386AT_DEVICE_EMUL_H_ */ diff --git a/libmachdev/device_reply.defs b/libmachdev/device_reply.defs new file mode 100644 index 00000000..69930311 --- /dev/null +++ b/libmachdev/device_reply.defs @@ -0,0 +1 @@ +#include diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c new file mode 100644 index 00000000..1cd06359 --- /dev/null +++ b/libmachdev/ds_routines.c @@ -0,0 +1,802 @@ +/* + * Mach Operating System + * Copyright (c) 1993,1991,1990,1989 Carnegie Mellon University + * All Rights Reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" + * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR + * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * Carnegie Mellon requests users of this software to return to + * + * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU + * School of Computer Science + * Carnegie Mellon University + * Pittsburgh PA 15213-3890 + * + * any improvements or extensions that they make and grant Carnegie Mellon + * the rights to redistribute these changes. + */ +/* + * Author: David B. Golub, Carnegie Mellon University + * Date: 3/89 + */ + +/* + * Mach device server routines (i386at version). + * + * Copyright (c) 1996 The University of Utah and + * the Computer Systems Laboratory at the University of Utah (CSL). + * All rights reserved. + * + * Permission to use, copy, modify and distribute this software is hereby + * granted provided that (1) source code retains these copyright, permission, + * and disclaimer notices, and (2) redistributions including binaries + * reproduce the notices in supporting documentation, and (3) all advertising + * materials mentioning features or use of this software display the following + * acknowledgement: ``This product includes software developed by the + * Computer Systems Laboratory at the University of Utah.'' + * + * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS + * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF + * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * CSL requests users of this software to return to csl-dist@cs.utah.edu any + * improvements that they make and grant CSL redistribution rights. + * + * Author: Shantanu Goel, University of Utah CSL + */ + +#include +#include +#include + +#include +#include +#include + +#include "vm_param.h" +#include "device_reply_U.h" +#include "io_req.h" +#include "dev_hdr.h" +#include "util.h" +#include "queue.h" + +struct port_bucket *port_bucket; +struct port_class *dev_class; + +extern struct device_emulation_ops linux_net_emulation_ops; + +#define NUM_EMULATION (sizeof (emulation_list) / sizeof (emulation_list[0])) + +/* List of emulations. */ +static struct device_emulation_ops *emulation_list[] = +{ + &linux_net_emulation_ops, +}; + +boolean_t is_master_device (mach_port_t port); + +static inline void +mach_device_deallocate (void *device) +{ + ports_port_deref (device); +} + +static inline void +mach_device_reference (mach_device_t device) +{ + ports_port_ref (device); +} + +static inline emul_device_t +mach_convert_port_to_device (device_t device) +{ + mach_device_t dev = ports_lookup_port (port_bucket, device, dev_class); + if (dev == NULL) + return NULL; + + return &dev->dev; +} + +static inline void * +device_to_pi (emul_device_t device) +{ + return ((void *) device) - (int) &((mach_device_t) 0)->dev; +} + +/* + * What follows is the interface for the native Mach devices. + */ + +static inline mach_port_t +mach_convert_device_to_port (mach_device_t device) +{ + if (device == NULL) + return MACH_PORT_NULL; + + // TODO I have to somehow dereference it when it is called at the first time. + return ports_get_right (device); +} + +/* Implementation of device interface */ +kern_return_t +ds_xxx_device_set_status (device_t device, dev_flavor_t flavor, + dev_status_t status, size_t statu_cnt) +{ + return D_INVALID_OPERATION; +} + +kern_return_t +ds_xxx_device_get_status (device_t device, dev_flavor_t flavor, + dev_status_t status, size_t *statuscnt) +{ + return D_INVALID_OPERATION; +} + +kern_return_t +ds_xxx_device_set_filter (device_t device, mach_port_t rec, + int pri, filter_array_t filt, size_t len) +{ + return D_INVALID_OPERATION; +} + +io_return_t +ds_device_intr_notify (mach_port_t master_port, int irq, + int id, mach_port_t receive_port) +{ + return D_INVALID_OPERATION; +} + +kern_return_t +ds_pci_write_config (mach_port_t master_port, char bus, char device_fn, + char where, pci_config_data_t data, + mach_msg_type_number_t dataCnt) +{ + return D_INVALID_OPERATION; +} + +kern_return_t +ds_pci_read_config (mach_port_t master_port, char bus, char device_fn, + char where, int bytes_wanted, pci_config_data_t result, + mach_msg_type_number_t *resultCnt) +{ + return D_INVALID_OPERATION; +} + +kern_return_t +ds_pci_find_device (mach_port_t master_port, short vendor, short device_id, + short index, short *bus, char *device_fn) +{ + return D_INVALID_OPERATION; +} + +kern_return_t +ds_pci_present (mach_port_t master_port) +{ + return D_INVALID_OPERATION; +} + +kern_return_t +ds_device_irq_enable (mach_port_t master_port, + int irq, char status) +{ + return D_INVALID_OPERATION; +} + +io_return_t +ds_device_open (mach_port_t open_port, mach_port_t reply_port, + mach_msg_type_name_t reply_port_type, dev_mode_t mode, + char *name, device_t *devp) +{ + int i; + io_return_t err; + + /* Open must be called on the master device port. */ + if (!is_master_device (open_port)) + return D_INVALID_OPERATION; + + /* There must be a reply port. */ + if (! MACH_PORT_VALID (reply_port)) + { + fprintf (stderr, "ds_* invalid reply port\n"); + return MIG_NO_REPLY; + } + + /* Call each emulation's open routine to find the device. */ + for (i = 0; i < NUM_EMULATION; i++) + { + err = (*emulation_list[i]->open) (reply_port, reply_port_type, + mode, name, devp); + if (err != D_NO_SUCH_DEVICE) + break; + } + + return err; +} + +io_return_t +ds_device_close (device_t dev) +{ + emul_device_t device; + io_return_t ret; + + /* Refuse if device is dead or not completely open. */ + if (dev == MACH_PORT_NULL) + return D_NO_SUCH_DEVICE; + + device = mach_convert_port_to_device (dev); + ret = (device->emul_ops->close + ? (*device->emul_ops->close) (device->emul_data) + : D_SUCCESS); + mach_device_deallocate (device_to_pi (device)); + + ports_port_deref (device_to_pi (device)); + return ret; +} + +io_return_t +ds_device_write (device_t dev, mach_port_t reply_port, + mach_msg_type_name_t reply_port_type, dev_mode_t mode, + recnum_t recnum, io_buf_ptr_t data, unsigned int count, + int *bytes_written) +{ + emul_device_t device; + io_return_t ret; + + /* Refuse if device is dead or not completely open. */ + if (dev == MACH_PORT_NULL) + return D_NO_SUCH_DEVICE; + + if (data == 0) + return D_INVALID_SIZE; + + device = mach_convert_port_to_device (dev); + + if (! device->emul_ops->write) + return D_INVALID_OPERATION; + + ret = (*device->emul_ops->write) (device->emul_data, reply_port, + reply_port_type, mode, recnum, + data, count, bytes_written); + ports_port_deref (device_to_pi (device)); + + return ret; +} + +io_return_t +ds_device_write_inband (device_t dev, mach_port_t reply_port, + mach_msg_type_name_t reply_port_type, + dev_mode_t mode, recnum_t recnum, + io_buf_ptr_inband_t data, unsigned count, + int *bytes_written) +{ + emul_device_t device; + io_return_t ret; + + /* Refuse if device is dead or not completely open. */ + if (dev == MACH_PORT_NULL) + return D_NO_SUCH_DEVICE; + + if (data == 0) + return D_INVALID_SIZE; + + device = mach_convert_port_to_device (dev); + + if (! device->emul_ops->write_inband) + return D_INVALID_OPERATION; + + ret = (*device->emul_ops->write_inband) (device->emul_data, reply_port, + reply_port_type, mode, recnum, + data, count, bytes_written); + ports_port_deref (device_to_pi (device)); + + return ret; +} + +io_return_t +ds_device_read (device_t dev, mach_port_t reply_port, + mach_msg_type_name_t reply_port_type, dev_mode_t mode, + recnum_t recnum, int count, io_buf_ptr_t *data, + unsigned *bytes_read) +{ + emul_device_t device; + io_return_t ret; + + /* Refuse if device is dead or not completely open. */ + if (dev == MACH_PORT_NULL) + return D_NO_SUCH_DEVICE; + + device = mach_convert_port_to_device (dev); + + if (! device->emul_ops->read) + return D_INVALID_OPERATION; + + ret = (*device->emul_ops->read) (device->emul_data, reply_port, + reply_port_type, mode, recnum, + count, data, bytes_read); + ports_port_deref (device_to_pi (device)); + return ret; +} + +io_return_t +ds_device_read_inband (device_t dev, mach_port_t reply_port, + mach_msg_type_name_t reply_port_type, dev_mode_t mode, + recnum_t recnum, int count, char *data, + unsigned *bytes_read) +{ + emul_device_t device; + io_return_t ret; + + /* Refuse if device is dead or not completely open. */ + if (dev == MACH_PORT_NULL) + return D_NO_SUCH_DEVICE; + + device = mach_convert_port_to_device (dev); + + if (! device->emul_ops->read_inband) + return D_INVALID_OPERATION; + + ret = (*device->emul_ops->read_inband) (device->emul_data, reply_port, + reply_port_type, mode, recnum, + count, data, bytes_read); + ports_port_deref (device_to_pi (device)); + return ret; +} + +io_return_t +ds_device_set_status (device_t dev, dev_flavor_t flavor, + dev_status_t status, mach_msg_type_number_t status_count) +{ + emul_device_t device; + io_return_t ret; + + /* Refuse if device is dead or not completely open. */ + if (dev == MACH_PORT_NULL) + return D_NO_SUCH_DEVICE; + + device = mach_convert_port_to_device (dev); + + if (! device->emul_ops->set_status) + return D_INVALID_OPERATION; + + ret = (*device->emul_ops->set_status) (device->emul_data, flavor, + status, status_count); + ports_port_deref (device_to_pi (device)); + return ret; +} + +io_return_t +ds_device_get_status (device_t dev, dev_flavor_t flavor, dev_status_t status, + mach_msg_type_number_t *status_count) +{ + emul_device_t device; + io_return_t ret; + + /* Refuse if device is dead or not completely open. */ + if (dev == MACH_PORT_NULL) + return D_NO_SUCH_DEVICE; + + device = mach_convert_port_to_device (dev); + + if (! device->emul_ops->get_status) + return D_INVALID_OPERATION; + + ret = (*device->emul_ops->get_status) (device->emul_data, flavor, + status, status_count); + ports_port_deref (device_to_pi (device)); + return ret; +} + +io_return_t +ds_device_set_filter (device_t dev, mach_port_t receive_port, int priority, + filter_t *filter, unsigned filter_count) +{ + emul_device_t device; + io_return_t ret; + + /* Refuse if device is dead or not completely open. */ + if (dev == MACH_PORT_NULL) + return D_NO_SUCH_DEVICE; + + device = mach_convert_port_to_device (dev); + + if (! device->emul_ops->set_filter) + return D_INVALID_OPERATION; + + ret = (*device->emul_ops->set_filter) (device->emul_data, receive_port, + priority, filter, filter_count); + ports_port_deref (device_to_pi (device)); + return ret; +} + +io_return_t +ds_device_map (device_t dev, vm_prot_t prot, vm_offset_t offset, + vm_size_t size, mach_port_t *pager, boolean_t unmap) +{ + /* Refuse if device is dead or not completely open. */ + if (dev == MACH_PORT_NULL) + return D_NO_SUCH_DEVICE; + + return D_INVALID_OPERATION; +} + +boolean_t +ds_open_done(ior) + register io_req_t ior; +{ + kern_return_t result; + register mach_device_t device; + + device = ior->io_device; + result = ior->io_error; + + if (result != D_SUCCESS) { + /* + * Open failed. Deallocate port and device. + */ +// dev_port_remove(device); +// ipc_port_dealloc_kernel(device->port); + + device_lock(device); + device->state = DEV_STATE_INIT; + if (device->io_wait) { + device->io_wait = FALSE; +// thread_wakeup((event_t)device); + } + device_unlock(device); + +// mach_device_deallocate(device); + device = MACH_DEVICE_NULL; + } + else { + /* + * Open succeeded. + */ + device_lock(device); + device->state = DEV_STATE_OPEN; + device->open_count = 1; + if (device->io_wait) { + device->io_wait = FALSE; +// thread_wakeup((event_t)device); + } + device_unlock(device); + + /* donate device reference to get port */ + } + /* + * Must explicitly convert device to port, since + * device_reply interface is built as 'user' side + * (thus cannot get translation). + */ + if (MACH_PORT_VALID(ior->io_reply_port)) { + (void) ds_device_open_reply(ior->io_reply_port, + ior->io_reply_port_type, + result, + mach_convert_device_to_port(device)); + } +// else +// mach_device_deallocate(device); + + mach_device_deallocate (device); + return (TRUE); +} + +boolean_t ds_read_done(ior) + io_req_t ior; +{ + vm_offset_t start_data, end_data; + vm_offset_t start_sent, end_sent; + register vm_size_t size_read; + + if (ior->io_error) + size_read = 0; + else + size_read = ior->io_count - ior->io_residual; + + start_data = (vm_offset_t)ior->io_data; + end_data = start_data + size_read; + + start_sent = (ior->io_op & IO_INBAND) ? start_data : + trunc_page(start_data); + end_sent = (ior->io_op & IO_INBAND) ? + start_data + ior->io_alloc_size : round_page(end_data); + + /* + * Zero memory that the device did not fill. + */ + if (start_sent < start_data) + memset((char *)start_sent, 0, start_data - start_sent); + if (end_sent > end_data) + memset((char *)end_data, 0, end_sent - end_data); + + + /* + * Touch the data being returned, to mark it dirty. + * If the pages were filled by DMA, the pmap module + * may think that they are clean. + */ + { + register vm_offset_t touch; + register int c; + + for (touch = start_sent; touch < end_sent; touch += PAGE_SIZE) { + c = *(volatile char *)touch; + *(volatile char *)touch = c; + } + } + + /* + * Send the data to the reply port - this + * unwires and deallocates it. + */ + if (ior->io_op & IO_INBAND) { + (void)ds_device_read_reply_inband(ior->io_reply_port, + ior->io_reply_port_type, + ior->io_error, + (char *) start_data, + size_read); + } else { +// vm_map_copy_t copy; +// kern_return_t kr; +// +// kr = vm_map_copyin_page_list(kernel_map, start_data, +// size_read, TRUE, TRUE, +// ©, FALSE); +// +// if (kr != KERN_SUCCESS) +// panic("read_done: vm_map_copyin_page_list failed"); + + (void)ds_device_read_reply(ior->io_reply_port, + ior->io_reply_port_type, + ior->io_error, + (char *) start_data, + size_read); + } + + /* + * Free any memory that was allocated but not sent. + */ + if (ior->io_count != 0) { + if (ior->io_op & IO_INBAND) { + if (ior->io_alloc_size > 0) + free (ior->io_data); +// zfree(io_inband_zone, (vm_offset_t)ior->io_data); + } else { + register vm_offset_t end_alloc; + + end_alloc = start_sent + round_page(ior->io_alloc_size); + if (end_alloc > end_sent) + vm_deallocate(mach_task_self (), + end_sent, + end_alloc - end_sent); + } + } + + mach_device_deallocate(ior->io_device); + + return (TRUE); +} + +/* + * Allocate wired-down memory for device read. + */ +kern_return_t device_read_alloc(ior, size) + register io_req_t ior; + register vm_size_t size; +{ + vm_offset_t addr; + kern_return_t kr; + + /* + * Nothing to do if no data. + */ + if (ior->io_count == 0) + return (KERN_SUCCESS); + + if (ior->io_op & IO_INBAND) { + ior->io_data = (io_buf_ptr_t) malloc(sizeof(io_buf_ptr_inband_t)); + ior->io_alloc_size = sizeof(io_buf_ptr_inband_t); + } else { + size = round_page(size); + kr = vm_allocate (mach_task_self (), &addr, size, TRUE); +// kr = kmem_alloc(kernel_map, &addr, size); + if (kr != KERN_SUCCESS) + return (kr); + + ior->io_data = (io_buf_ptr_t) addr; + ior->io_alloc_size = size; + } + + return (KERN_SUCCESS); +} + +struct thread_wait +{ + struct condition cond; + struct mutex mutex; + int v; +}; + +static struct thread_wait io_done_wait; + +void thread_wait_init (struct thread_wait *t) +{ + mutex_init (&t->mutex); + condition_init (&t->cond); + t->v = 0; +} + +void thread_block (struct thread_wait *t) +{ + mutex_lock (&t->mutex); + t->v = 1; + while (t->v) + hurd_condition_wait (&t->cond, &t->mutex); + mutex_unlock (&t->mutex); +} + +void thread_wakeup (struct thread_wait *t) +{ + mutex_lock (&t->mutex); + t->v = 0; + condition_signal (&t->cond); + mutex_unlock (&t->mutex); +} + +queue_head_t io_done_list; +struct mutex io_done_list_lock; + +#define splio splsched /* XXX must block ALL io devices */ + +void iodone(ior) + register io_req_t ior; +{ + /* + * If this ior was loaned to us, return it directly. + */ + if (ior->io_op & IO_LOANED) { + (*ior->io_done)(ior); + return; + } + /* + * If !IO_CALL, some thread is waiting for this. Must lock + * structure to interlock correctly with iowait(). Else can + * toss on queue for io_done thread to call completion. + */ + // TODO need a lock here? +// s = splio(); + if ((ior->io_op & IO_CALL) == 0) { + ior_lock(ior); + ior->io_op |= IO_DONE; + ior->io_op &= ~IO_WANTED; + ior_unlock(ior); +// thread_wakeup((event_t)ior); + } else { + ior->io_op |= IO_DONE; + mutex_lock (&io_done_list_lock); + enqueue_tail(&io_done_list, (queue_entry_t)ior); + thread_wakeup (&io_done_wait); +// thread_wakeup((event_t)&io_done_list); + mutex_unlock (&io_done_list_lock); + } +// splx(s); +} + +void wakeup_io_done_thread () +{ + thread_wakeup (&io_done_wait); +} + +void io_done_thread_continue() +{ + for (;;) { + extern void free_skbuffs (); + register io_req_t ior; + + free_skbuffs (); + mutex_lock(&io_done_list_lock); + while ((ior = (io_req_t)dequeue_head(&io_done_list)) != 0) { + mutex_unlock(&io_done_list_lock); + + if ((*ior->io_done)(ior)) { + /* + * IO done - free io_req_elt + */ + io_req_free(ior); + } + /* else routine has re-queued it somewhere */ + + mutex_lock(&io_done_list_lock); + } + +// assert_wait(&io_done_list, FALSE); + mutex_unlock(&io_done_list_lock); +// counter(c_io_done_thread_block++); +// thread_block(io_done_thread_continue); + thread_block (&io_done_wait); + } +} + + +void +wire_thread() +{ + kern_return_t kr; + mach_port_t priv_host_port; + + kr = get_privileged_ports (&priv_host_port, NULL); + if (kr != KERN_SUCCESS) + panic("get privileged port: %d", kr); + + kr = thread_wire(priv_host_port, + mach_thread_self(), + TRUE); + if (kr != KERN_SUCCESS) + panic("wire_thread: %d", kr); +} + +void +thread_set_own_priority (int priority) +{ + kern_return_t kr; + mach_port_t priv_host_port; + mach_port_t pset, psetcntl; + + kr = get_privileged_ports (&priv_host_port, NULL); + if (kr != KERN_SUCCESS) + panic("get privileged port: %d", kr); + + kr = thread_get_assignment (mach_thread_self (), &pset); + if (kr != KERN_SUCCESS) + panic("thread get assignment: %d", kr); + kr = host_processor_set_priv (priv_host_port, pset, &psetcntl); + if (kr != KERN_SUCCESS) + panic("processor set priv: %d", kr); + kr = thread_max_priority (mach_thread_self (), psetcntl, 0); + if (kr != KERN_SUCCESS) + panic("set thread max priority: %d", kr); + kr = thread_priority (mach_thread_self (), 0, FALSE); + if (kr != KERN_SUCCESS) + panic("set thread priority: %d", kr); +} + +static any_t io_done_thread(any_t unused) +{ + /* + * Set thread privileges and highest priority. + */ +// current_thread()->vm_privilege = TRUE; +// stack_privilege(current_thread()); + wire_thread (); + + thread_set_own_priority(0); + + io_done_thread_continue(); + /*NOTREACHED*/ + return 0; +} + +void mach_device_init() +{ + int i; + + queue_init(&io_done_list); + mutex_init (&io_done_list_lock); + thread_wait_init (&io_done_wait); + + port_bucket = ports_create_bucket (); + dev_class = ports_create_class (0, 0); + + for (i = 0; i < NUM_EMULATION; i++) { + emulation_list[i]->init(); + } + + cthread_detach (cthread_fork (io_done_thread, 0)); +} diff --git a/libmachdev/ds_routines.h b/libmachdev/ds_routines.h new file mode 100644 index 00000000..e314e80e --- /dev/null +++ b/libmachdev/ds_routines.h @@ -0,0 +1,55 @@ +/* + * Mach Operating System + * Copyright (c) 1991,1990,1989 Carnegie Mellon University + * All Rights Reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" + * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR + * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * Carnegie Mellon requests users of this software to return to + * + * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU + * School of Computer Science + * Carnegie Mellon University + * Pittsburgh PA 15213-3890 + * + * any improvements or extensions that they make and grant Carnegie Mellon + * the rights to redistribute these changes. + */ +/* + * Author: David B. Golub, Carnegie Mellon University + * Date: 8/89 + * + * Device service utility routines. + */ + +#ifndef DS_ROUTINES_H +#define DS_ROUTINES_H + +#include + +#include "io_req.h" + +/* + * Map for device IO memory. + */ +//vm_map_t device_io_map; + +kern_return_t device_read_alloc(io_req_t, vm_size_t); +kern_return_t device_write_get(io_req_t, boolean_t *); +boolean_t device_write_dealloc(io_req_t); + +boolean_t ds_open_done(io_req_t); +boolean_t ds_read_done(io_req_t); +boolean_t ds_write_done(io_req_t); + +void iowait (io_req_t ior); + +#endif /* DS_ROUTINES_H */ diff --git a/libmachdev/if_ether.h b/libmachdev/if_ether.h new file mode 100644 index 00000000..29974674 --- /dev/null +++ b/libmachdev/if_ether.h @@ -0,0 +1,87 @@ +/* + * INET An implementation of the TCP/IP protocol suite for the LINUX + * operating system. INET is implemented using the BSD Socket + * interface as the means of communication with the user level. + * + * Global definitions for the Ethernet IEEE 802.3 interface. + * + * Version: @(#)if_ether.h 1.0.1a 02/08/94 + * + * Author: Fred N. van Kempen, + * Donald Becker, + * Alan Cox, + * Steve Whitehouse, + * + * This program 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 of the License, or (at your option) any later version. + */ + +#ifndef _LINUX_IF_ETHER_H +#define _LINUX_IF_ETHER_H + +/* + * IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble + * and FCS/CRC (frame check sequence). + */ + +#define ETH_ALEN 6 /* Octets in one ethernet addr */ +#define ETH_HLEN 14 /* Total octets in header. */ +#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */ +#define ETH_DATA_LEN 1500 /* Max. octets in payload */ +#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */ + +/* + * These are the defined Ethernet Protocol ID's. + */ + +#define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */ +#define ETH_P_ECHO 0x0200 /* Ethernet Echo packet */ +#define ETH_P_PUP 0x0400 /* Xerox PUP packet */ +#define ETH_P_IP 0x0800 /* Internet Protocol packet */ +#define ETH_P_X25 0x0805 /* CCITT X.25 */ +#define ETH_P_ARP 0x0806 /* Address Resolution packet */ +#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */ +#define ETH_P_DEC 0x6000 /* DEC Assigned proto */ +#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */ +#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */ +#define ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */ +#define ETH_P_LAT 0x6004 /* DEC LAT */ +#define ETH_P_DIAG 0x6005 /* DEC Diagnostics */ +#define ETH_P_CUST 0x6006 /* DEC Customer use */ +#define ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */ +#define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */ +#define ETH_P_ATALK 0x809B /* Appletalk DDP */ +#define ETH_P_AARP 0x80F3 /* Appletalk AARP */ +#define ETH_P_IPX 0x8137 /* IPX over DIX */ +#define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */ + +/* + * Non DIX types. Won't clash for 1500 types. + */ + +#define ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */ +#define ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */ +#define ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */ +#define ETH_P_802_2 0x0004 /* 802.2 frames */ +#define ETH_P_SNAP 0x0005 /* Internal only */ +#define ETH_P_DDCMP 0x0006 /* DEC DDCMP: Internal only */ +#define ETH_P_WAN_PPP 0x0007 /* Dummy type for WAN PPP frames*/ +#define ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */ +#define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */ +#define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/ +#define ETH_P_TR_802_2 0x0011 /* 802.2 frames */ + +/* + * This is an Ethernet frame header. + */ + +struct ethhdr +{ + unsigned char h_dest[ETH_ALEN]; /* destination eth addr */ + unsigned char h_source[ETH_ALEN]; /* source ether addr */ + unsigned short h_proto; /* packet type ID field */ +}; + +#endif /* _LINUX_IF_ETHER_H */ diff --git a/libmachdev/io_req.h b/libmachdev/io_req.h new file mode 100644 index 00000000..df8d743c --- /dev/null +++ b/libmachdev/io_req.h @@ -0,0 +1,135 @@ +/* + * Mach Operating System + * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University + * All Rights Reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" + * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR + * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * Carnegie Mellon requests users of this software to return to + * + * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU + * School of Computer Science + * Carnegie Mellon University + * Pittsburgh PA 15213-3890 + * + * any improvements or extensions that they make and grant Carnegie Mellon + * the rights to redistribute these changes. + */ +/* + * Author: David B. Golub, Carnegie Mellon University + * Date: 10/88 + */ + +#ifndef _IO_REQ_ +#define _IO_REQ_ + +#include +#include + +#include "dev_hdr.h" + +/* + * IO request element, queued on device for delayed replies. + */ +typedef struct io_req *io_req_t; +struct io_req { + struct io_req * io_next; /* next, ... */ + struct io_req * io_prev; /* prev pointers: link in done, + defered, or in-progress list */ + mach_device_t io_device; /* pointer to open-device structure */ + char * io_dev_ptr; /* pointer to driver structure - + filled in by driver if necessary */ + int io_unit; /* unit number ('minor') of device */ + int io_op; /* IO operation */ + dev_mode_t io_mode; /* operation mode (wait, truncate) */ + recnum_t io_recnum; /* starting record number for + random-access devices */ + + union io_un { + io_buf_ptr_t data; /* data, for IO requests */ + } io_un; +#define io_data io_un.data + + long io_count; /* amount requested */ + long io_alloc_size; /* amount allocated */ + long io_residual; /* amount NOT done */ + io_return_t io_error; /* error code */ + /* call when done - returns TRUE if IO really finished */ + boolean_t (*io_done)(io_req_t); + mach_port_t io_reply_port; /* reply port, for asynchronous + messages */ + mach_msg_type_name_t io_reply_port_type; + /* send or send-once right? */ + struct io_req * io_link; /* forward link (for driver header) */ + struct io_req * io_rlink; /* reverse link (for driver header) */ +// vm_map_copy_t io_copy; /* vm_map_copy obj. for this op. */ + long io_total; /* total op size, for write */ + struct mutex io_req_lock; +// decl_simple_lock_data(,io_req_lock) + /* Lock for this structure */ + long io_physrec; /* mapping to the physical block + number */ + long io_rectotal; /* total number of blocks to move */ +}; + +/* + * LOCKING NOTE: Operations on io_req's are in general single threaded by + * the invoking code, obviating the need for a lock. The usual IO_CALL + * path through the code is: Initiating thread hands io_req to device driver, + * driver passes it to io_done thread, io_done thread sends reply message. No + * locking is needed in this sequence. Unfortunately, a synchronous wait + * for a buffer requires a lock to avoid problems if the wait and interrupt + * happen simultaneously on different processors. + */ + +#define ior_lock(ior) mutex_lock(&(ior)->io_req_lock) +#define ior_unlock(ior) mutex_unlock(&(ior)->io_req_lock) + +/* + * Flags and operations + */ + +#define IO_WRITE 0x00000000 /* operation is write */ +#define IO_READ 0x00000001 /* operation is read */ +#define IO_OPEN 0x00000002 /* operation is open */ +#define IO_DONE 0x00000100 /* operation complete */ +#define IO_ERROR 0x00000200 /* error on operation */ +#define IO_BUSY 0x00000400 /* operation in progress */ +#define IO_WANTED 0x00000800 /* wakeup when no longer BUSY */ +#define IO_BAD 0x00001000 /* bad disk block */ +#define IO_CALL 0x00002000 /* call io_done_thread when done */ +#define IO_INBAND 0x00004000 /* mig call was inband */ +#define IO_INTERNAL 0x00008000 /* internal, device-driver specific */ +#define IO_LOANED 0x00010000 /* ior loaned by another module */ + +#define IO_SPARE_START 0x00020000 /* start of spare flags */ + +/* + * Standard completion routine for io_requests. + */ +void iodone(io_req_t); + +/* + * Macros to allocate and free IORs - will convert to zones later. + */ +#define io_req_alloc(ior,size) \ + MACRO_BEGIN \ + (ior) = (io_req_t)malloc(sizeof(struct io_req)); \ + mutex_init(&(ior)->io_req_lock); \ + MACRO_END + +#define io_req_free(ior) \ + (free(ior)) + + +//zone_t io_inband_zone; /* for inband reads */ + +#endif /* _IO_REQ_ */ diff --git a/libmachdev/mach.defs b/libmachdev/mach.defs new file mode 100644 index 00000000..764bd451 --- /dev/null +++ b/libmachdev/mach.defs @@ -0,0 +1,779 @@ +/* + * Mach Operating System + * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University. + * Copyright (c) 1993,1994 The University of Utah and + * the Computer Systems Laboratory (CSL). + * All rights reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * CARNEGIE MELLON, THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF + * THIS SOFTWARE IN ITS "AS IS" CONDITION, AND DISCLAIM ANY LIABILITY + * OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF + * THIS SOFTWARE. + * + * Carnegie Mellon requests users of this software to return to + * + * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU + * School of Computer Science + * Carnegie Mellon University + * Pittsburgh PA 15213-3890 + * + * any improvements or extensions that they make and grant Carnegie Mellon + * the rights to redistribute these changes. + */ +/* + * Matchmaker definitions file for Mach kernel interface. + */ + +#ifdef MACH_KERNEL +simport ; /* for obsolete routines */ +#endif /* MACH_KERNEL */ + +subsystem +#if KERNEL_USER + KernelUser +#endif /* KERNEL_USER */ +#if KERNEL_SERVER + KernelServer +#endif /* KERNEL_SERVER */ + mach 2000; + +#ifdef KERNEL_USER +userprefix r_; +#endif /* KERNEL_USER */ + +#include +#include + +skip; /* old port_allocate */ +skip; /* old port_deallocate */ +skip; /* old port_enable */ +skip; /* old port_disable */ +skip; /* old port_select */ +skip; /* old port_set_backlog */ +skip; /* old port_status */ + +/* + * Create a new task with an empty set of IPC rights, + * and having an address space constructed from the + * target task (or empty, if inherit_memory is FALSE). + */ +routine task_create( + target_task : task_t; + inherit_memory : boolean_t; + out child_task : task_t); + +/* + * Destroy the target task, causing all of its threads + * to be destroyed, all of its IPC rights to be deallocated, + * and all of its address space to be deallocated. + */ +routine task_terminate( + target_task : task_t); + +/* + * Get user-level handler entry points for all + * emulated system calls. + */ +routine task_get_emulation_vector( + task : task_t; + out vector_start : int; + out emulation_vector: emulation_vector_t); + +/* + * Establish user-level handlers for the specified + * system calls. Non-emulated system calls are specified + * with emulation_vector[i] == EML_ROUTINE_NULL. + */ +routine task_set_emulation_vector( + task : task_t; + vector_start : int; + emulation_vector: emulation_vector_t); + + +/* + * Returns the set of threads belonging to the target task. + */ +routine task_threads( + target_task : task_t; + out thread_list : thread_array_t); + +/* + * Returns information about the target task. + */ +routine task_info( + target_task : task_t; + flavor : int; + out task_info_out : task_info_t, CountInOut); + + +skip; /* old task_status */ +skip; /* old task_set_notify */ +skip; /* old thread_create */ + +/* + * Destroy the target thread. + */ +routine thread_terminate( + target_thread : thread_t); + +/* + * Return the selected state information for the target + * thread. If the thread is currently executing, the results + * may be stale. [Flavor THREAD_STATE_FLAVOR_LIST provides a + * list of valid flavors for the target thread.] + */ +routine thread_get_state( + target_thread : thread_t; + flavor : int; + out old_state : thread_state_t, CountInOut); + +/* + * Set the selected state information for the target thread. + * If the thread is currently executing, the state change + * may be ill-defined. + */ +routine thread_set_state( + target_thread : thread_t; + flavor : int; + new_state : thread_state_t); + +/* + * Returns information about the target thread. + */ +routine thread_info( + target_thread : thread_t; + flavor : int; + out thread_info_out : thread_info_t, CountInOut); + +skip; /* old thread_mutate */ + +/* + * Allocate zero-filled memory in the address space + * of the target task, either at the specified address, + * or wherever space can be found (if anywhere is TRUE), + * of the specified size. The address at which the + * allocation actually took place is returned. + */ +#ifdef EMULATOR +skip; /* the emulator redefines vm_allocate using vm_map */ +#else /* EMULATOR */ +routine vm_allocate( + target_task : vm_task_t; + inout address : vm_address_t; + size : vm_size_t; + anywhere : boolean_t); +#endif /* EMULATOR */ + +skip; /* old vm_allocate_with_pager */ + +/* + * Deallocate the specified range from the virtual + * address space of the target task. + */ +routine vm_deallocate( + target_task : vm_task_t; + address : vm_address_t; + size : vm_size_t); + +/* + * Set the current or maximum protection attribute + * for the specified range of the virtual address + * space of the target task. The current protection + * limits the memory access rights of threads within + * the task; the maximum protection limits the accesses + * that may be given in the current protection. + * Protections are specified as a set of {read, write, execute} + * *permissions*. + */ +routine vm_protect( + target_task : vm_task_t; + address : vm_address_t; + size : vm_size_t; + set_maximum : boolean_t; + new_protection : vm_prot_t); + +/* + * Set the inheritance attribute for the specified range + * of the virtual address space of the target task. + * The inheritance value is one of {none, copy, share}, and + * specifies how the child address space should acquire + * this memory at the time of a task_create call. + */ +routine vm_inherit( + target_task : vm_task_t; + address : vm_address_t; + size : vm_size_t; + new_inheritance : vm_inherit_t); + +/* + * Returns the contents of the specified range of the + * virtual address space of the target task. [The + * range must be aligned on a virtual page boundary, + * and must be a multiple of pages in extent. The + * protection on the specified range must permit reading.] + */ +routine vm_read( + target_task : vm_task_t; + address : vm_address_t; + size : vm_size_t; + out data : pointer_t); + +/* + * Writes the contents of the specified range of the + * virtual address space of the target task. [The + * range must be aligned on a virtual page boundary, + * and must be a multiple of pages in extent. The + * protection on the specified range must permit writing.] + */ +routine vm_write( + target_task : vm_task_t; + address : vm_address_t; + data : pointer_t); + +/* + * Copy the contents of the source range of the virtual + * address space of the target task to the destination + * range in that same address space. [Both of the + * ranges must be aligned on a virtual page boundary, + * and must be multiples of pages in extent. The + * protection on the source range must permit reading, + * and the protection on the destination range must + * permit writing.] + */ +routine vm_copy( + target_task : vm_task_t; + source_address : vm_address_t; + size : vm_size_t; + dest_address : vm_address_t); + +/* + * Returns information about the contents of the virtual + * address space of the target task at the specified + * address. The returned protection, inheritance, sharing + * and memory object values apply to the entire range described + * by the address range returned; the memory object offset + * corresponds to the beginning of the address range. + * [If the specified address is not allocated, the next + * highest address range is described. If no addresses beyond + * the one specified are allocated, the call returns KERN_NO_SPACE.] + */ +routine vm_region( + target_task : vm_task_t; + inout address : vm_address_t; + out size : vm_size_t; + out protection : vm_prot_t; + out max_protection : vm_prot_t; + out inheritance : vm_inherit_t; + out is_shared : boolean_t; + /* avoid out-translation of the argument */ + out object_name : memory_object_name_t = + MACH_MSG_TYPE_MOVE_SEND + ctype: mach_port_t; + out offset : vm_offset_t); + +/* + * Return virtual memory statistics for the host + * on which the target task resides. [Note that the + * statistics are not specific to the target task.] + */ +routine vm_statistics( + target_task : vm_task_t; + out vm_stats : vm_statistics_data_t); + +skip; /* old task_by_u*x_pid */ +skip; /* old vm_pageable */ + +/* + * Stash a handful of ports for the target task; child + * tasks inherit this stash at task_create time. + */ +routine mach_ports_register( + target_task : task_t; + init_port_set : mach_port_array_t = + ^array[] of mach_port_t); + +/* + * Retrieve the stashed ports for the target task. + */ +routine mach_ports_lookup( + target_task : task_t; + out init_port_set : mach_port_array_t = + ^array[] of mach_port_t); + +skip; /* old u*x_pid */ +skip; /* old netipc_listen */ +skip; /* old netipc_ignore */ + +/* + * Provide the data contents of a range of the given memory + * object, with the access restriction specified. [Only + * whole virtual pages of data can be accepted; partial pages + * will be discarded. Data should be provided on request, but + * may be provided in advance as desired. When data already + * held by this kernel is provided again, the new data is ignored. + * The access restriction is the subset of {read, write, execute} + * which are prohibited. The kernel may not provide any data (or + * protection) consistency among pages with different virtual page + * alignments within the same object.] + */ +simpleroutine memory_object_data_provided( + memory_control : memory_object_control_t; + offset : vm_offset_t; + data : pointer_t; + lock_value : vm_prot_t); + +/* + * Indicate that a range of the given temporary memory object does + * not exist, and that the backing memory object should be used + * instead (or zero-fill memory be used, if no backing object exists). + * [This call is intended for use only by the default memory manager. + * It should not be used to indicate a real error -- + * memory_object_data_error should be used for that purpose.] + */ +simpleroutine memory_object_data_unavailable( + memory_control : memory_object_control_t; + offset : vm_offset_t; + size : vm_size_t); + +/* + * Retrieves the attributes currently associated with + * a memory object. + */ +routine memory_object_get_attributes( + memory_control : memory_object_control_t; + out object_ready : boolean_t; + out may_cache : boolean_t; + out copy_strategy : memory_object_copy_strategy_t); + +/* + * Sets the default memory manager, the port to which + * newly-created temporary memory objects are delivered. + * [See (memory_object_default)memory_object_create.] + * The old memory manager port is returned. + */ +routine vm_set_default_memory_manager( + host_priv : host_priv_t; + inout default_manager : mach_port_make_send_t); + +skip; /* old pager_flush_request */ + +/* + * Control use of the data associated with the given + * memory object. For each page in the given range, + * perform the following operations, in order: + * 1) restrict access to the page (disallow + * forms specified by "prot"); + * 2) write back modifications (if "should_return" + * is RETURN_DIRTY and the page is dirty, or + * "should_return" is RETURN_ALL and the page + * is either dirty or precious); and, + * 3) flush the cached copy (if "should_flush" + * is asserted). + * The set of pages is defined by a starting offset + * ("offset") and size ("size"). Only pages with the + * same page alignment as the starting offset are + * considered. + * + * A single acknowledgement is sent (to the "reply_to" + * port) when these actions are complete. + * + * There are two versions of this routine because IPC distinguishes + * between booleans and integers (a 2-valued integer is NOT a + * boolean). The new routine is backwards compatible at the C + * language interface. + */ +simpleroutine xxx_memory_object_lock_request( + memory_control : memory_object_control_t; + offset : vm_offset_t; + size : vm_size_t; + should_clean : boolean_t; + should_flush : boolean_t; + lock_value : vm_prot_t; + reply_to : mach_port_t = + MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); + + +simpleroutine memory_object_lock_request( + memory_control : memory_object_control_t; + offset : vm_offset_t; + size : vm_size_t; + should_return : memory_object_return_t; + should_flush : boolean_t; + lock_value : vm_prot_t; + reply_to : mach_port_t = + MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); + +/* obsolete */ +routine xxx_task_get_emulation_vector( + task : task_t; + out vector_start : int; + out emulation_vector: xxx_emulation_vector_t, IsLong); + +/* obsolete */ +routine xxx_task_set_emulation_vector( + task : task_t; + vector_start : int; + emulation_vector: xxx_emulation_vector_t, IsLong); + +/* + * Returns information about the host on which the + * target object resides. [This object may be + * a task, thread, or memory_object_control port.] + */ +routine xxx_host_info( + target_task : mach_port_t; + out info : machine_info_data_t); + +/* + * Returns information about a particular processor on + * the host on which the target task resides. + */ +routine xxx_slot_info( + target_task : task_t; + slot : int; + out info : machine_slot_data_t); + +/* + * Performs control operations (currently only + * turning off or on) on a particular processor on + * the host on which the target task resides. + */ +routine xxx_cpu_control( + target_task : task_t; + cpu : int; + running : boolean_t); + +skip; /* old thread_statistics */ +skip; /* old task_statistics */ +skip; /* old netport_init */ +skip; /* old netport_enter */ +skip; /* old netport_remove */ +skip; /* old thread_set_priority */ + +/* + * Increment the suspend count for the target task. + * No threads within a task may run when the suspend + * count for that task is non-zero. + */ +routine task_suspend( + target_task : task_t); + +/* + * Decrement the suspend count for the target task, + * if the count is currently non-zero. If the resulting + * suspend count is zero, then threads within the task + * that also have non-zero suspend counts may execute. + */ +routine task_resume( + target_task : task_t); + +/* + * Returns the current value of the selected special port + * associated with the target task. + */ +routine task_get_special_port( + task : task_t; + which_port : int; + out special_port : mach_port_t); + +/* + * Set one of the special ports associated with the + * target task. + */ +routine task_set_special_port( + task : task_t; + which_port : int; + special_port : mach_port_t); + +/* obsolete */ +routine xxx_task_info( + target_task : task_t; + flavor : int; + out task_info_out : task_info_t, IsLong); + + +/* + * Create a new thread within the target task, returning + * the port representing that new thread. The + * initial execution state of the thread is undefined. + */ +routine thread_create( + parent_task : task_t; + out child_thread : thread_t); + +/* + * Increment the suspend count for the target thread. + * Once this call has completed, the thread will not + * execute any further user or meta- instructions. + * Once suspended, a thread may not execute again until + * its suspend count is zero, and the suspend count + * for its task is also zero. + */ +routine thread_suspend( + target_thread : thread_t); + +/* + * Decrement the suspend count for the target thread, + * if that count is not already zero. + */ +routine thread_resume( + target_thread : thread_t); + +/* + * Cause any user or meta- instructions currently being + * executed by the target thread to be aborted. [Meta- + * instructions consist of the basic traps for IPC + * (e.g., msg_send, msg_receive) and self-identification + * (e.g., task_self, thread_self, thread_reply). Calls + * described by MiG interfaces are not meta-instructions + * themselves.] + */ +routine thread_abort( + target_thread : thread_t); + +/* obsolete */ +routine xxx_thread_get_state( + target_thread : thread_t; + flavor : int; + out old_state : thread_state_t, IsLong); + +/* obsolete */ +routine xxx_thread_set_state( + target_thread : thread_t; + flavor : int; + new_state : thread_state_t, IsLong); + +/* + * Returns the current value of the selected special port + * associated with the target thread. + */ +routine thread_get_special_port( + thread : thread_t; + which_port : int; + out special_port : mach_port_t); + +/* + * Set one of the special ports associated with the + * target thread. + */ +routine thread_set_special_port( + thread : thread_t; + which_port : int; + special_port : mach_port_t); + +/* obsolete */ +routine xxx_thread_info( + target_thread : thread_t; + flavor : int; + out thread_info_out : thread_info_t, IsLong); + +/* + * Establish a user-level handler for the specified + * system call. + */ +routine task_set_emulation( + target_port : task_t; + routine_entry_pt: vm_address_t; + routine_number : int); + +/* + * Establish restart pc for interrupted atomic sequences. + * This reuses the message number for the old task_get_io_port. + * See task_info.h for description of flavors. + * + */ +routine task_ras_control( + target_task : task_t; + basepc : vm_address_t; + boundspc : vm_address_t; + flavor : int); + + + +skip; /* old host_ipc_statistics */ +skip; /* old port_names */ +skip; /* old port_type */ +skip; /* old port_rename */ +skip; /* old port_allocate */ +skip; /* old port_deallocate */ +skip; /* old port_set_backlog */ +skip; /* old port_status */ +skip; /* old port_set_allocate */ +skip; /* old port_set_deallocate */ +skip; /* old port_set_add */ +skip; /* old port_set_remove */ +skip; /* old port_set_status */ +skip; /* old port_insert_send */ +skip; /* old port_extract_send */ +skip; /* old port_insert_receive */ +skip; /* old port_extract_receive */ + +/* + * Map a user-defined memory object into the virtual address + * space of the target task. If desired (anywhere is TRUE), + * the kernel will find a suitable address range of the + * specified size; else, the specific address will be allocated. + * + * The beginning address of the range will be aligned on a virtual + * page boundary, be at or beyond the address specified, and + * meet the mask requirements (bits turned on in the mask must not + * be turned on in the result); the size of the range, in bytes, + * will be rounded up to an integral number of virtual pages. + * + * The memory in the resulting range will be associated with the + * specified memory object, with the beginning of the memory range + * referring to the specified offset into the memory object. + * + * The mapping will take the current and maximum protections and + * the inheritance attributes specified; see the vm_protect and + * vm_inherit calls for a description of these attributes. + * + * If desired (copy is TRUE), the memory range will be filled + * with a copy of the data from the memory object; this copy will + * be private to this mapping in this target task. Otherwise, + * the memory in this mapping will be shared with other mappings + * of the same memory object at the same offset (in this task or + * in other tasks). [The Mach kernel only enforces shared memory + * consistency among mappings on one host with similar page alignments. + * The user-defined memory manager for this object is responsible + * for further consistency.] + */ +#ifdef EMULATOR +routine htg_vm_map( + target_task : vm_task_t; + ureplyport reply_port : mach_port_make_send_once_t; + inout address : vm_address_t; + size : vm_size_t; + mask : vm_address_t; + anywhere : boolean_t; + memory_object : memory_object_t; + offset : vm_offset_t; + copy : boolean_t; + cur_protection : vm_prot_t; + max_protection : vm_prot_t; + inheritance : vm_inherit_t); +#else /* EMULATOR */ +routine vm_map( + target_task : vm_task_t; + inout address : vm_address_t; + size : vm_size_t; + mask : vm_address_t; + anywhere : boolean_t; + memory_object : memory_object_t; + offset : vm_offset_t; + copy : boolean_t; + cur_protection : vm_prot_t; + max_protection : vm_prot_t; + inheritance : vm_inherit_t); +#endif /* EMULATOR */ + +/* + * Indicate that a range of the specified memory object cannot + * be provided at this time. [Threads waiting for memory pages + * specified by this call will experience a memory exception. + * Only threads waiting at the time of the call are affected.] + */ +simpleroutine memory_object_data_error( + memory_control : memory_object_control_t; + offset : vm_offset_t; + size : vm_size_t; + error_value : kern_return_t); + +/* + * Make decisions regarding the use of the specified + * memory object. + */ +simpleroutine memory_object_set_attributes( + memory_control : memory_object_control_t; + object_ready : boolean_t; + may_cache : boolean_t; + copy_strategy : memory_object_copy_strategy_t); + +/* + */ +simpleroutine memory_object_destroy( + memory_control : memory_object_control_t; + reason : kern_return_t); + +/* + * Provide the data contents of a range of the given memory + * object, with the access restriction specified, optional + * precious attribute, and reply message. [Only + * whole virtual pages of data can be accepted; partial pages + * will be discarded. Data should be provided on request, but + * may be provided in advance as desired. When data already + * held by this kernel is provided again, the new data is ignored. + * The access restriction is the subset of {read, write, execute} + * which are prohibited. The kernel may not provide any data (or + * protection) consistency among pages with different virtual page + * alignments within the same object. The precious value controls + * how the kernel treats the data. If it is FALSE, the kernel treats + * its copy as a temporary and may throw it away if it hasn't been + * changed. If the precious value is TRUE, the kernel treats its + * copy as a data repository and promises to return it to the manager; + * the manager may tell the kernel to throw it away instead by flushing + * and not cleaning the data -- see memory_object_lock_request. The + * reply_to port is for a compeletion message; it will be + * memory_object_supply_completed.] + */ + +simpleroutine memory_object_data_supply( + memory_control : memory_object_control_t; + offset : vm_offset_t; + data : pointer_t, Dealloc[]; + lock_value : vm_prot_t; + precious : boolean_t; + reply_to : mach_port_t = + MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); + +simpleroutine memory_object_ready( + memory_control : memory_object_control_t; + may_cache : boolean_t; + copy_strategy : memory_object_copy_strategy_t); + +simpleroutine memory_object_change_attributes( + memory_control : memory_object_control_t; + may_cache : boolean_t; + copy_strategy : memory_object_copy_strategy_t; + reply_to : mach_port_t = + MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); + +skip; /* old host_callout_statistics_reset */ +skip; /* old port_set_select */ +skip; /* old port_set_backup */ + +/* + * Set/Get special properties of memory associated + * to some virtual address range, such as cachability, + * migrability, replicability. Machine-dependent. + */ +routine vm_machine_attribute( + target_task : vm_task_t; + address : vm_address_t; + size : vm_size_t; + attribute : vm_machine_attribute_t; + inout value : vm_machine_attribute_val_t); + +/*skip;*/ /* old host_fpa_counters_reset */ + +/* + * This routine is created for allocating DMA buffers. + * We are going to get a contiguous physical memory + * and its physical address in addition to the virtual address. + */ +routine vm_dma_buff_alloc( + host_priv : host_priv_t; + target_task : vm_task_t; + size : vm_size_t; + out vaddr : vm_address_t; + out paddr : vm_address_t); + +/* + * There is no more room in this interface for additional calls. + */ diff --git a/libmachdev/net.c b/libmachdev/net.c new file mode 100644 index 00000000..f14e9350 --- /dev/null +++ b/libmachdev/net.c @@ -0,0 +1,679 @@ +/* + * Linux network driver support. + * + * Copyright (C) 1996 The University of Utah and the Computer Systems + * Laboratory at the University of Utah (CSL) + * + * This program 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. + * + * This program 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 this program; if not, write to the Free Software + * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Author: Shantanu Goel, University of Utah CSL + */ + +/* + * INET An implementation of the TCP/IP protocol suite for the LINUX + * operating system. INET is implemented using the BSD Socket + * interface as the means of communication with the user level. + * + * Ethernet-type device handling. + * + * Version: @(#)eth.c 1.0.7 05/25/93 + * + * Authors: Ross Biro, + * Fred N. van Kempen, + * Mark Evans, + * Florian La Roche, + * Alan Cox, + * + * Fixes: + * Mr Linux : Arp problems + * Alan Cox : Generic queue tidyup (very tiny here) + * Alan Cox : eth_header ntohs should be htons + * Alan Cox : eth_rebuild_header missing an htons and + * minor other things. + * Tegge : Arp bug fixes. + * Florian : Removed many unnecessary functions, code cleanup + * and changes for new arp and skbuff. + * Alan Cox : Redid header building to reflect new format. + * Alan Cox : ARP only when compiled with CONFIG_INET + * Greg Page : 802.2 and SNAP stuff. + * Alan Cox : MAC layer pointers/new format. + * Paul Gortmaker : eth_copy_and_sum shouldn't csum padding. + * Alan Cox : Protect against forwarding explosions with + * older network drivers and IFF_ALLMULTI + * + * This program 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 of the License, or (at your option) any later version. + */ +#include +#include +#include + +#include "mach_U.h" + +#include +#include + +#define MACH_INCLUDE + +#include "vm_param.h" +#include "device_reply_U.h" +#include "dev_hdr.h" +#include "if_ether.h" +#include "util.h" + +#define ether_header ethhdr + +extern int linux_intr_pri; +extern struct port_bucket *port_bucket; +extern struct port_class *dev_class; + +/* One of these is associated with each instance of a device. */ +struct net_data +{ + struct port_info port; /* device port */ +// struct ifnet ifnet; /* Mach ifnet structure (needed for filters) */ + struct emul_device device; /* generic device structure */ + mach_port_t delivery_port; + struct net_device *dev; /* Linux network device structure */ + struct net_data *next; +}; + +struct skb_reply +{ + mach_port_t reply; + mach_msg_type_name_t reply_type; + int pkglen; +}; + +struct sk_buff; +void skb_done_queue(struct sk_buff *skb); +struct sk_buff *skb_done_dequeue(); +void linux_net_emulation_init (); +void *skb_reply(struct sk_buff *skb); +int netdev_flags(struct net_device *dev); +char *netdev_addr(struct net_device *dev); +int dev_change_flags (struct net_device *dev, short flags); +int linux_pkg_xmit (char *pkg_data, int len, void *del_data, + int (*del_func) (struct sk_buff *, void *), + struct net_device *dev); +struct net_device *search_netdev (char *name); +void kfree_skb (struct sk_buff *skb); +int dev_open(struct net_device *dev); +void *l4dde26_register_rx_callback(void *cb); +void skb_done_head_init(); + +struct net_data *nd_head; + +/* Forward declarations. */ + +extern struct device_emulation_ops linux_net_emulation_ops; + +static int print_packet_size = 0; + +mach_msg_type_t header_type = +{ + MACH_MSG_TYPE_BYTE, + 8, + NET_HDW_HDR_MAX, + TRUE, + FALSE, + FALSE, + 0 +}; + +mach_msg_type_t packet_type = +{ + MACH_MSG_TYPE_BYTE, /* name */ + 8, /* size */ + 0, /* number */ + TRUE, /* inline */ + FALSE, /* longform */ + FALSE /* deallocate */ +}; + +struct net_data *search_nd (struct net_device *dev) +{ + struct net_data *nd = nd_head; + + //TODO protected by locks. + while (nd) + { + if (nd->dev == dev) + return nd; + nd = nd->next; + } + return NULL; +} + +/* Linux kernel network support routines. */ + +/* Free all sk_buffs on the done list. + This routine is called by the iodone thread in ds_routines.c. */ +void +free_skbuffs () +{ + struct sk_buff *skb; + + while (1) + { + skb = skb_done_dequeue (); + if (skb) + { + struct skb_reply *reply = skb_reply(skb); + if (MACH_PORT_VALID (reply->reply)) + { + ds_device_write_reply (reply->reply, reply->reply_type, + 0, reply->pkglen); + reply->reply = MACH_PORT_NULL; + } + kfree_skb (skb); + } + else + break; + } +} + +/* actions before freeing the sk_buff SKB. + * If it returns 1, the packet will be deallocated later. */ +int +pre_kfree_skb (struct sk_buff *skb, void *data) +{ + struct skb_reply *reply = data; + extern void wakeup_io_done_thread (); + + /* Queue sk_buff on done list if there is a + page list attached or we need to send a reply. + Wakeup the iodone thread to process the list. */ + if (reply && MACH_PORT_VALID (reply->reply)) + { + skb_done_queue (skb); + wakeup_io_done_thread (); + return 1; + } + return 0; +} + +/* + * Deliver the message to all right pfinet servers that + * connects to the virtual network interface. + */ +int +deliver_msg(mach_port_t dest, struct net_rcv_msg *msg) +{ + mach_msg_return_t err; + + msg->msg_hdr.msgh_bits = MACH_MSGH_BITS (MACH_MSG_TYPE_COPY_SEND, 0); + /* remember message sizes must be rounded up */ + msg->msg_hdr.msgh_local_port = MACH_PORT_NULL; + msg->msg_hdr.msgh_kind = MACH_MSGH_KIND_NORMAL; + msg->msg_hdr.msgh_id = NET_RCV_MSG_ID; + + msg->msg_hdr.msgh_remote_port = dest; + err = mach_msg ((mach_msg_header_t *)msg, + MACH_SEND_MSG|MACH_SEND_TIMEOUT, + msg->msg_hdr.msgh_size, 0, MACH_PORT_NULL, + 0, MACH_PORT_NULL); + if (err != MACH_MSG_SUCCESS) + { + mach_port_deallocate(mach_task_self (), + ((mach_msg_header_t *)msg)->msgh_remote_port); + return err; + } + + return MACH_MSG_SUCCESS; +} + +/* Accept packet SKB received on an interface. */ +void +netif_rx_handle (char *data, int len, struct net_device *dev) +{ + int pack_size; + net_rcv_msg_t net_msg; + struct ether_header *eh; + struct packet_header *ph; + struct net_data *nd; + + if (print_packet_size) + printf ("netif_rx: length %d\n", len); + + nd = search_nd(dev); + assert (nd); + + /* Allocate a kernel message buffer. */ + net_msg = malloc (sizeof (*net_msg)); + if (!net_msg) + return; + + pack_size = len - sizeof (struct ethhdr); + /* remember message sizes must be rounded up */ + net_msg->msg_hdr.msgh_size = (((mach_msg_size_t) (sizeof(struct net_rcv_msg) + - NET_RCV_MAX + pack_size)) + 3) & ~3; + + /* Copy packet into message buffer. */ + eh = (struct ether_header *) (net_msg->header); + ph = (struct packet_header *) (net_msg->packet); + memcpy (eh, data, sizeof (struct ether_header)); + /* packet is prefixed with a struct packet_header, + see include/device/net_status.h. */ + memcpy (ph + 1, data + sizeof (struct ether_header), pack_size); + ph->type = eh->h_proto; + ph->length = pack_size + sizeof (struct packet_header); + + net_msg->sent = FALSE; /* Mark packet as received. */ + + net_msg->header_type = header_type; + net_msg->packet_type = packet_type; + net_msg->net_rcv_msg_packet_count = ph->length; + deliver_msg (nd->delivery_port, net_msg); + free (net_msg); +} + +/* Mach device interface routines. */ + +/* Return a send right associated with network device ND. */ +static mach_port_t +dev_to_port (void *nd) +{ + return (nd + ? ports_get_send_right (nd) + : MACH_PORT_NULL); +} + +#if 0 +/* + * Initialize send and receive queues on an interface. + */ +void if_init_queues(ifp) + register struct ifnet *ifp; +{ + IFQ_INIT(&ifp->if_snd); + queue_init(&ifp->if_rcv_port_list); + queue_init(&ifp->if_snd_port_list); + simple_lock_init(&ifp->if_rcv_port_list_lock); + simple_lock_init(&ifp->if_snd_port_list_lock); +} +#endif + +static io_return_t +device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, + dev_mode_t mode, char *name, device_t *devp) +{ + io_return_t err = D_SUCCESS; + struct net_device *dev; + struct net_data *nd; +// struct ifnet *ifp; + + /* Search for the device. */ + dev = search_netdev (name); + if (!dev) + return D_NO_SUCH_DEVICE; + + /* Allocate and initialize device data if this is the first open. */ + nd = search_nd (dev); + if (!nd) + { + err = ports_create_port (dev_class, port_bucket, + sizeof (*nd), &nd); + if (err) + goto out; + + nd->dev = dev; + nd->device.emul_data = nd; + nd->device.emul_ops = &linux_net_emulation_ops; + nd->next = nd_head; + nd_head = nd; +#if 0 + ipc_kobject_set (nd->port, (ipc_kobject_t) & nd->device, IKOT_DEVICE); + notify = ipc_port_make_sonce (nd->port); + ip_lock (nd->port); + ipc_port_nsrequest (nd->port, 1, notify, ¬ify); + assert (notify == IP_NULL); + + ifp = &nd->ifnet; + ifp->if_unit = dev->name[strlen (dev->name) - 1] - '0'; + ifp->if_flags = IFF_UP | IFF_RUNNING; + ifp->if_mtu = dev->mtu; + ifp->if_header_size = dev->hard_header_len; + ifp->if_header_format = dev->type; + ifp->if_address_size = dev->addr_len; + ifp->if_address = dev->dev_addr; + if_init_queues (ifp); +#endif + + if (dev_open(dev) < 0) + err = D_NO_SUCH_DEVICE; + + out: + if (err) + { + if (nd) + { + ports_destroy_right (nd); + nd = NULL; + } + } + else + { +#if 0 + /* IPv6 heavily relies on multicasting (especially router and + neighbor solicits and advertisements), so enable reception of + those multicast packets by setting `LINUX_IFF_ALLMULTI'. */ + dev->flags |= LINUX_IFF_UP | LINUX_IFF_RUNNING | LINUX_IFF_ALLMULTI; + skb_queue_head_init (&dev->buffs[0]); + + if (dev->set_multicast_list) + dev->set_multicast_list (dev); +#endif + } + if (MACH_PORT_VALID (reply_port)) + ds_device_open_reply (reply_port, reply_port_type, + err, dev_to_port (nd)); + return MIG_NO_REPLY; + } + + *devp = ports_get_right (nd); + return D_SUCCESS; +} + +static io_return_t +device_write (void *d, mach_port_t reply_port, + mach_msg_type_name_t reply_port_type, dev_mode_t mode, + recnum_t bn, io_buf_ptr_t data, unsigned int count, + int *bytes_written) +{ + struct net_data *nd = d; + struct net_device *dev = nd->dev; + struct skb_reply *skb_reply = malloc (sizeof (*skb_reply)); + + if (skb_reply == NULL) + return D_NO_MEMORY; + + skb_reply->pkglen = count; + skb_reply->reply = reply_port; + skb_reply->reply_type = reply_port_type; + + linux_pkg_xmit (data, count, skb_reply, pre_kfree_skb, dev); + vm_deallocate (mach_task_self (), (vm_address_t) data, count); + + /* Send packet to filters. */ + // TODO should I deliver the packet to other network stacks? +#if 0 + { + struct packet_header *packet; + struct ether_header *header; + ipc_kmsg_t kmsg; + + kmsg = net_kmsg_get (); + + if (kmsg != IKM_NULL) + { + /* Suitable for Ethernet only. */ + header = (struct ether_header *) (net_kmsg (kmsg)->header); + packet = (struct packet_header *) (net_kmsg (kmsg)->packet); + memcpy (header, skb->data, sizeof (struct ether_header)); + + /* packet is prefixed with a struct packet_header, + see include/device/net_status.h. */ + memcpy (packet + 1, skb->data + sizeof (struct ether_header), + skb->len - sizeof (struct ether_header)); + packet->length = skb->len - sizeof (struct ether_header) + + sizeof (struct packet_header); + packet->type = header->ether_type; + net_kmsg (kmsg)->sent = TRUE; /* Mark packet as sent. */ + s = splimp (); + net_packet (&dev->net_data->ifnet, kmsg, packet->length, + ethernet_priority (kmsg)); + splx (s); + } + } +#endif + + return MIG_NO_REPLY; +} + +/* + * Other network operations + */ +io_return_t +net_getstat(dev, flavor, status, count) + struct net_device *dev; + dev_flavor_t flavor; + dev_status_t status; /* pointer to OUT array */ + natural_t *count; /* OUT */ +{ +#define ETHERMTU 1500 + switch (flavor) { + case NET_STATUS: + { + register struct net_status *ns = (struct net_status *)status; + + if (*count < NET_STATUS_COUNT) + return (D_INVALID_OPERATION); + + ns->min_packet_size = 60; + ns->max_packet_size = ETH_HLEN + ETHERMTU; + ns->header_format = HDR_ETHERNET; + ns->header_size = ETH_HLEN; + ns->address_size = ETH_ALEN; + ns->flags = 0; + ns->mapped_size = 0; + + *count = NET_STATUS_COUNT; + break; + } + case NET_ADDRESS: + { + register int addr_byte_count; + register int addr_int_count; + register int i; + + addr_byte_count = ETH_ALEN; + addr_int_count = (addr_byte_count + (sizeof(int)-1)) + / sizeof(int); + + if (*count < addr_int_count) + { + /* XXX debug hack. */ + printf ("net_getstat: count: %d, addr_int_count: %d\n", + *count, addr_int_count); + return (D_INVALID_OPERATION); + } + + memcpy(status, netdev_addr(dev), addr_byte_count); + if (addr_byte_count < addr_int_count * sizeof(int)) + memset((char *)status + addr_byte_count, 0, + (addr_int_count * sizeof(int) + - addr_byte_count)); + + for (i = 0; i < addr_int_count; i++) { + register int word; + + word = status[i]; + status[i] = htonl(word); + } + *count = addr_int_count; + break; + } + default: + return (D_INVALID_OPERATION); + } + return (D_SUCCESS); +} + +static io_return_t +device_get_status (void *d, dev_flavor_t flavor, dev_status_t status, + mach_msg_type_number_t *count) +{ + struct net_data *net = (struct net_data *) d; + + if (flavor == NET_FLAGS) + { + if (*count != sizeof(short)) + return D_INVALID_SIZE; + + *(short *) status = netdev_flags (net->dev); + return D_SUCCESS; + } + +#if 0 + if(flavor >= SIOCIWFIRST && flavor <= SIOCIWLAST) + { + /* handle wireless ioctl */ + if(! IW_IS_GET(flavor)) + return D_INVALID_OPERATION; + + if(*count * sizeof(int) < sizeof(struct ifreq)) + return D_INVALID_OPERATION; + + struct net_data *nd = d; + struct linux_device *dev = nd->dev; + + if(! dev->do_ioctl) + return D_INVALID_OPERATION; + + int result; + + if (flavor == SIOCGIWRANGE || flavor == SIOCGIWENCODE + || flavor == SIOCGIWESSID || flavor == SIOCGIWNICKN + || flavor == SIOCGIWSPY) + { + /* + * These ioctls require an `iw_point' as their argument (i.e. + * they want to return some data to userspace. + * Therefore supply some sane values and carry the data back + * to userspace right behind the `struct iwreq'. + */ + struct iw_point *iwp = &((struct iwreq *) status)->u.data; + iwp->length = *count * sizeof (dev_status_t) - sizeof (struct ifreq); + iwp->pointer = (void *) status + sizeof (struct ifreq); + + result = dev->do_ioctl (dev, (struct ifreq *) status, flavor); + + *count = ((sizeof (struct ifreq) + iwp->length) + / sizeof (dev_status_t)); + if (iwp->length % sizeof (dev_status_t)) + (*count) ++; + } + else + { + *count = sizeof(struct ifreq) / sizeof(int); + result = dev->do_ioctl(dev, (struct ifreq *) status, flavor); + } + + return result ? D_IO_ERROR : D_SUCCESS; + } + else +#endif + { + /* common get_status request */ + return net_getstat (net->dev, flavor, status, count); + } +} + +static io_return_t +device_set_status(void *d, dev_flavor_t flavor, dev_status_t status, + mach_msg_type_number_t count) +{ + if (flavor == NET_FLAGS) + { + if (count != sizeof(short)) + return D_INVALID_SIZE; + + short flags = *(short *) status; + struct net_data *net = (struct net_data *) d; + + dev_change_flags (net->dev, flags); + + return D_SUCCESS; + } + return D_INVALID_OPERATION; + +#if 0 + if(flavor < SIOCIWFIRST || flavor > SIOCIWLAST) + return D_INVALID_OPERATION; + + if(! IW_IS_SET(flavor)) + return D_INVALID_OPERATION; + + if(count * sizeof(int) < sizeof(struct ifreq)) + return D_INVALID_OPERATION; + + struct net_data *nd = d; + struct linux_device *dev = nd->dev; + + if(! dev->do_ioctl) + return D_INVALID_OPERATION; + + if((flavor == SIOCSIWENCODE || flavor == SIOCSIWESSID + || flavor == SIOCSIWNICKN || flavor == SIOCSIWSPY) + && ((struct iwreq *) status)->u.data.pointer) + { + struct iw_point *iwp = &((struct iwreq *) status)->u.data; + + /* safety check whether the status array is long enough ... */ + if(count * sizeof(int) < sizeof(struct ifreq) + iwp->length) + return D_INVALID_OPERATION; + + /* make sure, iwp->pointer points to the correct address */ + if(iwp->pointer) iwp->pointer = (void *) status + sizeof(struct ifreq); + } + + int result = dev->do_ioctl(dev, (struct ifreq *) status, flavor); + return result ? D_IO_ERROR : D_SUCCESS; +#endif +} + + +static io_return_t +device_set_filter (void *d, mach_port_t port, int priority, + filter_t * filter, unsigned filter_count) +{ + ((struct net_data *) d)->delivery_port = port; + return 0; +#if 0 + return net_set_filter (&((struct net_data *) d)->ifnet, + port, priority, filter, filter_count); +#endif +} + +/* Do any initialization required for network devices. */ +void linux_net_emulation_init () +{ + skb_done_head_init(); + l4dde26_register_rx_callback(netif_rx_handle); +} + +struct device_emulation_ops linux_net_emulation_ops = +{ + linux_net_emulation_init, + NULL, + NULL, + dev_to_port, + device_open, + NULL, + device_write, + NULL, + NULL, + NULL, + device_set_status, + device_get_status, + device_set_filter, + NULL, + NULL, + NULL, + NULL +}; diff --git a/libmachdev/notify.defs b/libmachdev/notify.defs new file mode 100644 index 00000000..2014be5c --- /dev/null +++ b/libmachdev/notify.defs @@ -0,0 +1 @@ +#include diff --git a/libmachdev/queue.c b/libmachdev/queue.c new file mode 100644 index 00000000..a43a21b0 --- /dev/null +++ b/libmachdev/queue.c @@ -0,0 +1,131 @@ +/* + * Mach Operating System + * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University + * All Rights Reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" + * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR + * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * Carnegie Mellon requests users of this software to return to + * + * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU + * School of Computer Science + * Carnegie Mellon University + * Pittsburgh PA 15213-3890 + * + * any improvements or extensions that they make and grant Carnegie Mellon + * the rights to redistribute these changes. + */ +/* + * Routines to implement queue package. + */ + +#include "queue.h" + + + +/* + * Insert element at head of queue. + */ +void enqueue_head( + register queue_t que, + register queue_entry_t elt) +{ + elt->next = que->next; + elt->prev = que; + elt->next->prev = elt; + que->next = elt; +} + +/* + * Insert element at tail of queue. + */ +void enqueue_tail( + register queue_t que, + register queue_entry_t elt) +{ + elt->next = que; + elt->prev = que->prev; + elt->prev->next = elt; + que->prev = elt; +} + +/* + * Remove and return element at head of queue. + */ +queue_entry_t dequeue_head( + register queue_t que) +{ + register queue_entry_t elt; + + if (que->next == que) + return((queue_entry_t)0); + + elt = que->next; + elt->next->prev = que; + que->next = elt->next; + return(elt); +} + +/* + * Remove and return element at tail of queue. + */ +queue_entry_t dequeue_tail( + register queue_t que) +{ + register queue_entry_t elt; + + if (que->prev == que) + return((queue_entry_t)0); + + elt = que->prev; + elt->prev->next = que; + que->prev = elt->prev; + return(elt); +} + +/* + * Remove arbitrary element from queue. + * Does not check whether element is on queue - the world + * will go haywire if it isn't. + */ + +/*ARGSUSED*/ +void remqueue( + queue_t que, + register queue_entry_t elt) +{ + elt->next->prev = elt->prev; + elt->prev->next = elt->next; +} + +/* + * Routines to directly imitate the VAX hardware queue + * package. + */ +void insque( + register struct queue_entry *entry, + register struct queue_entry *pred) +{ + entry->next = pred->next; + entry->prev = pred; + (pred->next)->prev = entry; + pred->next = entry; +} + +struct queue_entry +*remque( + register struct queue_entry *elt) +{ + (elt->next)->prev = elt->prev; + (elt->prev)->next = elt->next; + return(elt); +} + diff --git a/libmachdev/queue.h b/libmachdev/queue.h new file mode 100644 index 00000000..0637dede --- /dev/null +++ b/libmachdev/queue.h @@ -0,0 +1,370 @@ +/* + * Mach Operating System + * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University + * All Rights Reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" + * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR + * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * Carnegie Mellon requests users of this software to return to + * + * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU + * School of Computer Science + * Carnegie Mellon University + * Pittsburgh PA 15213-3890 + * + * any improvements or extensions that they make and grant Carnegie Mellon rights + * to redistribute these changes. + */ +/* + * File: queue.h + * Author: Avadis Tevanian, Jr. + * Date: 1985 + * + * Type definitions for generic queues. + * + */ + +#ifndef _KERN_QUEUE_H_ +#define _KERN_QUEUE_H_ + +#include + +/* + * Queue of abstract objects. Queue is maintained + * within that object. + * + * Supports fast removal from within the queue. + * + * How to declare a queue of elements of type "foo_t": + * In the "*foo_t" type, you must have a field of + * type "queue_chain_t" to hold together this queue. + * There may be more than one chain through a + * "foo_t", for use by different queues. + * + * Declare the queue as a "queue_t" type. + * + * Elements of the queue (of type "foo_t", that is) + * are referred to by reference, and cast to type + * "queue_entry_t" within this module. + */ + +/* + * A generic doubly-linked list (queue). + */ + +struct queue_entry { + struct queue_entry *next; /* next element */ + struct queue_entry *prev; /* previous element */ +}; + +typedef struct queue_entry *queue_t; +typedef struct queue_entry queue_head_t; +typedef struct queue_entry queue_chain_t; +typedef struct queue_entry *queue_entry_t; + +/* + * enqueue puts "elt" on the "queue". + * dequeue returns the first element in the "queue". + * remqueue removes the specified "elt" from the specified "queue". + */ + +#define enqueue(queue,elt) enqueue_tail(queue, elt) +#define dequeue(queue) dequeue_head(queue) + +void enqueue_head(queue_t, queue_entry_t); +void enqueue_tail(queue_t, queue_entry_t); +queue_entry_t dequeue_head(queue_t); +queue_entry_t dequeue_tail(queue_t); +void remqueue(queue_t, queue_entry_t); +void insque(queue_entry_t, queue_entry_t); + +/* + * Macro: queue_init + * Function: + * Initialize the given queue. + * Header: + * void queue_init(q) + * queue_t q; *MODIFIED* + */ +#define queue_init(q) ((q)->next = (q)->prev = q) + +/* + * Macro: queue_first + * Function: + * Returns the first entry in the queue, + * Header: + * queue_entry_t queue_first(q) + * queue_t q; *IN* + */ +#define queue_first(q) ((q)->next) + +/* + * Macro: queue_next + * Function: + * Returns the entry after an item in the queue. + * Header: + * queue_entry_t queue_next(qc) + * queue_t qc; + */ +#define queue_next(qc) ((qc)->next) + +/* + * Macro: queue_last + * Function: + * Returns the last entry in the queue. + * Header: + * queue_entry_t queue_last(q) + * queue_t q; *IN* + */ +#define queue_last(q) ((q)->prev) + +/* + * Macro: queue_prev + * Function: + * Returns the entry before an item in the queue. + * Header: + * queue_entry_t queue_prev(qc) + * queue_t qc; + */ +#define queue_prev(qc) ((qc)->prev) + +/* + * Macro: queue_end + * Function: + * Tests whether a new entry is really the end of + * the queue. + * Header: + * boolean_t queue_end(q, qe) + * queue_t q; + * queue_entry_t qe; + */ +#define queue_end(q, qe) ((q) == (qe)) + +/* + * Macro: queue_empty + * Function: + * Tests whether a queue is empty. + * Header: + * boolean_t queue_empty(q) + * queue_t q; + */ +#define queue_empty(q) queue_end((q), queue_first(q)) + + +/*----------------------------------------------------------------*/ +/* + * Macros that operate on generic structures. The queue + * chain may be at any location within the structure, and there + * may be more than one chain. + */ + +/* + * Macro: queue_enter + * Function: + * Insert a new element at the tail of the queue. + * Header: + * void queue_enter(q, elt, type, field) + * queue_t q; + * elt; + * is what's in our queue + * is the chain field in (*) + */ +#define queue_enter(head, elt, type, field) \ +{ \ + register queue_entry_t prev; \ + \ + prev = (head)->prev; \ + if ((head) == prev) { \ + (head)->next = (queue_entry_t) (elt); \ + } \ + else { \ + ((type)prev)->field.next = (queue_entry_t)(elt);\ + } \ + (elt)->field.prev = prev; \ + (elt)->field.next = head; \ + (head)->prev = (queue_entry_t) elt; \ +} + +/* + * Macro: queue_enter_first + * Function: + * Insert a new element at the head of the queue. + * Header: + * void queue_enter_first(q, elt, type, field) + * queue_t q; + * elt; + * is what's in our queue + * is the chain field in (*) + */ +#define queue_enter_first(head, elt, type, field) \ +{ \ + register queue_entry_t next; \ + \ + next = (head)->next; \ + if ((head) == next) { \ + (head)->prev = (queue_entry_t) (elt); \ + } \ + else { \ + ((type)next)->field.prev = (queue_entry_t)(elt);\ + } \ + (elt)->field.next = next; \ + (elt)->field.prev = head; \ + (head)->next = (queue_entry_t) elt; \ +} + +/* + * Macro: queue_field [internal use only] + * Function: + * Find the queue_chain_t (or queue_t) for the + * given element (thing) in the given queue (head) + */ +#define queue_field(head, thing, type, field) \ + (((head) == (thing)) ? (head) : &((type)(thing))->field) + +/* + * Macro: queue_remove + * Function: + * Remove an arbitrary item from the queue. + * Header: + * void queue_remove(q, qe, type, field) + * arguments as in queue_enter + */ +#define queue_remove(head, elt, type, field) \ +{ \ + register queue_entry_t next, prev; \ + \ + next = (elt)->field.next; \ + prev = (elt)->field.prev; \ + \ + if ((head) == next) \ + (head)->prev = prev; \ + else \ + ((type)next)->field.prev = prev; \ + \ + if ((head) == prev) \ + (head)->next = next; \ + else \ + ((type)prev)->field.next = next; \ +} + +/* + * Macro: queue_remove_first + * Function: + * Remove and return the entry at the head of + * the queue. + * Header: + * queue_remove_first(head, entry, type, field) + * entry is returned by reference + */ +#define queue_remove_first(head, entry, type, field) \ +{ \ + register queue_entry_t next; \ + \ + (entry) = (type) ((head)->next); \ + next = (entry)->field.next; \ + \ + if ((head) == next) \ + (head)->prev = (head); \ + else \ + ((type)(next))->field.prev = (head); \ + (head)->next = next; \ +} + +/* + * Macro: queue_remove_last + * Function: + * Remove and return the entry at the tail of + * the queue. + * Header: + * queue_remove_last(head, entry, type, field) + * entry is returned by reference + */ +#define queue_remove_last(head, entry, type, field) \ +{ \ + register queue_entry_t prev; \ + \ + (entry) = (type) ((head)->prev); \ + prev = (entry)->field.prev; \ + \ + if ((head) == prev) \ + (head)->next = (head); \ + else \ + ((type)(prev))->field.next = (head); \ + (head)->prev = prev; \ +} + +/* + * Macro: queue_assign + */ +#define queue_assign(to, from, type, field) \ +{ \ + ((type)((from)->prev))->field.next = (to); \ + ((type)((from)->next))->field.prev = (to); \ + *to = *from; \ +} + +/* + * Macro: queue_iterate + * Function: + * iterate over each item in the queue. + * Generates a 'for' loop, setting elt to + * each item in turn (by reference). + * Header: + * queue_iterate(q, elt, type, field) + * queue_t q; + * elt; + * is what's in our queue + * is the chain field in (*) + */ +#define queue_iterate(head, elt, type, field) \ + for ((elt) = (type) queue_first(head); \ + !queue_end((head), (queue_entry_t)(elt)); \ + (elt) = (type) queue_next(&(elt)->field)) + + + +/*----------------------------------------------------------------*/ +/* + * Define macros for queues with locks. + */ +struct mpqueue_head { + struct queue_entry head; /* header for queue */ + struct mutex lock; /* lock for queue */ +}; + +typedef struct mpqueue_head mpqueue_head_t; + +#define round_mpq(size) (size) + +#define mpqueue_init(q) \ + { \ + queue_init(&(q)->head); \ + mutex_init(&(q)->lock); \ + } + +#define mpenqueue_tail(q, elt) \ + mutex_lock(&(q)->lock); \ + enqueue_tail(&(q)->head, elt); \ + mutex_unlock(&(q)->lock); + +#define mpdequeue_head(q, elt) \ + mutex_lock(&(q)->lock); \ + if (queue_empty(&(q)->head)) \ + *(elt) = 0; \ + else \ + *(elt) = dequeue_head(&(q)->head); \ + mutex_unlock(&(q)->lock); + +/* + * Old queue stuff, will go away soon. + */ + +#endif /* _KERN_QUEUE_H_ */ diff --git a/libmachdev/trivfs_server.c b/libmachdev/trivfs_server.c new file mode 100644 index 00000000..74b8e6b7 --- /dev/null +++ b/libmachdev/trivfs_server.c @@ -0,0 +1,154 @@ +#include +#include +#include +#include +#include +#include +#include + +extern struct port_bucket *port_bucket; + +/* Trivfs hooks. */ +int trivfs_fstype = FSTYPE_MISC; +int trivfs_fsid = 0; +int trivfs_support_read = 0; +int trivfs_support_write = 0; +int trivfs_support_exec = 0; +int trivfs_allow_open = O_READ | O_WRITE; + +struct port_class *trivfs_protid_portclasses[1]; +struct port_class *trivfs_cntl_portclasses[1]; +int trivfs_protid_nportclasses = 1; +int trivfs_cntl_nportclasses = 1; + +/* Implementation of notify interface */ +kern_return_t +do_mach_notify_port_deleted (mach_port_t notify, + mach_port_t name) +{ + return EOPNOTSUPP; +} + +kern_return_t +do_mach_notify_msg_accepted (mach_port_t notify, + mach_port_t name) +{ + return EOPNOTSUPP; +} + +kern_return_t +do_mach_notify_port_destroyed (mach_port_t notify, + mach_port_t port) +{ + return EOPNOTSUPP; +} + +kern_return_t +do_mach_notify_no_senders (mach_port_t notify, + mach_port_mscount_t mscount) +{ + return ports_do_mach_notify_no_senders (notify, mscount); +} + +kern_return_t +do_mach_notify_send_once (mach_port_t notify) +{ + return EOPNOTSUPP; +} + +kern_return_t +do_mach_notify_dead_name (mach_port_t notify, + mach_port_t name) +{ + return EOPNOTSUPP; +} + +boolean_t +is_master_device (mach_port_t port) +{ + struct port_info *pi = ports_lookup_port (port_bucket, port, + trivfs_protid_portclasses[0]); + if (pi == NULL) + return FALSE; + + ports_port_deref (pi); + return TRUE; +} + +int trivfs_init() +{ + trivfs_cntl_portclasses[0] = ports_create_class (trivfs_clean_cntl, 0); + trivfs_protid_portclasses[0] = ports_create_class (trivfs_clean_protid, 0); + return 0; +} + +error_t +trivfs_goaway (struct trivfs_control *fsys, int flags) +{ + int count; + + fprintf (stderr, "check point 1\n"); + /* Stop new requests. */ + ports_inhibit_class_rpcs (trivfs_cntl_portclasses[0]); + ports_inhibit_class_rpcs (trivfs_protid_portclasses[0]); + + count = ports_count_class (trivfs_protid_portclasses[0]); + + fprintf (stderr, "check point 2\n"); + if (count && !(flags & FSYS_GOAWAY_FORCE)) + { + fprintf (stderr, "check point 4\n"); + /* We won't go away, so start things going again... */ + ports_enable_class (trivfs_protid_portclasses[0]); + ports_resume_class_rpcs (trivfs_cntl_portclasses[0]); + ports_resume_class_rpcs (trivfs_protid_portclasses[0]); + fprintf (stderr, "check point 5\n"); + return EBUSY; + } + + fprintf (stderr, "check point 3\n"); + pci_system_cleanup (); + fprintf (stderr, "trivfs goes away\n"); + exit (0); +} + +static int +demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp) +{ + extern int device_server (mach_msg_header_t *, mach_msg_header_t *); + extern int notify_server (mach_msg_header_t *, mach_msg_header_t *); + return device_server (inp, outp) || notify_server (inp, outp) + || trivfs_demuxer (inp, outp); +} + +void +trivfs_modify_stat (struct trivfs_protid *cred, io_statbuf_t *stat) +{ +} + +void trivfs_server() +{ + mach_port_t bootstrap; + struct trivfs_control *fsys; + int err; + + task_get_bootstrap_port (mach_task_self (), &bootstrap); + if (bootstrap == MACH_PORT_NULL) + error (1, 0, "must be started as a translator"); + + fprintf (stderr, "after get bootstrap port\n"); + /* Reply to our parent. */ + err = trivfs_startup (bootstrap, 0, + trivfs_cntl_portclasses[0], port_bucket, + trivfs_protid_portclasses[0], port_bucket, &fsys); + mach_port_deallocate (mach_task_self (), bootstrap); + if (err) + error (1, err, "Contacting parent"); + fprintf (stderr, "start trivfs\n"); + + /* Launch. */ + do + { + ports_manage_port_operations_one_thread (port_bucket, demuxer, 0); + } while (trivfs_goaway (fsys, 0)); +} diff --git a/libmachdev/util.h b/libmachdev/util.h new file mode 100644 index 00000000..6fb1db28 --- /dev/null +++ b/libmachdev/util.h @@ -0,0 +1,33 @@ +#ifndef __UTIL_H__ +#define __UTIL_H__ + +#include + +#define panic(format, ...) do \ +{ \ + char buf[1024]; \ + snprintf (buf, 1024, "devnode: %s", format); \ + fprintf (stderr , buf, ## __VA_ARGS__); \ + fflush (stderr); \ + abort (); \ +} while (0) + +#define DEBUG + +#ifdef DEBUG + +#define debug(format, ...) do \ +{ \ + char buf[1024]; \ + snprintf (buf, 1024, "pcnet32: %s: %s\n", __func__, format); \ + fprintf (stderr , buf, ## __VA_ARGS__); \ + fflush (stderr); \ +} while (0) + +#else + +#define debug(format, ...) do {} while (0) + +#endif + +#endif diff --git a/libmachdev/vm_param.h b/libmachdev/vm_param.h new file mode 100644 index 00000000..7b615c8a --- /dev/null +++ b/libmachdev/vm_param.h @@ -0,0 +1,7 @@ +#ifndef __VM_PARAM_H__ +#define __VM_PARAM_H__ + +#define PAGE_SIZE __vm_page_size +#define PAGE_MASK (PAGE_SIZE-1) + +#endif -- cgit v1.2.3 From 9b35bbf6dfccface4eb2878f0a45d158eadae511 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 5 Feb 2010 15:04:14 +0100 Subject: create a thread for only handling device requests. --- libmachdev/ds_routines.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index 1cd06359..9152c72e 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -68,8 +68,8 @@ #include "util.h" #include "queue.h" -struct port_bucket *port_bucket; -struct port_class *dev_class; +static struct port_bucket *port_bucket; +static struct port_class *dev_class; extern struct device_emulation_ops linux_net_emulation_ops; @@ -783,6 +783,12 @@ static any_t io_done_thread(any_t unused) return 0; } +int create_device_port (int size, void *result) +{ + return ports_create_port (dev_class, port_bucket, + size, result); +} + void mach_device_init() { int i; @@ -800,3 +806,22 @@ void mach_device_init() cthread_detach (cthread_fork (io_done_thread, 0)); } + +static int +demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp) +{ + int ret; + extern int device_server (mach_msg_header_t *, mach_msg_header_t *); + extern int notify_server (mach_msg_header_t *, mach_msg_header_t *); + ret = device_server (inp, outp) || notify_server (inp, outp); + return ret; +} + +void ds_server() +{ + /* Launch. */ + do + { + ports_manage_port_operations_one_thread (port_bucket, demuxer, 0); + } while (1); +} -- cgit v1.2.3 From ceabed7508dee4df3e40d1aeccd35c90115ae95c Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 5 Feb 2010 15:05:58 +0100 Subject: dereference ports when return D_INVALID_OPERATIONS in device requests. --- libmachdev/ds_routines.c | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index 9152c72e..c647b8e9 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -260,7 +260,10 @@ ds_device_write (device_t dev, mach_port_t reply_port, device = mach_convert_port_to_device (dev); if (! device->emul_ops->write) - return D_INVALID_OPERATION; + { + ports_port_deref (device_to_pi (device)); + return D_INVALID_OPERATION; + } ret = (*device->emul_ops->write) (device->emul_data, reply_port, reply_port_type, mode, recnum, @@ -290,7 +293,10 @@ ds_device_write_inband (device_t dev, mach_port_t reply_port, device = mach_convert_port_to_device (dev); if (! device->emul_ops->write_inband) - return D_INVALID_OPERATION; + { + ports_port_deref (device_to_pi (device)); + return D_INVALID_OPERATION; + } ret = (*device->emul_ops->write_inband) (device->emul_data, reply_port, reply_port_type, mode, recnum, @@ -316,7 +322,10 @@ ds_device_read (device_t dev, mach_port_t reply_port, device = mach_convert_port_to_device (dev); if (! device->emul_ops->read) - return D_INVALID_OPERATION; + { + ports_port_deref (device_to_pi (device)); + return D_INVALID_OPERATION; + } ret = (*device->emul_ops->read) (device->emul_data, reply_port, reply_port_type, mode, recnum, @@ -341,7 +350,10 @@ ds_device_read_inband (device_t dev, mach_port_t reply_port, device = mach_convert_port_to_device (dev); if (! device->emul_ops->read_inband) - return D_INVALID_OPERATION; + { + ports_port_deref (device_to_pi (device)); + return D_INVALID_OPERATION; + } ret = (*device->emul_ops->read_inband) (device->emul_data, reply_port, reply_port_type, mode, recnum, @@ -364,7 +376,10 @@ ds_device_set_status (device_t dev, dev_flavor_t flavor, device = mach_convert_port_to_device (dev); if (! device->emul_ops->set_status) - return D_INVALID_OPERATION; + { + ports_port_deref (device_to_pi (device)); + return D_INVALID_OPERATION; + } ret = (*device->emul_ops->set_status) (device->emul_data, flavor, status, status_count); @@ -386,7 +401,10 @@ ds_device_get_status (device_t dev, dev_flavor_t flavor, dev_status_t status, device = mach_convert_port_to_device (dev); if (! device->emul_ops->get_status) - return D_INVALID_OPERATION; + { + ports_port_deref (device_to_pi (device)); + return D_INVALID_OPERATION; + } ret = (*device->emul_ops->get_status) (device->emul_data, flavor, status, status_count); @@ -408,7 +426,10 @@ ds_device_set_filter (device_t dev, mach_port_t receive_port, int priority, device = mach_convert_port_to_device (dev); if (! device->emul_ops->set_filter) - return D_INVALID_OPERATION; + { + ports_port_deref (device_to_pi (device)); + return D_INVALID_OPERATION; + } ret = (*device->emul_ops->set_filter) (device->emul_data, receive_port, priority, filter, filter_count); -- cgit v1.2.3 From cdc836f8e3eee674d34224474cb8b36363bac2a7 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 5 Feb 2010 15:08:38 +0100 Subject: create device port with create_device_port. --- libmachdev/net.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/net.c b/libmachdev/net.c index f14e9350..0571547c 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -326,8 +326,7 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, nd = search_nd (dev); if (!nd) { - err = ports_create_port (dev_class, port_bucket, - sizeof (*nd), &nd); + err = create_device_port (sizeof (*nd), &nd); if (err) goto out; -- cgit v1.2.3 From ac029a4bf4fe508d7cebbaa7c55fcba64e2d6726 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 5 Feb 2010 15:10:35 +0100 Subject: deallocate skb_reply before freeing the packet. --- libmachdev/net.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libmachdev') diff --git a/libmachdev/net.c b/libmachdev/net.c index 0571547c..8e579e58 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -204,6 +204,8 @@ pre_kfree_skb (struct sk_buff *skb, void *data) wakeup_io_done_thread (); return 1; } + /* deallocate skb_reply before freeing the packet. */ + free (data); return 0; } -- cgit v1.2.3 From 8733bb5763aacf170070005b00fc513a49887263 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 5 Feb 2010 15:13:02 +0100 Subject: trivfs server creates its own port bucket. --- libmachdev/trivfs_server.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/trivfs_server.c b/libmachdev/trivfs_server.c index 74b8e6b7..4b34941e 100644 --- a/libmachdev/trivfs_server.c +++ b/libmachdev/trivfs_server.c @@ -6,7 +6,7 @@ #include #include -extern struct port_bucket *port_bucket; +static struct port_bucket *port_bucket; /* Trivfs hooks. */ int trivfs_fstype = FSTYPE_MISC; @@ -77,6 +77,7 @@ is_master_device (mach_port_t port) int trivfs_init() { + port_bucket = ports_create_bucket (); trivfs_cntl_portclasses[0] = ports_create_class (trivfs_clean_cntl, 0); trivfs_protid_portclasses[0] = ports_create_class (trivfs_clean_protid, 0); return 0; @@ -115,10 +116,14 @@ trivfs_goaway (struct trivfs_control *fsys, int flags) static int demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp) { + int ret; extern int device_server (mach_msg_header_t *, mach_msg_header_t *); extern int notify_server (mach_msg_header_t *, mach_msg_header_t *); - return device_server (inp, outp) || notify_server (inp, outp) + fprintf (stderr, "before trivfs demuxer\n"); + ret = device_server (inp, outp) || notify_server (inp, outp) || trivfs_demuxer (inp, outp); + fprintf (stderr, "after trivfs demuxer\n"); + return ret; } void -- cgit v1.2.3 From 09eb08c9121d0d0386a1c65d5dace35c01b9911e Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 5 Feb 2010 15:16:42 +0100 Subject: remove printing in the trivfs server. --- libmachdev/trivfs_server.c | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/trivfs_server.c b/libmachdev/trivfs_server.c index 4b34941e..96f016db 100644 --- a/libmachdev/trivfs_server.c +++ b/libmachdev/trivfs_server.c @@ -88,28 +88,22 @@ trivfs_goaway (struct trivfs_control *fsys, int flags) { int count; - fprintf (stderr, "check point 1\n"); /* Stop new requests. */ ports_inhibit_class_rpcs (trivfs_cntl_portclasses[0]); ports_inhibit_class_rpcs (trivfs_protid_portclasses[0]); count = ports_count_class (trivfs_protid_portclasses[0]); - fprintf (stderr, "check point 2\n"); if (count && !(flags & FSYS_GOAWAY_FORCE)) { - fprintf (stderr, "check point 4\n"); /* We won't go away, so start things going again... */ ports_enable_class (trivfs_protid_portclasses[0]); ports_resume_class_rpcs (trivfs_cntl_portclasses[0]); ports_resume_class_rpcs (trivfs_protid_portclasses[0]); - fprintf (stderr, "check point 5\n"); return EBUSY; } - fprintf (stderr, "check point 3\n"); pci_system_cleanup (); - fprintf (stderr, "trivfs goes away\n"); exit (0); } @@ -119,10 +113,8 @@ demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp) int ret; extern int device_server (mach_msg_header_t *, mach_msg_header_t *); extern int notify_server (mach_msg_header_t *, mach_msg_header_t *); - fprintf (stderr, "before trivfs demuxer\n"); ret = device_server (inp, outp) || notify_server (inp, outp) || trivfs_demuxer (inp, outp); - fprintf (stderr, "after trivfs demuxer\n"); return ret; } @@ -141,7 +133,6 @@ void trivfs_server() if (bootstrap == MACH_PORT_NULL) error (1, 0, "must be started as a translator"); - fprintf (stderr, "after get bootstrap port\n"); /* Reply to our parent. */ err = trivfs_startup (bootstrap, 0, trivfs_cntl_portclasses[0], port_bucket, @@ -149,7 +140,6 @@ void trivfs_server() mach_port_deallocate (mach_task_self (), bootstrap); if (err) error (1, err, "Contacting parent"); - fprintf (stderr, "start trivfs\n"); /* Launch. */ do -- cgit v1.2.3 From aff295710ea0b575c556f10981d1ae740e192969 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Mon, 8 Feb 2010 06:52:59 +0100 Subject: return packet transmission error to the client. --- libmachdev/net.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libmachdev') diff --git a/libmachdev/net.c b/libmachdev/net.c index 8e579e58..d80e86ff 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -399,6 +399,7 @@ device_write (void *d, mach_port_t reply_port, struct net_data *nd = d; struct net_device *dev = nd->dev; struct skb_reply *skb_reply = malloc (sizeof (*skb_reply)); + error_t err; if (skb_reply == NULL) return D_NO_MEMORY; @@ -407,8 +408,10 @@ device_write (void *d, mach_port_t reply_port, skb_reply->reply = reply_port; skb_reply->reply_type = reply_port_type; - linux_pkg_xmit (data, count, skb_reply, pre_kfree_skb, dev); + err = linux_pkg_xmit (data, count, skb_reply, pre_kfree_skb, dev); vm_deallocate (mach_task_self (), (vm_address_t) data, count); + if (err) + return err; /* Send packet to filters. */ // TODO should I deliver the packet to other network stacks? -- cgit v1.2.3 From 5ea9105dff5f22606026afcd88b178110282b224 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Mon, 8 Feb 2010 08:58:53 +0100 Subject: remove io done thread. eliminate a potential race condition in thread_wait and thread_wakeup. --- libmachdev/ds_routines.c | 362 ----------------------------------------------- libmachdev/net.c | 35 +---- 2 files changed, 6 insertions(+), 391 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index c647b8e9..857f64c5 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -448,362 +448,6 @@ ds_device_map (device_t dev, vm_prot_t prot, vm_offset_t offset, return D_INVALID_OPERATION; } -boolean_t -ds_open_done(ior) - register io_req_t ior; -{ - kern_return_t result; - register mach_device_t device; - - device = ior->io_device; - result = ior->io_error; - - if (result != D_SUCCESS) { - /* - * Open failed. Deallocate port and device. - */ -// dev_port_remove(device); -// ipc_port_dealloc_kernel(device->port); - - device_lock(device); - device->state = DEV_STATE_INIT; - if (device->io_wait) { - device->io_wait = FALSE; -// thread_wakeup((event_t)device); - } - device_unlock(device); - -// mach_device_deallocate(device); - device = MACH_DEVICE_NULL; - } - else { - /* - * Open succeeded. - */ - device_lock(device); - device->state = DEV_STATE_OPEN; - device->open_count = 1; - if (device->io_wait) { - device->io_wait = FALSE; -// thread_wakeup((event_t)device); - } - device_unlock(device); - - /* donate device reference to get port */ - } - /* - * Must explicitly convert device to port, since - * device_reply interface is built as 'user' side - * (thus cannot get translation). - */ - if (MACH_PORT_VALID(ior->io_reply_port)) { - (void) ds_device_open_reply(ior->io_reply_port, - ior->io_reply_port_type, - result, - mach_convert_device_to_port(device)); - } -// else -// mach_device_deallocate(device); - - mach_device_deallocate (device); - return (TRUE); -} - -boolean_t ds_read_done(ior) - io_req_t ior; -{ - vm_offset_t start_data, end_data; - vm_offset_t start_sent, end_sent; - register vm_size_t size_read; - - if (ior->io_error) - size_read = 0; - else - size_read = ior->io_count - ior->io_residual; - - start_data = (vm_offset_t)ior->io_data; - end_data = start_data + size_read; - - start_sent = (ior->io_op & IO_INBAND) ? start_data : - trunc_page(start_data); - end_sent = (ior->io_op & IO_INBAND) ? - start_data + ior->io_alloc_size : round_page(end_data); - - /* - * Zero memory that the device did not fill. - */ - if (start_sent < start_data) - memset((char *)start_sent, 0, start_data - start_sent); - if (end_sent > end_data) - memset((char *)end_data, 0, end_sent - end_data); - - - /* - * Touch the data being returned, to mark it dirty. - * If the pages were filled by DMA, the pmap module - * may think that they are clean. - */ - { - register vm_offset_t touch; - register int c; - - for (touch = start_sent; touch < end_sent; touch += PAGE_SIZE) { - c = *(volatile char *)touch; - *(volatile char *)touch = c; - } - } - - /* - * Send the data to the reply port - this - * unwires and deallocates it. - */ - if (ior->io_op & IO_INBAND) { - (void)ds_device_read_reply_inband(ior->io_reply_port, - ior->io_reply_port_type, - ior->io_error, - (char *) start_data, - size_read); - } else { -// vm_map_copy_t copy; -// kern_return_t kr; -// -// kr = vm_map_copyin_page_list(kernel_map, start_data, -// size_read, TRUE, TRUE, -// ©, FALSE); -// -// if (kr != KERN_SUCCESS) -// panic("read_done: vm_map_copyin_page_list failed"); - - (void)ds_device_read_reply(ior->io_reply_port, - ior->io_reply_port_type, - ior->io_error, - (char *) start_data, - size_read); - } - - /* - * Free any memory that was allocated but not sent. - */ - if (ior->io_count != 0) { - if (ior->io_op & IO_INBAND) { - if (ior->io_alloc_size > 0) - free (ior->io_data); -// zfree(io_inband_zone, (vm_offset_t)ior->io_data); - } else { - register vm_offset_t end_alloc; - - end_alloc = start_sent + round_page(ior->io_alloc_size); - if (end_alloc > end_sent) - vm_deallocate(mach_task_self (), - end_sent, - end_alloc - end_sent); - } - } - - mach_device_deallocate(ior->io_device); - - return (TRUE); -} - -/* - * Allocate wired-down memory for device read. - */ -kern_return_t device_read_alloc(ior, size) - register io_req_t ior; - register vm_size_t size; -{ - vm_offset_t addr; - kern_return_t kr; - - /* - * Nothing to do if no data. - */ - if (ior->io_count == 0) - return (KERN_SUCCESS); - - if (ior->io_op & IO_INBAND) { - ior->io_data = (io_buf_ptr_t) malloc(sizeof(io_buf_ptr_inband_t)); - ior->io_alloc_size = sizeof(io_buf_ptr_inband_t); - } else { - size = round_page(size); - kr = vm_allocate (mach_task_self (), &addr, size, TRUE); -// kr = kmem_alloc(kernel_map, &addr, size); - if (kr != KERN_SUCCESS) - return (kr); - - ior->io_data = (io_buf_ptr_t) addr; - ior->io_alloc_size = size; - } - - return (KERN_SUCCESS); -} - -struct thread_wait -{ - struct condition cond; - struct mutex mutex; - int v; -}; - -static struct thread_wait io_done_wait; - -void thread_wait_init (struct thread_wait *t) -{ - mutex_init (&t->mutex); - condition_init (&t->cond); - t->v = 0; -} - -void thread_block (struct thread_wait *t) -{ - mutex_lock (&t->mutex); - t->v = 1; - while (t->v) - hurd_condition_wait (&t->cond, &t->mutex); - mutex_unlock (&t->mutex); -} - -void thread_wakeup (struct thread_wait *t) -{ - mutex_lock (&t->mutex); - t->v = 0; - condition_signal (&t->cond); - mutex_unlock (&t->mutex); -} - -queue_head_t io_done_list; -struct mutex io_done_list_lock; - -#define splio splsched /* XXX must block ALL io devices */ - -void iodone(ior) - register io_req_t ior; -{ - /* - * If this ior was loaned to us, return it directly. - */ - if (ior->io_op & IO_LOANED) { - (*ior->io_done)(ior); - return; - } - /* - * If !IO_CALL, some thread is waiting for this. Must lock - * structure to interlock correctly with iowait(). Else can - * toss on queue for io_done thread to call completion. - */ - // TODO need a lock here? -// s = splio(); - if ((ior->io_op & IO_CALL) == 0) { - ior_lock(ior); - ior->io_op |= IO_DONE; - ior->io_op &= ~IO_WANTED; - ior_unlock(ior); -// thread_wakeup((event_t)ior); - } else { - ior->io_op |= IO_DONE; - mutex_lock (&io_done_list_lock); - enqueue_tail(&io_done_list, (queue_entry_t)ior); - thread_wakeup (&io_done_wait); -// thread_wakeup((event_t)&io_done_list); - mutex_unlock (&io_done_list_lock); - } -// splx(s); -} - -void wakeup_io_done_thread () -{ - thread_wakeup (&io_done_wait); -} - -void io_done_thread_continue() -{ - for (;;) { - extern void free_skbuffs (); - register io_req_t ior; - - free_skbuffs (); - mutex_lock(&io_done_list_lock); - while ((ior = (io_req_t)dequeue_head(&io_done_list)) != 0) { - mutex_unlock(&io_done_list_lock); - - if ((*ior->io_done)(ior)) { - /* - * IO done - free io_req_elt - */ - io_req_free(ior); - } - /* else routine has re-queued it somewhere */ - - mutex_lock(&io_done_list_lock); - } - -// assert_wait(&io_done_list, FALSE); - mutex_unlock(&io_done_list_lock); -// counter(c_io_done_thread_block++); -// thread_block(io_done_thread_continue); - thread_block (&io_done_wait); - } -} - - -void -wire_thread() -{ - kern_return_t kr; - mach_port_t priv_host_port; - - kr = get_privileged_ports (&priv_host_port, NULL); - if (kr != KERN_SUCCESS) - panic("get privileged port: %d", kr); - - kr = thread_wire(priv_host_port, - mach_thread_self(), - TRUE); - if (kr != KERN_SUCCESS) - panic("wire_thread: %d", kr); -} - -void -thread_set_own_priority (int priority) -{ - kern_return_t kr; - mach_port_t priv_host_port; - mach_port_t pset, psetcntl; - - kr = get_privileged_ports (&priv_host_port, NULL); - if (kr != KERN_SUCCESS) - panic("get privileged port: %d", kr); - - kr = thread_get_assignment (mach_thread_self (), &pset); - if (kr != KERN_SUCCESS) - panic("thread get assignment: %d", kr); - kr = host_processor_set_priv (priv_host_port, pset, &psetcntl); - if (kr != KERN_SUCCESS) - panic("processor set priv: %d", kr); - kr = thread_max_priority (mach_thread_self (), psetcntl, 0); - if (kr != KERN_SUCCESS) - panic("set thread max priority: %d", kr); - kr = thread_priority (mach_thread_self (), 0, FALSE); - if (kr != KERN_SUCCESS) - panic("set thread priority: %d", kr); -} - -static any_t io_done_thread(any_t unused) -{ - /* - * Set thread privileges and highest priority. - */ -// current_thread()->vm_privilege = TRUE; -// stack_privilege(current_thread()); - wire_thread (); - - thread_set_own_priority(0); - - io_done_thread_continue(); - /*NOTREACHED*/ - return 0; -} - int create_device_port (int size, void *result) { return ports_create_port (dev_class, port_bucket, @@ -814,18 +458,12 @@ void mach_device_init() { int i; - queue_init(&io_done_list); - mutex_init (&io_done_list_lock); - thread_wait_init (&io_done_wait); - port_bucket = ports_create_bucket (); dev_class = ports_create_class (0, 0); for (i = 0; i < NUM_EMULATION; i++) { emulation_list[i]->init(); } - - cthread_detach (cthread_fork (io_done_thread, 0)); } static int diff --git a/libmachdev/net.c b/libmachdev/net.c index d80e86ff..9a367a6b 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -161,32 +161,6 @@ struct net_data *search_nd (struct net_device *dev) /* Linux kernel network support routines. */ -/* Free all sk_buffs on the done list. - This routine is called by the iodone thread in ds_routines.c. */ -void -free_skbuffs () -{ - struct sk_buff *skb; - - while (1) - { - skb = skb_done_dequeue (); - if (skb) - { - struct skb_reply *reply = skb_reply(skb); - if (MACH_PORT_VALID (reply->reply)) - { - ds_device_write_reply (reply->reply, reply->reply_type, - 0, reply->pkglen); - reply->reply = MACH_PORT_NULL; - } - kfree_skb (skb); - } - else - break; - } -} - /* actions before freeing the sk_buff SKB. * If it returns 1, the packet will be deallocated later. */ int @@ -200,9 +174,12 @@ pre_kfree_skb (struct sk_buff *skb, void *data) Wakeup the iodone thread to process the list. */ if (reply && MACH_PORT_VALID (reply->reply)) { - skb_done_queue (skb); - wakeup_io_done_thread (); - return 1; + if (MACH_PORT_VALID (reply->reply)) + { + ds_device_write_reply (reply->reply, reply->reply_type, + 0, reply->pkglen); + reply->reply = MACH_PORT_NULL; + } } /* deallocate skb_reply before freeing the packet. */ free (data); -- cgit v1.2.3 From 1c3c575b2324f666b816164afe3a100896b81840 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Sat, 27 Feb 2010 14:14:02 +0100 Subject: remove RPCs for PCI conf space. --- libddekit/device.defs | 38 -------------------------------------- libmachdev/device.defs | 39 --------------------------------------- libmachdev/ds_routines.c | 29 ----------------------------- 3 files changed, 106 deletions(-) (limited to 'libmachdev') diff --git a/libddekit/device.defs b/libddekit/device.defs index 6a73853a..07ff58f6 100644 --- a/libddekit/device.defs +++ b/libddekit/device.defs @@ -157,44 +157,6 @@ routine device_intr_notify( in receive_port : mach_port_send_t ); -/* - * Test whether IPC devices exist. - */ -routine pci_present( - master_port : mach_port_t); - -/* - * Find the specified PCI device. - */ -routine pci_find_device( - master_port : mach_port_t; - vendor : short; - device_id : short; - index : short; - out bus : char; - out device_fn : char); - -/* - * Read the configuration space of a IPC device. - */ -routine pci_read_config( - master_port : mach_port_t; - bus : char; - device_fn : char; - where : char; - bytes_wanted : int; - out result : pci_config_data_t); - -/* - * Write the configuration space of a IPC device. - */ -routine pci_write_config( - master_port : mach_port_t; - bus : char; - device_fn : char; - where : char; - data : pci_config_data_t); - /* * enable/disable the specified irq. */ diff --git a/libmachdev/device.defs b/libmachdev/device.defs index 6a73853a..b514b3b9 100644 --- a/libmachdev/device.defs +++ b/libmachdev/device.defs @@ -48,7 +48,6 @@ subsystem serverprefix ds_; -type pci_config_data_t = array[*:4] of char; type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic ctype: mach_port_t; @@ -157,44 +156,6 @@ routine device_intr_notify( in receive_port : mach_port_send_t ); -/* - * Test whether IPC devices exist. - */ -routine pci_present( - master_port : mach_port_t); - -/* - * Find the specified PCI device. - */ -routine pci_find_device( - master_port : mach_port_t; - vendor : short; - device_id : short; - index : short; - out bus : char; - out device_fn : char); - -/* - * Read the configuration space of a IPC device. - */ -routine pci_read_config( - master_port : mach_port_t; - bus : char; - device_fn : char; - where : char; - bytes_wanted : int; - out result : pci_config_data_t); - -/* - * Write the configuration space of a IPC device. - */ -routine pci_write_config( - master_port : mach_port_t; - bus : char; - device_fn : char; - where : char; - data : pci_config_data_t); - /* * enable/disable the specified irq. */ diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index 857f64c5..1961a2f3 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -154,35 +154,6 @@ ds_device_intr_notify (mach_port_t master_port, int irq, return D_INVALID_OPERATION; } -kern_return_t -ds_pci_write_config (mach_port_t master_port, char bus, char device_fn, - char where, pci_config_data_t data, - mach_msg_type_number_t dataCnt) -{ - return D_INVALID_OPERATION; -} - -kern_return_t -ds_pci_read_config (mach_port_t master_port, char bus, char device_fn, - char where, int bytes_wanted, pci_config_data_t result, - mach_msg_type_number_t *resultCnt) -{ - return D_INVALID_OPERATION; -} - -kern_return_t -ds_pci_find_device (mach_port_t master_port, short vendor, short device_id, - short index, short *bus, char *device_fn) -{ - return D_INVALID_OPERATION; -} - -kern_return_t -ds_pci_present (mach_port_t master_port) -{ - return D_INVALID_OPERATION; -} - kern_return_t ds_device_irq_enable (mach_port_t master_port, int irq, char status) -- cgit v1.2.3 From 60d1d5946864403422291f8b1136cef7ccbe5e41 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Sat, 27 Feb 2010 14:51:03 +0100 Subject: Add `flags` in device_intr_notify in libmachdev. --- libmachdev/device.defs | 1 + 1 file changed, 1 insertion(+) (limited to 'libmachdev') diff --git a/libmachdev/device.defs b/libmachdev/device.defs index b514b3b9..ef777efe 100644 --- a/libmachdev/device.defs +++ b/libmachdev/device.defs @@ -153,6 +153,7 @@ routine device_intr_notify( master_port : mach_port_t; in irq : int; in id : int; + in flags : int; in receive_port : mach_port_send_t ); -- cgit v1.2.3 From 045fb6a578e0e4d97f0e581bbf514654686a86c1 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Tue, 4 May 2010 15:56:46 +0200 Subject: Add printing. --- dde_e1000/e1000_hw.c | 3 +++ dde_e1000/e1000_main.c | 33 ++++++++++++++++++++++++++++++-- libdde_linux26/lib/src/arch/l4/kmalloc.c | 11 ++++++++++- libdde_linux26/lib/src/arch/l4/res.c | 8 ++++++++ libdde_linux26/lib/src/net/core/skbuff.c | 9 +++++++-- libmachdev/net.c | 17 ++++++++++++---- 6 files changed, 72 insertions(+), 9 deletions(-) (limited to 'libmachdev') diff --git a/dde_e1000/e1000_hw.c b/dde_e1000/e1000_hw.c index e1a3fc13..27ed37d4 100644 --- a/dde_e1000/e1000_hw.c +++ b/dde_e1000/e1000_hw.c @@ -5627,6 +5627,7 @@ s32 e1000_read_mac_addr(struct e1000_hw *hw) DEBUGFUNC("e1000_read_mac_addr"); + printk("mac address: "); for (i = 0; i < NODE_ADDRESS_SIZE; i += 2) { offset = i >> 1; if (e1000_read_eeprom(hw, offset, 1, &eeprom_data) < 0) { @@ -5635,7 +5636,9 @@ s32 e1000_read_mac_addr(struct e1000_hw *hw) } hw->perm_mac_addr[i] = (u8)(eeprom_data & 0x00FF); hw->perm_mac_addr[i+1] = (u8)(eeprom_data >> 8); + printk("%x%x ", hw->perm_mac_addr[i], hw->perm_mac_addr[i+1]); } + printk("\n"); switch (hw->mac_type) { default: diff --git a/dde_e1000/e1000_main.c b/dde_e1000/e1000_main.c index f25a5367..3f608476 100644 --- a/dde_e1000/e1000_main.c +++ b/dde_e1000/e1000_main.c @@ -328,13 +328,15 @@ static void e1000_update_mng_vlan(struct e1000_adapter *adapter) E1000_MNG_DHCP_COOKIE_STATUS_VLAN_SUPPORT) { e1000_vlan_rx_add_vid(netdev, vid); adapter->mng_vlan_id = vid; - } else + } else { adapter->mng_vlan_id = E1000_MNG_VLAN_NONE; + } if ((old_vid != (u16)E1000_MNG_VLAN_NONE) && (vid != old_vid) && - !vlan_group_get_device(adapter->vlgrp, old_vid)) + !vlan_group_get_device(adapter->vlgrp, old_vid)) { e1000_vlan_rx_kill_vid(netdev, old_vid); + } } else adapter->mng_vlan_id = vid; } @@ -937,7 +939,9 @@ static int __devinit e1000_probe(struct pci_dev *pdev, /* do not allocate ioport bars when not needed */ need_ioport = e1000_is_need_ioport(pdev); + printk("do we need ioport? %d\n", need_ioport); if (need_ioport) { + printk("pci_enable_device will be called\n"); bars = pci_select_bars(pdev, IORESOURCE_MEM | IORESOURCE_IO); err = pci_enable_device(pdev); } else { @@ -947,6 +951,7 @@ static int __devinit e1000_probe(struct pci_dev *pdev, if (err) return err; + printk("bars: %x\n", bars); if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK) && !pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK)) { pci_using_dac = 1; @@ -998,6 +1003,8 @@ static int __devinit e1000_probe(struct pci_dev *pdev, continue; if (pci_resource_flags(pdev, i) & IORESOURCE_IO) { hw->io_base = pci_resource_start(pdev, i); + printk("io base: %p, i: %d\n", + hw->io_base, i); break; } } @@ -1084,6 +1091,7 @@ static int __devinit e1000_probe(struct pci_dev *pdev, */ memset(hw->mac_addr, 0, netdev->addr_len); } else { + printk("succeed to validate eeprom\n"); /* copy the MAC address out of the EEPROM */ if (e1000_read_mac_addr(hw)) DPRINTK(PROBE, ERR, "EEPROM Read Error\n"); @@ -1585,6 +1593,8 @@ static int e1000_setup_tx_resources(struct e1000_adapter *adapter, txdr->size = ALIGN(txdr->size, 4096); txdr->desc = pci_alloc_consistent(pdev, txdr->size, &txdr->dma); + printk("allocate %d bytes for transmit desc ring: %p\n", + txdr->size, txdr->desc); if (!txdr->desc) { setup_tx_desc_die: vfree(txdr->buffer_info); @@ -1804,6 +1814,7 @@ static int e1000_setup_rx_resources(struct e1000_adapter *adapter, rxdr->size = rxdr->count * desc_len; rxdr->size = ALIGN(rxdr->size, 4096); + printk("we allocate %d descriptors for rx\n", rxdr->count); rxdr->desc = pci_alloc_consistent(pdev, rxdr->size, &rxdr->dma); if (!rxdr->desc) { @@ -3194,6 +3205,7 @@ static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev) int tso; unsigned int f; + printk("try to send a packet\n"); /* This goes back to the question of how to logically map a tx queue * to a flow. Right now, performance is impacted slightly negatively * if using multiple tx queues. If the stack breaks away from a @@ -3671,6 +3683,7 @@ static irqreturn_t e1000_intr_msi(int irq, void *data) struct e1000_hw *hw = &adapter->hw; u32 icr = er32(ICR); + printk("e1000_intr_msi is called\n"); /* in NAPI mode read ICR disables interrupts using IAM */ if (icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC)) { @@ -3717,6 +3730,7 @@ static irqreturn_t e1000_intr(int irq, void *data) if (unlikely((!icr) || test_bit(__E1000_RESETTING, &adapter->flags))) return IRQ_NONE; /* Not our interrupt */ + printk("e1000 gets an interrupt\n"); /* IMS will not auto-mask if INT_ASSERTED is not set, and if it is * not set, then the adapter didn't send an interrupt */ if (unlikely(hw->mac_type >= e1000_82571 && @@ -3799,6 +3813,8 @@ static int e1000_clean(struct napi_struct *napi, int budget) e1000_irq_enable(adapter); } + printk("e1000_clean: budget: %d, work_done: %d, tx_cleaned: %d\n", + budget, work_done, tx_cleaned); return work_done; } @@ -3823,6 +3839,7 @@ static bool e1000_clean_tx_irq(struct e1000_adapter *adapter, eop_desc = E1000_TX_DESC(*tx_ring, eop); while (eop_desc->upper.data & cpu_to_le32(E1000_TXD_STAT_DD)) { + printk("e1000_clean_tx_irq: check desc %d\n", eop); for (cleaned = false; !cleaned; ) { tx_desc = E1000_TX_DESC(*tx_ring, i); buffer_info = &tx_ring->buffer_info[i]; @@ -4090,6 +4107,8 @@ next_desc: /* return some buffers to hardware, one at a time is too slow */ if (unlikely(cleaned_count >= E1000_RX_BUFFER_WRITE)) { + printk("cleaned_count in the loop: %d\n", + cleaned_count); adapter->alloc_rx_buf(adapter, rx_ring, cleaned_count); cleaned_count = 0; } @@ -4129,6 +4148,7 @@ static void e1000_alloc_rx_buffers(struct e1000_adapter *adapter, unsigned int i; unsigned int bufsz = adapter->rx_buffer_len + NET_IP_ALIGN; + printk("e1000_alloc_rx_buffers is called\n"); i = rx_ring->next_to_use; buffer_info = &rx_ring->buffer_info[i]; @@ -4143,6 +4163,7 @@ static void e1000_alloc_rx_buffers(struct e1000_adapter *adapter, if (unlikely(!skb)) { /* Better luck next round */ adapter->alloc_rx_buff_failed++; + printk("check point 1\n"); break; } @@ -4156,6 +4177,7 @@ static void e1000_alloc_rx_buffers(struct e1000_adapter *adapter, /* Failed allocation, critical failure */ if (!skb) { dev_kfree_skb(oldskb); + printk("check point 2\n"); break; } @@ -4163,6 +4185,7 @@ static void e1000_alloc_rx_buffers(struct e1000_adapter *adapter, /* give up */ dev_kfree_skb(skb); dev_kfree_skb(oldskb); + printk("check point 3\n"); break; /* while !buffer_info->skb */ } @@ -4198,6 +4221,7 @@ map_skb: adapter->rx_buffer_len, PCI_DMA_FROMDEVICE); + printk("check point 4\n"); break; /* while !buffer_info->skb */ } rx_desc = E1000_RX_DESC(*rx_ring, i); @@ -4208,7 +4232,10 @@ map_skb: buffer_info = &rx_ring->buffer_info[i]; } + printk("cleaned_count: %d\n", cleaned_count); if (likely(rx_ring->next_to_use != i)) { + printk("old rx_ring next_to_use: %d, new one: %d\n", + rx_ring->next_to_use, i); rx_ring->next_to_use = i; if (unlikely(i-- == 0)) i = (rx_ring->count - 1); @@ -4452,6 +4479,8 @@ static void e1000_vlan_rx_register(struct net_device *netdev, struct e1000_hw *hw = &adapter->hw; u32 ctrl, rctl; + printk ("********e1000_vlan_rx_register. grp: %p\n", grp); + if (!test_bit(__E1000_DOWN, &adapter->flags)) e1000_irq_disable(adapter); adapter->vlgrp = grp; diff --git a/libdde_linux26/lib/src/arch/l4/kmalloc.c b/libdde_linux26/lib/src/arch/l4/kmalloc.c index 0e94fb97..816f443c 100644 --- a/libdde_linux26/lib/src/arch/l4/kmalloc.c +++ b/libdde_linux26/lib/src/arch/l4/kmalloc.c @@ -131,14 +131,23 @@ void *__kmalloc(size_t size, gfp_t flags) struct kmem_cache *cache = find_cache(size); void **p; - if (cache) + if (cache) { /* allocate from cache */ p = kmem_cache_alloc(cache, flags); + if (!p) { + printk("__kmalloc: kmem_cache_alloc %s fails\n", + ((char **)cache)[0]); + } + } else { /* no cache for this size - use ddekit malloc */ p = ddekit_large_malloc(size); if (flags & __GFP_ZERO) memset (p, 0, size); + if (!p) { + printk("__kmalloc: ddekit_large_malloc %d fails\n", + size); + } } ddekit_log(DEBUG_MALLOC, "size=%d, cache=%p (%d) => %p", diff --git a/libdde_linux26/lib/src/arch/l4/res.c b/libdde_linux26/lib/src/arch/l4/res.c index fbd2d09b..a2ffb98f 100644 --- a/libdde_linux26/lib/src/arch/l4/res.c +++ b/libdde_linux26/lib/src/arch/l4/res.c @@ -99,8 +99,12 @@ struct resource * __request_region(struct resource *parent, switch (parent->flags) { case IORESOURCE_IO: + printk("IO: name: %s, start: %x, len: %d\n", + name, start, n); return l4dde26_request_region(start, n, name); case IORESOURCE_MEM: + printk("MEM: name: %s, start: %x, len: %d\n", + name, start, n); return l4dde26_request_mem_region(start, n, name); } @@ -161,7 +165,11 @@ void __iomem * ioremap(unsigned long phys_addr, unsigned long size) struct dde_mem_region *mreg = list_entry(pos, struct dde_mem_region, list); if (mreg->pa <= phys_addr && mreg->pa + mreg->size >= phys_addr + size) + { + printk ("ioremap: phys: %x <-> virt: %x\n", phys_addr, + (mreg->va + (phys_addr - mreg->pa))); return (void *)(mreg->va + (phys_addr - mreg->pa)); + } } return NULL; diff --git a/libdde_linux26/lib/src/net/core/skbuff.c b/libdde_linux26/lib/src/net/core/skbuff.c index 2f65e534..40d64a88 100644 --- a/libdde_linux26/lib/src/net/core/skbuff.c +++ b/libdde_linux26/lib/src/net/core/skbuff.c @@ -180,14 +180,19 @@ struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask, /* Get the HEAD */ skb = kmem_cache_alloc_node(cache, gfp_mask & ~__GFP_DMA, node); - if (!skb) + if (!skb) { + printk("kmem_cache_alloc_node fails\n"); goto out; + } size = SKB_DATA_ALIGN(size); data = kmalloc_node_track_caller(size + sizeof(struct skb_shared_info), gfp_mask, node); - if (!data) + if (!data) { + printk("kmalloc_node_track_caller %d fails\n", + size + sizeof(struct skb_shared_info)); goto nodata; + } /* * Only clear those fields we need to clear, not those that we will diff --git a/libmachdev/net.c b/libmachdev/net.c index 9a367a6b..ca6bca63 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -122,7 +122,7 @@ struct net_data *nd_head; extern struct device_emulation_ops linux_net_emulation_ops; -static int print_packet_size = 0; +static int print_packet_size = 1; mach_msg_type_t header_type = { @@ -299,7 +299,10 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, /* Search for the device. */ dev = search_netdev (name); if (!dev) - return D_NO_SUCH_DEVICE; + { + fprintf (stderr, "after search_netdev: cannot find %s\n", name); + return D_NO_SUCH_DEVICE; + } /* Allocate and initialize device data if this is the first open. */ nd = search_nd (dev); @@ -307,7 +310,10 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, { err = create_device_port (sizeof (*nd), &nd); if (err) - goto out; + { + fprintf (stderr, "after create_device_port: cannot create a port\n"); + goto out; + } nd->dev = dev; nd->device.emul_data = nd; @@ -333,7 +339,10 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, #endif if (dev_open(dev) < 0) - err = D_NO_SUCH_DEVICE; + { + fprintf (stderr, "after dev_open: cannot open the device\n"); + err = D_NO_SUCH_DEVICE; + } out: if (err) -- cgit v1.2.3 From 2fe1437bd35016309e9ac4cfe57fb3daca3ba0a0 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Mon, 31 May 2010 17:21:47 +0200 Subject: make glue code of networking more independant. This change is required for block device drivers. When block device drivers are linked to the glue code, the linker should be able to perform garbage collection and exclude the code of networking from the driver programs. --- dde_e100/Makefile | 2 +- dde_e100/main.c | 6 +++--- dde_e1000/Makefile | 2 +- dde_e1000/main.c | 6 +++--- dde_ne2k_pci/Makefile | 2 +- dde_ne2k_pci/main.c | 6 +++--- dde_pcnet32/Makefile | 2 +- dde_pcnet32/main.c | 6 +++--- dde_rtl8139/Makefile | 2 +- dde_rtl8139/main.c | 6 +++--- libmachdev/Makefile | 3 ++- libmachdev/device_emul.h | 2 +- libmachdev/ds_routines.c | 14 +++++++++----- libmachdev/machdev.h | 32 ++++++++++++++++++++++++++++++++ libmachdev/net.c | 25 +++++++++++++++---------- 15 files changed, 79 insertions(+), 37 deletions(-) create mode 100644 libmachdev/machdev.h (limited to 'libmachdev') diff --git a/dde_e100/Makefile b/dde_e100/Makefile index fb1ed61e..27504068 100644 --- a/dde_e100/Makefile +++ b/dde_e100/Makefile @@ -10,7 +10,7 @@ TARGET = dde_e100 SRC_C = main.c e100.c LIBS += ../libmachdev/libmachdev.a -ldde_linux26.o -ldde_linux26_net ../libddekit/libddekit.a -lfshelp -ltrivfs -lpciaccess -lthreads -lshouldbeinlibc -lports -lhurd-slab -CFLAGS += -g +CFLAGS += -g -I/include # DDE configuration include $(L4DIR)/Makeconf diff --git a/dde_e100/main.c b/dde_e100/main.c index 8f04bfeb..98f4452a 100644 --- a/dde_e100/main.c +++ b/dde_e100/main.c @@ -6,13 +6,12 @@ #include // initcall() #include // msleep() -int using_std = 1; +#include -void netif_rx_handle (char *data, int len, struct net_device *dev); +int using_std = 1; int main(int argc, char **argv) { - extern void ds_server(void); l4dde26_init(); l4dde26_process_init(); l4dde26_softirq_init(); @@ -22,6 +21,7 @@ int main(int argc, char **argv) l4dde26_do_initcalls(); + register_net(); mach_device_init(); trivfs_init(); diff --git a/dde_e1000/Makefile b/dde_e1000/Makefile index bfe7dbaf..ffdc17ab 100644 --- a/dde_e1000/Makefile +++ b/dde_e1000/Makefile @@ -10,7 +10,7 @@ TARGET = dde_e1000 SRC_C = main.c e1000_ethtool.c e1000_hw.c e1000_main.c e1000_param.c LIBS += ../libmachdev/libmachdev.a -ldde_linux26.o -ldde_linux26_net ../libddekit/libddekit.a -lfshelp -ltrivfs -lpciaccess -lthreads -lshouldbeinlibc -lports -lhurd-slab -CFLAGS += -g +CFLAGS += -g -I/include # DDE configuration include $(L4DIR)/Makeconf diff --git a/dde_e1000/main.c b/dde_e1000/main.c index 8f04bfeb..98f4452a 100644 --- a/dde_e1000/main.c +++ b/dde_e1000/main.c @@ -6,13 +6,12 @@ #include // initcall() #include // msleep() -int using_std = 1; +#include -void netif_rx_handle (char *data, int len, struct net_device *dev); +int using_std = 1; int main(int argc, char **argv) { - extern void ds_server(void); l4dde26_init(); l4dde26_process_init(); l4dde26_softirq_init(); @@ -22,6 +21,7 @@ int main(int argc, char **argv) l4dde26_do_initcalls(); + register_net(); mach_device_init(); trivfs_init(); diff --git a/dde_ne2k_pci/Makefile b/dde_ne2k_pci/Makefile index 6cc27279..879904e1 100644 --- a/dde_ne2k_pci/Makefile +++ b/dde_ne2k_pci/Makefile @@ -10,7 +10,7 @@ TARGET = dde_ne2k_pci SRC_C = main.c ne2k-pci.c 8390.c LIBS += ../libmachdev/libmachdev.a -ldde_linux26.o -ldde_linux26_net ../libddekit/libddekit.a -lfshelp -ltrivfs -lpciaccess -lthreads -lshouldbeinlibc -lports -lhurd-slab -CFLAGS += -g +CFLAGS += -g -I/include # DDE configuration include $(L4DIR)/Makeconf diff --git a/dde_ne2k_pci/main.c b/dde_ne2k_pci/main.c index 8f04bfeb..98f4452a 100644 --- a/dde_ne2k_pci/main.c +++ b/dde_ne2k_pci/main.c @@ -6,13 +6,12 @@ #include // initcall() #include // msleep() -int using_std = 1; +#include -void netif_rx_handle (char *data, int len, struct net_device *dev); +int using_std = 1; int main(int argc, char **argv) { - extern void ds_server(void); l4dde26_init(); l4dde26_process_init(); l4dde26_softirq_init(); @@ -22,6 +21,7 @@ int main(int argc, char **argv) l4dde26_do_initcalls(); + register_net(); mach_device_init(); trivfs_init(); diff --git a/dde_pcnet32/Makefile b/dde_pcnet32/Makefile index 89e67efd..ebbb271e 100644 --- a/dde_pcnet32/Makefile +++ b/dde_pcnet32/Makefile @@ -10,7 +10,7 @@ TARGET = dde_pcnet32 SRC_C = main.c pcnet32.c LIBS += ../libmachdev/libmachdev.a -ldde_linux26.o -ldde_linux26_net ../libddekit/libddekit.a -lfshelp -ltrivfs -lpciaccess -lthreads -lshouldbeinlibc -lports -lhurd-slab -CFLAGS += -g +CFLAGS += -g -I/include # DDE configuration include $(L4DIR)/Makeconf diff --git a/dde_pcnet32/main.c b/dde_pcnet32/main.c index 8f04bfeb..98f4452a 100644 --- a/dde_pcnet32/main.c +++ b/dde_pcnet32/main.c @@ -6,13 +6,12 @@ #include // initcall() #include // msleep() -int using_std = 1; +#include -void netif_rx_handle (char *data, int len, struct net_device *dev); +int using_std = 1; int main(int argc, char **argv) { - extern void ds_server(void); l4dde26_init(); l4dde26_process_init(); l4dde26_softirq_init(); @@ -22,6 +21,7 @@ int main(int argc, char **argv) l4dde26_do_initcalls(); + register_net(); mach_device_init(); trivfs_init(); diff --git a/dde_rtl8139/Makefile b/dde_rtl8139/Makefile index dcc4a4f1..1af8e179 100644 --- a/dde_rtl8139/Makefile +++ b/dde_rtl8139/Makefile @@ -10,7 +10,7 @@ TARGET = dde_rtl8139 SRC_C = main.c 8139cp.c LIBS += ../libmachdev/libmachdev.a -ldde_linux26.o -ldde_linux26_net ../libddekit/libddekit.a -lfshelp -ltrivfs -lpciaccess -lthreads -lshouldbeinlibc -lports -lhurd-slab -CFLAGS += -g +CFLAGS += -g -I/include # DDE configuration include $(L4DIR)/Makeconf diff --git a/dde_rtl8139/main.c b/dde_rtl8139/main.c index 8f04bfeb..98f4452a 100644 --- a/dde_rtl8139/main.c +++ b/dde_rtl8139/main.c @@ -6,13 +6,12 @@ #include // initcall() #include // msleep() -int using_std = 1; +#include -void netif_rx_handle (char *data, int len, struct net_device *dev); +int using_std = 1; int main(int argc, char **argv) { - extern void ds_server(void); l4dde26_init(); l4dde26_process_init(); l4dde26_softirq_init(); @@ -22,6 +21,7 @@ int main(int argc, char **argv) l4dde26_do_initcalls(); + register_net(); mach_device_init(); trivfs_init(); diff --git a/libmachdev/Makefile b/libmachdev/Makefile index daf13a82..f64e281a 100644 --- a/libmachdev/Makefile +++ b/libmachdev/Makefile @@ -22,7 +22,8 @@ libname = libmachdev SRCS = deviceUser.c machUser.c net.c ds_routines.c queue.c trivfs_server.c \ device_replyUser.c deviceServer.c notifyServer.c LCLHDRS = dev_hdr.h device_emul.h ds_routines.h vm_param.h \ - util.h queue.h io_req.h if_ether.h + util.h queue.h io_req.h if_ether.h machdev.h +installhdrs = machdev.h device_emul.h HURDLIBS = ports threads trivfs OBJS = $(SRCS:.c=.o) $(MIGSTUBS) diff --git a/libmachdev/device_emul.h b/libmachdev/device_emul.h index edcf6d07..a5bc4f77 100644 --- a/libmachdev/device_emul.h +++ b/libmachdev/device_emul.h @@ -31,7 +31,7 @@ /* Each emulation layer provides these operations. */ struct device_emulation_ops { - void (*init) (); + void (*init) (void); void (*reference) (void *); void (*dealloc) (void *); mach_port_t (*dev_to_port) (void *); diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index 1961a2f3..f6a8e76c 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -73,13 +73,12 @@ static struct port_class *dev_class; extern struct device_emulation_ops linux_net_emulation_ops; -#define NUM_EMULATION (sizeof (emulation_list) / sizeof (emulation_list[0])) +#define NUM_EMULATION num_emul +#define MAX_NUM_EMULATION 32 /* List of emulations. */ -static struct device_emulation_ops *emulation_list[] = -{ - &linux_net_emulation_ops, -}; +static struct device_emulation_ops *emulation_list[MAX_NUM_EMULATION]; +static int num_emul; boolean_t is_master_device (mach_port_t port); @@ -447,6 +446,11 @@ demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp) return ret; } +void reg_dev_emul (struct device_emulation_ops *ops) +{ + emulation_list[num_emul++] = ops; +} + void ds_server() { /* Launch. */ diff --git a/libmachdev/machdev.h b/libmachdev/machdev.h new file mode 100644 index 00000000..27c488a5 --- /dev/null +++ b/libmachdev/machdev.h @@ -0,0 +1,32 @@ +/* + Copyright (C) 2010 Free Software Foundation, Inc. + Written by Zheng Da. + + 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. */ + +/* This file declares interfaces used by driver programs. */ + +#ifndef __MACHDEV_H__ +#define __MACHDEV_H__ + +void ds_server(void); +void mach_device_init(void); +void register_net(void); +void trivfs_server(void); +int trivfs_init(void); + +#endif diff --git a/libmachdev/net.c b/libmachdev/net.c index ca6bca63..e785a5c8 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -102,7 +102,6 @@ struct skb_reply struct sk_buff; void skb_done_queue(struct sk_buff *skb); struct sk_buff *skb_done_dequeue(); -void linux_net_emulation_init (); void *skb_reply(struct sk_buff *skb); int netdev_flags(struct net_device *dev); char *netdev_addr(struct net_device *dev); @@ -116,7 +115,7 @@ int dev_open(struct net_device *dev); void *l4dde26_register_rx_callback(void *cb); void skb_done_head_init(); -struct net_data *nd_head; +static struct net_data *nd_head; /* Forward declarations. */ @@ -124,7 +123,7 @@ extern struct device_emulation_ops linux_net_emulation_ops; static int print_packet_size = 1; -mach_msg_type_t header_type = +static mach_msg_type_t header_type = { MACH_MSG_TYPE_BYTE, 8, @@ -135,7 +134,7 @@ mach_msg_type_t header_type = 0 }; -mach_msg_type_t packet_type = +static mach_msg_type_t packet_type = { MACH_MSG_TYPE_BYTE, /* name */ 8, /* size */ @@ -145,7 +144,7 @@ mach_msg_type_t packet_type = FALSE /* deallocate */ }; -struct net_data *search_nd (struct net_device *dev) +static struct net_data *search_nd (struct net_device *dev) { struct net_data *nd = nd_head; @@ -163,7 +162,7 @@ struct net_data *search_nd (struct net_device *dev) /* actions before freeing the sk_buff SKB. * If it returns 1, the packet will be deallocated later. */ -int +static int pre_kfree_skb (struct sk_buff *skb, void *data) { struct skb_reply *reply = data; @@ -190,7 +189,7 @@ pre_kfree_skb (struct sk_buff *skb, void *data) * Deliver the message to all right pfinet servers that * connects to the virtual network interface. */ -int +static int deliver_msg(mach_port_t dest, struct net_rcv_msg *msg) { mach_msg_return_t err; @@ -217,7 +216,7 @@ deliver_msg(mach_port_t dest, struct net_rcv_msg *msg) } /* Accept packet SKB received on an interface. */ -void +static void netif_rx_handle (char *data, int len, struct net_device *dev) { int pack_size; @@ -438,7 +437,7 @@ device_write (void *d, mach_port_t reply_port, /* * Other network operations */ -io_return_t +static io_return_t net_getstat(dev, flavor, status, count) struct net_device *dev; dev_flavor_t flavor; @@ -641,7 +640,7 @@ device_set_filter (void *d, mach_port_t port, int priority, } /* Do any initialization required for network devices. */ -void linux_net_emulation_init () +static void linux_net_emulation_init () { skb_done_head_init(); l4dde26_register_rx_callback(netif_rx_handle); @@ -667,3 +666,9 @@ struct device_emulation_ops linux_net_emulation_ops = NULL, NULL }; + +void register_net() +{ + extern void reg_dev_emul (struct device_emulation_ops *ops); + reg_dev_emul (&linux_net_emulation_ops); +} -- cgit v1.2.3 From 77042ddb052bbad8de75ffe7e46d5ec5b40c8c06 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 4 Jun 2010 07:34:32 +0200 Subject: convert linux errno to mach in libmachdev. --- libmachdev/Makefile | 7 +-- libmachdev/errno-base.h | 39 +++++++++++++++++ libmachdev/linux-errno.h | 109 +++++++++++++++++++++++++++++++++++++++++++++++ libmachdev/misc.c | 49 +++++++++++++++++++++ libmachdev/net.c | 6 +-- libmachdev/util.h | 2 + 6 files changed, 206 insertions(+), 6 deletions(-) create mode 100644 libmachdev/errno-base.h create mode 100644 libmachdev/linux-errno.h create mode 100644 libmachdev/misc.c (limited to 'libmachdev') diff --git a/libmachdev/Makefile b/libmachdev/Makefile index f64e281a..2bd294ad 100644 --- a/libmachdev/Makefile +++ b/libmachdev/Makefile @@ -20,13 +20,14 @@ makemode := library libname = libmachdev SRCS = deviceUser.c machUser.c net.c ds_routines.c queue.c trivfs_server.c \ - device_replyUser.c deviceServer.c notifyServer.c + device_replyUser.c deviceServer.c notifyServer.c misc.c LCLHDRS = dev_hdr.h device_emul.h ds_routines.h vm_param.h \ - util.h queue.h io_req.h if_ether.h machdev.h + util.h queue.h io_req.h if_ether.h machdev.h linux-errno.h \ + errno-base.h installhdrs = machdev.h device_emul.h HURDLIBS = ports threads trivfs OBJS = $(SRCS:.c=.o) $(MIGSTUBS) include ../Makeconf -CFLAGS += +CFLAGS += -I../libddekit/include diff --git a/libmachdev/errno-base.h b/libmachdev/errno-base.h new file mode 100644 index 00000000..65115978 --- /dev/null +++ b/libmachdev/errno-base.h @@ -0,0 +1,39 @@ +#ifndef _ASM_GENERIC_ERRNO_BASE_H +#define _ASM_GENERIC_ERRNO_BASE_H + +#define EPERM 1 /* Operation not permitted */ +#define ENOENT 2 /* No such file or directory */ +#define ESRCH 3 /* No such process */ +#define EINTR 4 /* Interrupted system call */ +#define EIO 5 /* I/O error */ +#define ENXIO 6 /* No such device or address */ +#define E2BIG 7 /* Argument list too long */ +#define ENOEXEC 8 /* Exec format error */ +#define EBADF 9 /* Bad file number */ +#define ECHILD 10 /* No child processes */ +#define EAGAIN 11 /* Try again */ +#define ENOMEM 12 /* Out of memory */ +#define EACCES 13 /* Permission denied */ +#define EFAULT 14 /* Bad address */ +#define ENOTBLK 15 /* Block device required */ +#define EBUSY 16 /* Device or resource busy */ +#define EEXIST 17 /* File exists */ +#define EXDEV 18 /* Cross-device link */ +#define ENODEV 19 /* No such device */ +#define ENOTDIR 20 /* Not a directory */ +#define EISDIR 21 /* Is a directory */ +#define EINVAL 22 /* Invalid argument */ +#define ENFILE 23 /* File table overflow */ +#define EMFILE 24 /* Too many open files */ +#define ENOTTY 25 /* Not a typewriter */ +#define ETXTBSY 26 /* Text file busy */ +#define EFBIG 27 /* File too large */ +#define ENOSPC 28 /* No space left on device */ +#define ESPIPE 29 /* Illegal seek */ +#define EROFS 30 /* Read-only file system */ +#define EMLINK 31 /* Too many links */ +#define EPIPE 32 /* Broken pipe */ +#define EDOM 33 /* Math argument out of domain of func */ +#define ERANGE 34 /* Math result not representable */ + +#endif diff --git a/libmachdev/linux-errno.h b/libmachdev/linux-errno.h new file mode 100644 index 00000000..e8852c09 --- /dev/null +++ b/libmachdev/linux-errno.h @@ -0,0 +1,109 @@ +#ifndef _ASM_GENERIC_ERRNO_H +#define _ASM_GENERIC_ERRNO_H + +#include + +#define EDEADLK 35 /* Resource deadlock would occur */ +#define ENAMETOOLONG 36 /* File name too long */ +#define ENOLCK 37 /* No record locks available */ +#define ENOSYS 38 /* Function not implemented */ +#define ENOTEMPTY 39 /* Directory not empty */ +#define ELOOP 40 /* Too many symbolic links encountered */ +#define EWOULDBLOCK EAGAIN /* Operation would block */ +#define ENOMSG 42 /* No message of desired type */ +#define EIDRM 43 /* Identifier removed */ +#define ECHRNG 44 /* Channel number out of range */ +#define EL2NSYNC 45 /* Level 2 not synchronized */ +#define EL3HLT 46 /* Level 3 halted */ +#define EL3RST 47 /* Level 3 reset */ +#define ELNRNG 48 /* Link number out of range */ +#define EUNATCH 49 /* Protocol driver not attached */ +#define ENOCSI 50 /* No CSI structure available */ +#define EL2HLT 51 /* Level 2 halted */ +#define EBADE 52 /* Invalid exchange */ +#define EBADR 53 /* Invalid request descriptor */ +#define EXFULL 54 /* Exchange full */ +#define ENOANO 55 /* No anode */ +#define EBADRQC 56 /* Invalid request code */ +#define EBADSLT 57 /* Invalid slot */ + +#define EDEADLOCK EDEADLK + +#define EBFONT 59 /* Bad font file format */ +#define ENOSTR 60 /* Device not a stream */ +#define ENODATA 61 /* No data available */ +#define ETIME 62 /* Timer expired */ +#define ENOSR 63 /* Out of streams resources */ +#define ENONET 64 /* Machine is not on the network */ +#define ENOPKG 65 /* Package not installed */ +#define EREMOTE 66 /* Object is remote */ +#define ENOLINK 67 /* Link has been severed */ +#define EADV 68 /* Advertise error */ +#define ESRMNT 69 /* Srmount error */ +#define ECOMM 70 /* Communication error on send */ +#define EPROTO 71 /* Protocol error */ +#define EMULTIHOP 72 /* Multihop attempted */ +#define EDOTDOT 73 /* RFS specific error */ +#define EBADMSG 74 /* Not a data message */ +#define EOVERFLOW 75 /* Value too large for defined data type */ +#define ENOTUNIQ 76 /* Name not unique on network */ +#define EBADFD 77 /* File descriptor in bad state */ +#define EREMCHG 78 /* Remote address changed */ +#define ELIBACC 79 /* Can not access a needed shared library */ +#define ELIBBAD 80 /* Accessing a corrupted shared library */ +#define ELIBSCN 81 /* .lib section in a.out corrupted */ +#define ELIBMAX 82 /* Attempting to link in too many shared libraries */ +#define ELIBEXEC 83 /* Cannot exec a shared library directly */ +#define EILSEQ 84 /* Illegal byte sequence */ +#define ERESTART 85 /* Interrupted system call should be restarted */ +#define ESTRPIPE 86 /* Streams pipe error */ +#define EUSERS 87 /* Too many users */ +#define ENOTSOCK 88 /* Socket operation on non-socket */ +#define EDESTADDRREQ 89 /* Destination address required */ +#define EMSGSIZE 90 /* Message too long */ +#define EPROTOTYPE 91 /* Protocol wrong type for socket */ +#define ENOPROTOOPT 92 /* Protocol not available */ +#define EPROTONOSUPPORT 93 /* Protocol not supported */ +#define ESOCKTNOSUPPORT 94 /* Socket type not supported */ +#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ +#define EPFNOSUPPORT 96 /* Protocol family not supported */ +#define EAFNOSUPPORT 97 /* Address family not supported by protocol */ +#define EADDRINUSE 98 /* Address already in use */ +#define EADDRNOTAVAIL 99 /* Cannot assign requested address */ +#define ENETDOWN 100 /* Network is down */ +#define ENETUNREACH 101 /* Network is unreachable */ +#define ENETRESET 102 /* Network dropped connection because of reset */ +#define ECONNABORTED 103 /* Software caused connection abort */ +#define ECONNRESET 104 /* Connection reset by peer */ +#define ENOBUFS 105 /* No buffer space available */ +#define EISCONN 106 /* Transport endpoint is already connected */ +#define ENOTCONN 107 /* Transport endpoint is not connected */ +#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ +#define ETOOMANYREFS 109 /* Too many references: cannot splice */ +#define ETIMEDOUT 110 /* Connection timed out */ +#define ECONNREFUSED 111 /* Connection refused */ +#define EHOSTDOWN 112 /* Host is down */ +#define EHOSTUNREACH 113 /* No route to host */ +#define EALREADY 114 /* Operation already in progress */ +#define EINPROGRESS 115 /* Operation now in progress */ +#define ESTALE 116 /* Stale NFS file handle */ +#define EUCLEAN 117 /* Structure needs cleaning */ +#define ENOTNAM 118 /* Not a XENIX named type file */ +#define ENAVAIL 119 /* No XENIX semaphores available */ +#define EISNAM 120 /* Is a named type file */ +#define EREMOTEIO 121 /* Remote I/O error */ +#define EDQUOT 122 /* Quota exceeded */ + +#define ENOMEDIUM 123 /* No medium found */ +#define EMEDIUMTYPE 124 /* Wrong medium type */ +#define ECANCELED 125 /* Operation Canceled */ +#define ENOKEY 126 /* Required key not available */ +#define EKEYEXPIRED 127 /* Key has expired */ +#define EKEYREVOKED 128 /* Key has been revoked */ +#define EKEYREJECTED 129 /* Key was rejected by service */ + +/* for robust mutexes */ +#define EOWNERDEAD 130 /* Owner died */ +#define ENOTRECOVERABLE 131 /* State not recoverable */ + +#endif diff --git a/libmachdev/misc.c b/libmachdev/misc.c new file mode 100644 index 00000000..d5df3663 --- /dev/null +++ b/libmachdev/misc.c @@ -0,0 +1,49 @@ +#include + +#include + +#include "linux-errno.h" + +int +linux_to_mach_error (int err); +{ + switch (err) + { + case 0: + return D_SUCCESS; + + case -EPERM: + return D_INVALID_OPERATION; + + case -EIO: + return D_IO_ERROR; + + case -ENXIO: + return D_NO_SUCH_DEVICE; + + case -EACCES: + return D_INVALID_OPERATION; + + case -EFAULT: + return D_INVALID_SIZE; + + case -EBUSY: + return D_ALREADY_OPEN; + + case -EINVAL: + return D_INVALID_SIZE; + + case -EROFS: + return D_READ_ONLY; + + case -EWOULDBLOCK: + return D_WOULD_BLOCK; + + case -ENOMEM: + return D_NO_MEMORY; + + default: + ddekit_printf ("linux_to_mach_error: unknown code %d\n", err); + return D_IO_ERROR; + } +} diff --git a/libmachdev/net.c b/libmachdev/net.c index e785a5c8..b21d6333 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -337,10 +337,10 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, if_init_queues (ifp); #endif - if (dev_open(dev) < 0) + if (err = dev_open(dev) < 0) { fprintf (stderr, "after dev_open: cannot open the device\n"); - err = D_NO_SUCH_DEVICE; + err = linux_to_mach_error (err); } out: @@ -396,7 +396,7 @@ device_write (void *d, mach_port_t reply_port, err = linux_pkg_xmit (data, count, skb_reply, pre_kfree_skb, dev); vm_deallocate (mach_task_self (), (vm_address_t) data, count); if (err) - return err; + return linux_to_mach_error (err); /* Send packet to filters. */ // TODO should I deliver the packet to other network stacks? diff --git a/libmachdev/util.h b/libmachdev/util.h index 6fb1db28..1c62b0d6 100644 --- a/libmachdev/util.h +++ b/libmachdev/util.h @@ -30,4 +30,6 @@ #endif +int linux_to_mach_error (int err); + #endif -- cgit v1.2.3 From f55b47ebf4e9bd0dd1e5e46011404456b7cd2825 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 4 Jun 2010 07:36:07 +0200 Subject: remove redundant fields in mach_device. --- libmachdev/dev_hdr.h | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/dev_hdr.h b/libmachdev/dev_hdr.h index db44f712..f6394256 100644 --- a/libmachdev/dev_hdr.h +++ b/libmachdev/dev_hdr.h @@ -104,21 +104,6 @@ typedef struct emul_device *emul_device_t; struct mach_device { struct port_info port; struct emul_device dev; /* the real device structure */ - struct mutex lock; - short state; /* state: */ -#define DEV_STATE_INIT 0 /* not open */ -#define DEV_STATE_OPENING 1 /* being opened */ -#define DEV_STATE_OPEN 2 /* open */ -#define DEV_STATE_CLOSING 3 /* being closed */ - short flag; /* random flags: */ -#define D_EXCL_OPEN 0x0001 /* open only once */ - short open_count; /* number of times open */ - short io_in_progress; /* number of IOs in progress */ - boolean_t io_wait; /* someone waiting for IO to finish */ - - int dev_number; /* device number */ - int bsize; /* replacement for DEV_BSIZE */ - struct dev_ops *dev_ops; /* and operations vector */ }; typedef struct mach_device *mach_device_t; #define MACH_DEVICE_NULL ((mach_device_t)0) -- cgit v1.2.3 From a37d4548f4c696fc5a919ad3839c6472afdff86f Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 4 Jun 2010 07:37:45 +0200 Subject: remove the declaration of linux_net_emulation_ops. --- libmachdev/ds_routines.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index f6a8e76c..65cefa3a 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -71,8 +71,6 @@ static struct port_bucket *port_bucket; static struct port_class *dev_class; -extern struct device_emulation_ops linux_net_emulation_ops; - #define NUM_EMULATION num_emul #define MAX_NUM_EMULATION 32 -- cgit v1.2.3 From 754b9e2aa7a675fae18dfc1afa629ac65c48d11c Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 4 Jun 2010 14:13:29 +0200 Subject: fix compilation errors in the last commit. --- libmachdev/misc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libmachdev') diff --git a/libmachdev/misc.c b/libmachdev/misc.c index d5df3663..977159bd 100644 --- a/libmachdev/misc.c +++ b/libmachdev/misc.c @@ -1,11 +1,12 @@ #include +#include #include #include "linux-errno.h" int -linux_to_mach_error (int err); +linux_to_mach_error (int err) { switch (err) { -- cgit v1.2.3 From 2d2c99a2d22d53343e3ea39368201d2e316c5aa8 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 4 Jun 2010 16:50:15 +0200 Subject: fix a complication problem. --- libmachdev/linux-errno.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libmachdev') diff --git a/libmachdev/linux-errno.h b/libmachdev/linux-errno.h index e8852c09..be764a89 100644 --- a/libmachdev/linux-errno.h +++ b/libmachdev/linux-errno.h @@ -1,7 +1,7 @@ #ifndef _ASM_GENERIC_ERRNO_H #define _ASM_GENERIC_ERRNO_H -#include +#include #define EDEADLK 35 /* Resource deadlock would occur */ #define ENAMETOOLONG 36 /* File name too long */ -- cgit v1.2.3 From 21bf6f025d94c2987dfe30a0b327b6dfab7a8bff Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 4 Jun 2010 16:51:24 +0200 Subject: support block devices in the DDE library. --- libdde_linux26/lib/src/Makefile | 3 +- libdde_linux26/lib/src/arch/l4/mach_glue.c | 87 ---------- libdde_linux26/lib/src/mach_glue/block.c | 77 +++++++++ libdde_linux26/lib/src/mach_glue/net.c | 87 ++++++++++ libmachdev/Makefile | 2 +- libmachdev/block.c | 250 +++++++++++++++++++++++++++++ libmachdev/mach_glue.h | 30 ++++ libmachdev/machdev.h | 1 + libmachdev/net.c | 19 +-- windhoek/Makefile | 4 +- windhoek/main.c | 1 + 11 files changed, 453 insertions(+), 108 deletions(-) delete mode 100644 libdde_linux26/lib/src/arch/l4/mach_glue.c create mode 100644 libdde_linux26/lib/src/mach_glue/block.c create mode 100644 libdde_linux26/lib/src/mach_glue/net.c create mode 100644 libmachdev/block.c create mode 100644 libmachdev/mach_glue.h (limited to 'libmachdev') diff --git a/libdde_linux26/lib/src/Makefile b/libdde_linux26/lib/src/Makefile index 3743f91b..947f11b9 100644 --- a/libdde_linux26/lib/src/Makefile +++ b/libdde_linux26/lib/src/Makefile @@ -150,7 +150,7 @@ SRC_C_libdde_linux26.o.a += \ ################################################################## SRC_C_libdde_linux26_net.a += \ arch/l4/net.c \ - arch/l4/mach_glue.c \ + mach_glue/net.c \ drivers/net/mii.c \ net/core/dev.c \ net/core/dev_mcast.c \ @@ -180,6 +180,7 @@ SRC_C_libdde_linux26_sound.a += \ # SRC_C_libdde_linux26_block.a += \ arch/l4/inodes.c \ + mach_glue/block.c \ block/blk-barrier.c \ block/blk-core.c \ block/blk-exec.c \ diff --git a/libdde_linux26/lib/src/arch/l4/mach_glue.c b/libdde_linux26/lib/src/arch/l4/mach_glue.c deleted file mode 100644 index 48373a90..00000000 --- a/libdde_linux26/lib/src/arch/l4/mach_glue.c +++ /dev/null @@ -1,87 +0,0 @@ -#include -#include - -/* List of sk_buffs waiting to be freed. */ -static struct sk_buff_head skb_done_list; - -struct net_device *search_netdev (char *name) -{ - struct net_device *dev; - struct net_device *found = NULL; - struct net *net; - - printk("search device %s\n", name); - read_lock(&dev_base_lock); - for_each_net(net) { - for_each_netdev(net, dev) { - printk("there is device %s, base addr: %x\n", - dev->name, dev->base_addr); - if (!strcmp (name, dev->name)) - { - found = dev; - goto end; - } - } - } -end: - read_unlock(&dev_base_lock); - return found; -} - -int linux_pkg_xmit (char *pkg_data, int len, void *del_data, - int (*del_func) (struct sk_buff *, void *), - struct net_device *dev) -{ - struct sk_buff *skb; - - if (len == 0 || len > dev->mtu + dev->hard_header_len) - return EINVAL; - - /* Allocate a sk_buff. */ - skb = dev_alloc_skb (len); - if (!skb) - return ENOMEM; - - skb->del_data = del_data; - skb->pre_del_func = del_func; - - /* Copy user data. This is only required if it spans multiple pages. */ - skb->len = len; - skb->tail = skb->data + len; - - memcpy (skb->data, pkg_data, len); - - skb->dev = dev; - - return dev_queue_xmit(skb); -} - -char *netdev_addr(struct net_device *dev) -{ - return dev->dev_addr; -} - -int netdev_flags(struct net_device *dev) -{ - return dev->flags; -} - -void *skb_reply(struct sk_buff *skb) -{ - return skb->del_data; -} - -void skb_done_head_init() -{ - skb_queue_head_init (&skb_done_list); -} - -struct sk_buff *skb_done_dequeue() -{ - return skb_dequeue (&skb_done_list); -} - -void skb_done_queue(struct sk_buff *skb) -{ - skb_queue_tail (&skb_done_list, skb); -} diff --git a/libdde_linux26/lib/src/mach_glue/block.c b/libdde_linux26/lib/src/mach_glue/block.c new file mode 100644 index 00000000..7eac7e46 --- /dev/null +++ b/libdde_linux26/lib/src/mach_glue/block.c @@ -0,0 +1,77 @@ +#include +#include +#include +#include + +struct gendisk *find_disk_by_name (char *); +void dde_page_cache_add (struct page *); + +struct block_device *open_block_dev (char *name, int part, fmode_t mode) +{ + struct gendisk *disk = find_disk_by_name (name); + dev_t devid = MKDEV (disk->major, disk->first_minor + part); + return open_by_devnum (devid, mode); +} + +/* write a piece of data to a block device. + * DATA must be in one page. + * SECTORNR: the writing location in sectors. */ +int block_dev_write (struct block_device *dev, int sectornr, + char *data, int count, void (*write_done (int err))) +{ + int err = 0; + struct bio *bio; + struct page *page; + int i; + + void end_bio (struct bio *bio, int err) + { + write_done (err); + } + + assert (count <= PAGE_SIZE); + bio = bio_alloc (GFP_NOIO, 1); + if (bio == NULL) + { + err = ENOMEM; + goto out; + } + + page = kmalloc (sizeof (*page), GFP_KERNEL); + if (page == NULL) + { + err = ENOMEM; + goto out; + } + + bio->bi_sector = sectornr; + bio->bi_bdev = dev; + page->virtual = data; + dde_page_cache_add (page); + bio->bi_io_vec[0].bv_page = page; + bio->bi_io_vec[0].bv_len = count; + bio->bi_io_vec[0].bv_offset = (int) data & ~PAGE_MASK; + + bio->bi_vcnt = 1; + bio->bi_idx = 0; + bio->bi_size = count; + + bio->bi_end_io = end_bio; + bio->bi_private = NULL; + bio_get (bio); + submit_bio (WRITE, bio); + if (bio_flagged (bio, BIO_EOPNOTSUPP)) + { + err = -EOPNOTSUPP; + goto out; + } + bio_put (bio); +out: + if (err) + { + if (bio) + bio_put (bio); + kfree (page); + } + return err; +} diff --git a/libdde_linux26/lib/src/mach_glue/net.c b/libdde_linux26/lib/src/mach_glue/net.c new file mode 100644 index 00000000..48373a90 --- /dev/null +++ b/libdde_linux26/lib/src/mach_glue/net.c @@ -0,0 +1,87 @@ +#include +#include + +/* List of sk_buffs waiting to be freed. */ +static struct sk_buff_head skb_done_list; + +struct net_device *search_netdev (char *name) +{ + struct net_device *dev; + struct net_device *found = NULL; + struct net *net; + + printk("search device %s\n", name); + read_lock(&dev_base_lock); + for_each_net(net) { + for_each_netdev(net, dev) { + printk("there is device %s, base addr: %x\n", + dev->name, dev->base_addr); + if (!strcmp (name, dev->name)) + { + found = dev; + goto end; + } + } + } +end: + read_unlock(&dev_base_lock); + return found; +} + +int linux_pkg_xmit (char *pkg_data, int len, void *del_data, + int (*del_func) (struct sk_buff *, void *), + struct net_device *dev) +{ + struct sk_buff *skb; + + if (len == 0 || len > dev->mtu + dev->hard_header_len) + return EINVAL; + + /* Allocate a sk_buff. */ + skb = dev_alloc_skb (len); + if (!skb) + return ENOMEM; + + skb->del_data = del_data; + skb->pre_del_func = del_func; + + /* Copy user data. This is only required if it spans multiple pages. */ + skb->len = len; + skb->tail = skb->data + len; + + memcpy (skb->data, pkg_data, len); + + skb->dev = dev; + + return dev_queue_xmit(skb); +} + +char *netdev_addr(struct net_device *dev) +{ + return dev->dev_addr; +} + +int netdev_flags(struct net_device *dev) +{ + return dev->flags; +} + +void *skb_reply(struct sk_buff *skb) +{ + return skb->del_data; +} + +void skb_done_head_init() +{ + skb_queue_head_init (&skb_done_list); +} + +struct sk_buff *skb_done_dequeue() +{ + return skb_dequeue (&skb_done_list); +} + +void skb_done_queue(struct sk_buff *skb) +{ + skb_queue_tail (&skb_done_list, skb); +} diff --git a/libmachdev/Makefile b/libmachdev/Makefile index 2bd294ad..7475d041 100644 --- a/libmachdev/Makefile +++ b/libmachdev/Makefile @@ -20,7 +20,7 @@ makemode := library libname = libmachdev SRCS = deviceUser.c machUser.c net.c ds_routines.c queue.c trivfs_server.c \ - device_replyUser.c deviceServer.c notifyServer.c misc.c + device_replyUser.c deviceServer.c notifyServer.c misc.c block.c LCLHDRS = dev_hdr.h device_emul.h ds_routines.h vm_param.h \ util.h queue.h io_req.h if_ether.h machdev.h linux-errno.h \ errno-base.h diff --git a/libmachdev/block.c b/libmachdev/block.c new file mode 100644 index 00000000..54048fde --- /dev/null +++ b/libmachdev/block.c @@ -0,0 +1,250 @@ +/* + * Linux block driver support. + * + * Copyright (C) 1996 The University of Utah and the Computer Systems + * Laboratory at the University of Utah (CSL) + * + * This program 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. + * + * This program 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 this program; if not, write to the Free Software + * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Author: Shantanu Goel, University of Utah CSL + */ + +#include +#include +#include + +#include "mach_U.h" + +#include +#include + +#define MACH_INCLUDE + +#include + +#include "vm_param.h" +#include "device_reply_U.h" +#include "dev_hdr.h" +#include "util.h" +#include "mach_glue.h" + +/* One of these is associated with each open instance of a device. */ +struct block_data +{ + struct port_info port; /* device port */ + struct emul_device device; /* generic device structure */ + dev_mode_t mode; + struct block_device *dev; +}; + +/* Return a send right associated with network device ND. */ +static mach_port_t +dev_to_port (void *nd) +{ + return (nd + ? ports_get_send_right (nd) + : MACH_PORT_NULL); +} + +extern struct device_emulation_ops linux_block_emulation_ops; + +#define DISK_NAME_LEN 32 + +/* Parse the device NAME. + Set *SLICE to be the DOS partition and + *PART the BSD/Mach partition, if any. */ +static char * +translate_name (char *name, int *slice, int *part) +{ + char *p, *q, *end; + char *ret; + int disk_num; + + /* Parse name into name, unit, DOS partition (slice) and partition. */ + for (*slice = 0, *part = -1, p = name; isalpha (*p); p++) + ; + if (p == name || ! isdigit (*p)) + return NULL; + end = p; + disk_num = strtol (p, &p, 0); + if (disk_num < 0 || disk_num > 26) + return NULL; +// do +// p++; +// while (isdigit (*p)); + if (*p) + { + q = p; + if (*q == 's' && isdigit (*(q + 1))) + { + q++; + do + *slice = *slice * 10 + *q++ - '0'; + while (isdigit (*q)); + if (! *q) + goto find_major; + } + if (! isalpha (*q) || *(q + 1)) + return NULL; + *part = *q - 'a'; + } + +find_major: + ret = malloc (DISK_NAME_LEN); + sprintf (ret, "hd%c", 'a' + disk_num); + return ret; +} + +static io_return_t +device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, + dev_mode_t mode, char *name, device_t *devp) +{ + io_return_t err = D_SUCCESS; + struct block_data *bd = NULL; + int slice, part; + char *dev_name = NULL; + + dev_name = translate_name (name, &slice, &part); + + // TODO when the port isn't used by clients, it should be destroyed. + err = create_device_port (sizeof (*bd), &bd); + if (err) + { + ddekit_printf ("after create_device_port: cannot create a port\n"); + goto out; + } + bd->dev = open_block_dev (dev_name, slice, mode); + if (bd->dev < 0) + { + ddekit_printf ("open_block_dev fails with %d\n", bd->dev); + err = linux_to_mach_error (err); + goto out; + } + bd->device.emul_data = bd; + bd->device.emul_ops = &linux_block_emulation_ops; + bd->mode = mode; + +out: + free (dev_name); + if (err) + { + if (bd) + { + ports_destroy_right (bd); + bd = NULL; + } + } + else + *devp = ports_get_right (bd); + return err; +} + +static io_return_t +device_write (void *d, mach_port_t reply_port, + mach_msg_type_name_t reply_port_type, dev_mode_t mode, + recnum_t bn, io_buf_ptr_t data, unsigned int count, + int *bytes_written) +{ + struct block_data *bd = d; + /* the number of pages that contain DATA. */ + int npages = (((int) data + count) - ((int) data & ~PAGE_MASK) + + PAGE_MASK) / PAGE_SIZE; + io_return_t err = D_SUCCESS; + int i; + int writes = 0; + + void write_done (int err) + { + int len = err ? 0 : count; + writes--; + if (writes == 0) + { + err = linux_to_mach_error (err); + ds_device_write_reply (reply_port, reply_port_type, err, len); + } + } + + /* the data is at the beginning of a page. */ + if ((int) data & ~PAGE_MASK) + return D_INVALID_OPERATION; + + if ((bd->mode & D_WRITE) == 0) + return D_INVALID_OPERATION; + + for (i = 0; i < npages; i++) + { + int size = PAGE_SIZE - ((int) data &~PAGE_MASK) > count ? + PAGE_SIZE - ((int) data &~PAGE_MASK) : count; + + err = block_dev_write (bd->dev, bn, data, count, write_done); + if (err) + break; + bn += count >> 9; + data += size; + count -= size; + writes++; + } + if (writes) + return MIG_NO_REPLY; + return linux_to_mach_error (err); +} + +static io_return_t +device_read (void *d, mach_port_t reply_port, + mach_msg_type_name_t reply_port_type, dev_mode_t mode, + recnum_t bn, int count, io_buf_ptr_t *data, + unsigned *bytes_read) +{ + struct block_data *bd = d; + + if ((bd->mode & D_READ) == 0) + return D_INVALID_OPERATION; + *bytes_read = 0; + return D_SUCCESS; +} + +static io_return_t +device_get_status (void *d, dev_flavor_t flavor, dev_status_t status, + mach_msg_type_number_t *count) +{ + struct block_data *bd = (struct block_data *) d; + return D_SUCCESS; +} + +struct device_emulation_ops linux_block_emulation_ops = +{ + NULL, + NULL, + dev_to_port, + device_open, + NULL, + device_write, + NULL, + device_read, + NULL, + NULL, + device_get_status, + NULL, + NULL, + NULL, + NULL, + NULL +}; + +void register_block() +{ + extern void reg_dev_emul (struct device_emulation_ops *ops); + reg_dev_emul (&linux_block_emulation_ops); +} diff --git a/libmachdev/mach_glue.h b/libmachdev/mach_glue.h new file mode 100644 index 00000000..6d0870ed --- /dev/null +++ b/libmachdev/mach_glue.h @@ -0,0 +1,30 @@ +#ifndef __MACH_GLUE_H__ +#define __MACH_GLUE_H__ + +/* network */ +#include + +struct sk_buff; +struct net_device; +void skb_done_queue(struct sk_buff *skb); +struct sk_buff *skb_done_dequeue(); +void *skb_reply(struct sk_buff *skb); +int netdev_flags(struct net_device *dev); +char *netdev_addr(struct net_device *dev); +int dev_change_flags (struct net_device *dev, short flags); +int linux_pkg_xmit (char *pkg_data, int len, void *del_data, + int (*del_func) (struct sk_buff *, void *), + struct net_device *dev); +struct net_device *search_netdev (char *name); +void kfree_skb (struct sk_buff *skb); +int dev_open(struct net_device *dev); +void *l4dde26_register_rx_callback(void *cb); +void skb_done_head_init(); + +/* block device */ +struct block_device; +struct block_device *open_block_dev (char *name, int part, dev_mode_t mode); +int block_dev_write (struct block_device *dev, int sectornr, + char *data, int count, void (*write_done) (int err)); + +#endif diff --git a/libmachdev/machdev.h b/libmachdev/machdev.h index 27c488a5..cfa4b2d4 100644 --- a/libmachdev/machdev.h +++ b/libmachdev/machdev.h @@ -26,6 +26,7 @@ void ds_server(void); void mach_device_init(void); void register_net(void); +void register_block(void); void trivfs_server(void); int trivfs_init(void); diff --git a/libmachdev/net.c b/libmachdev/net.c index b21d6333..8c435b4b 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -74,6 +74,7 @@ #include "dev_hdr.h" #include "if_ether.h" #include "util.h" +#include "mach_glue.h" #define ether_header ethhdr @@ -99,22 +100,6 @@ struct skb_reply int pkglen; }; -struct sk_buff; -void skb_done_queue(struct sk_buff *skb); -struct sk_buff *skb_done_dequeue(); -void *skb_reply(struct sk_buff *skb); -int netdev_flags(struct net_device *dev); -char *netdev_addr(struct net_device *dev); -int dev_change_flags (struct net_device *dev, short flags); -int linux_pkg_xmit (char *pkg_data, int len, void *del_data, - int (*del_func) (struct sk_buff *, void *), - struct net_device *dev); -struct net_device *search_netdev (char *name); -void kfree_skb (struct sk_buff *skb); -int dev_open(struct net_device *dev); -void *l4dde26_register_rx_callback(void *cb); -void skb_done_head_init(); - static struct net_data *nd_head; /* Forward declarations. */ @@ -337,7 +322,7 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, if_init_queues (ifp); #endif - if (err = dev_open(dev) < 0) + if ((err = dev_open(dev)) < 0) { fprintf (stderr, "after dev_open: cannot open the device\n"); err = linux_to_mach_error (err); diff --git a/windhoek/Makefile b/windhoek/Makefile index 6f355bb9..803e8dba 100644 --- a/windhoek/Makefile +++ b/windhoek/Makefile @@ -27,8 +27,8 @@ SRC_C += $(IDEFILES) \ $(CDROMFILES) \ $(PARTITIONFILES) -LIBS += --whole-archive -ldde_linux26_block --no-whole-archive \ - -ldde_linux26.o -lddekit ../libmachdev/libmachdev.a \ +LIBS += --whole-archive --no-whole-archive ../libmachdev/libmachdev.a \ + -ldde_linux26_block -ldde_linux26.o -lddekit \ -lfshelp -ltrivfs -lpciaccess -lthreads -lshouldbeinlibc \ -lports -lhurd-slab diff --git a/windhoek/main.c b/windhoek/main.c index 6c3cdb89..c4e88666 100644 --- a/windhoek/main.c +++ b/windhoek/main.c @@ -66,6 +66,7 @@ int main(int argc, const char **argv) printk("| ready to rumble.... |\n"); printk("+----------------------------------------+\n"); + register_block (); mach_device_init(); trivfs_init(); -- cgit v1.2.3 From 147b63b7be6671d3a7d9ee3a8b7b2f070aaf3481 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Sat, 5 Jun 2010 05:05:19 +0200 Subject: skip calling init if there is no init. --- libmachdev/ds_routines.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libmachdev') diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index 65cefa3a..df9146a0 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -430,7 +430,8 @@ void mach_device_init() dev_class = ports_create_class (0, 0); for (i = 0; i < NUM_EMULATION; i++) { - emulation_list[i]->init(); + if (emulation_list[i]->init) + emulation_list[i]->init(); } } -- cgit v1.2.3 From 63dfd78334843070ddd110fc24e30f65c9b4ac6a Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Mon, 14 Jun 2010 22:54:27 +0200 Subject: fix compiling problems in libddekit and libmachdev. --- libddekit/Makefile | 12 ++---------- libmachdev/Makefile | 4 ++-- 2 files changed, 4 insertions(+), 12 deletions(-) (limited to 'libmachdev') diff --git a/libddekit/Makefile b/libddekit/Makefile index ea64a6f5..a163a0c0 100644 --- a/libddekit/Makefile +++ b/libddekit/Makefile @@ -32,15 +32,7 @@ LCLHDRS = include/ddekit/condvar.h include/ddekit/lock.h \ include/ddekit/memory.h include/ddekit/timer.h \ include/dde.h \ config.h list.h util.h -installhdrs = include/ddekit/condvar.h include/ddekit/lock.h \ - include/ddekit/semaphore.h include/ddekit/debug.h \ - include/ddekit/inline.h include/ddekit/panic.h \ - include/ddekit/thread.h include/ddekit/types.h \ - include/ddekit/pgtab.h include/ddekit/printf.h \ - include/ddekit/pci.h include/ddekit/assert.h \ - include/ddekit/interrupt.h include/ddekit/resources.h \ - include/ddekit/memory.h include/ddekit/timer.h \ - include/dde.h +installhdrs = MIGSTUBS = deviceUser.o machUser.o OBJS = $(sort $(SRCS:.c=.o) $(MIGSTUBS)) @@ -52,4 +44,4 @@ MIGCOMSFLAGS = -prefix dde_ include ../Makeconf LDFLAGS += -lpciaccess -CFLAGS += -Iinclude +CFLAGS += -I$(srcdir)/include diff --git a/libmachdev/Makefile b/libmachdev/Makefile index 7475d041..e65a453a 100644 --- a/libmachdev/Makefile +++ b/libmachdev/Makefile @@ -24,10 +24,10 @@ SRCS = deviceUser.c machUser.c net.c ds_routines.c queue.c trivfs_server.c \ LCLHDRS = dev_hdr.h device_emul.h ds_routines.h vm_param.h \ util.h queue.h io_req.h if_ether.h machdev.h linux-errno.h \ errno-base.h -installhdrs = machdev.h device_emul.h +installhdrs = HURDLIBS = ports threads trivfs OBJS = $(SRCS:.c=.o) $(MIGSTUBS) include ../Makeconf -CFLAGS += -I../libddekit/include +CFLAGS += -I$(top_srcdir)/libddekit/include -- cgit v1.2.3 From 5e2cafe59319fdfa3e17b6bfcb8f655411d70618 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Wed, 16 Jun 2010 18:49:35 +0200 Subject: add fsys opt support in dde drivers. --- libmachdev/trivfs_server.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libmachdev') diff --git a/libmachdev/trivfs_server.c b/libmachdev/trivfs_server.c index 96f016db..4565c3d7 100644 --- a/libmachdev/trivfs_server.c +++ b/libmachdev/trivfs_server.c @@ -75,6 +75,21 @@ is_master_device (mach_port_t port) return TRUE; } +error_t +trivfs_append_args (struct trivfs_control *fsys, char **argz, size_t *argz_len) +{ + error_t err = 0; + +#define ADD_OPT(fmt, args...) \ + do { char buf[100]; \ + if (! err) { \ + snprintf (buf, sizeof buf, fmt , ##args); \ + err = argz_add (argz, argz_len, buf); } } while (0) + +#undef ADD_OPT + return err; +} + int trivfs_init() { port_bucket = ports_create_bucket (); -- cgit v1.2.3 From 70d6d54fe949a7743bd5091e74aab2477336b5d3 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Thu, 17 Jun 2010 07:45:06 +0200 Subject: fix a bug in linux_block_emulation_ops --- libmachdev/block.c | 1 + 1 file changed, 1 insertion(+) (limited to 'libmachdev') diff --git a/libmachdev/block.c b/libmachdev/block.c index 54048fde..080338d8 100644 --- a/libmachdev/block.c +++ b/libmachdev/block.c @@ -225,6 +225,7 @@ device_get_status (void *d, dev_flavor_t flavor, dev_status_t status, struct device_emulation_ops linux_block_emulation_ops = { + NULL, NULL, NULL, dev_to_port, -- cgit v1.2.3 From e9762c27cfc0b614ca09b4812351c83167501447 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Thu, 17 Jun 2010 11:12:47 +0200 Subject: fix a bug in device_open in libmachdev. check the negative error value. --- libmachdev/block.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/block.c b/libmachdev/block.c index 080338d8..3dddd74a 100644 --- a/libmachdev/block.c +++ b/libmachdev/block.c @@ -115,6 +115,7 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, struct block_data *bd = NULL; int slice, part; char *dev_name = NULL; + int dev_err; dev_name = translate_name (name, &slice, &part); @@ -126,10 +127,11 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, goto out; } bd->dev = open_block_dev (dev_name, slice, mode); - if (bd->dev < 0) + dev_err = (int) bd->dev; + if (dev_err < 0) { - ddekit_printf ("open_block_dev fails with %d\n", bd->dev); - err = linux_to_mach_error (err); + ddekit_printf ("open_block_dev %s fails with %d\n", dev_name, bd->dev); + err = linux_to_mach_error (dev_err); goto out; } bd->device.emul_data = bd; -- cgit v1.2.3 From f80f44bbb8bc4707c19f017775e2f806cf40e81f Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Mon, 21 Jun 2010 08:09:12 +0200 Subject: create send right when block device is opened. --- libmachdev/block.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libmachdev') diff --git a/libmachdev/block.c b/libmachdev/block.c index 3dddd74a..5400f60b 100644 --- a/libmachdev/block.c +++ b/libmachdev/block.c @@ -149,7 +149,7 @@ out: } } else - *devp = ports_get_right (bd); + *devp = ports_get_send_right (bd); return err; } -- cgit v1.2.3 From 823e9dd9c55a1f34259c5398497439f5663ff2a4 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Mon, 21 Jun 2010 09:59:01 +0200 Subject: fix port leak in block glue code of libmachdev. --- libmachdev/Makefile | 5 ++++- libmachdev/block.c | 9 +++++++-- libmachdev/device_emul.h | 3 ++- libmachdev/ds_routines.c | 4 ++-- libmachdev/net.c | 4 +++- 5 files changed, 18 insertions(+), 7 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/Makefile b/libmachdev/Makefile index e65a453a..22909949 100644 --- a/libmachdev/Makefile +++ b/libmachdev/Makefile @@ -20,7 +20,7 @@ makemode := library libname = libmachdev SRCS = deviceUser.c machUser.c net.c ds_routines.c queue.c trivfs_server.c \ - device_replyUser.c deviceServer.c notifyServer.c misc.c block.c + device_replyUser.c ourdeviceServer.c notifyServer.c misc.c block.c LCLHDRS = dev_hdr.h device_emul.h ds_routines.h vm_param.h \ util.h queue.h io_req.h if_ether.h machdev.h linux-errno.h \ errno-base.h @@ -31,3 +31,6 @@ OBJS = $(SRCS:.c=.o) $(MIGSTUBS) include ../Makeconf CFLAGS += -I$(top_srcdir)/libddekit/include + +ourdevice.defs: device.defs + $(CPP) $(CPPFLAGS) -x c $< | sed -e '/out[ ]*device[ ]*:[ ]*device_t/s/device_t/mach_port_send_t/' > $@ diff --git a/libmachdev/block.c b/libmachdev/block.c index 5400f60b..4aa07672 100644 --- a/libmachdev/block.c +++ b/libmachdev/block.c @@ -109,7 +109,8 @@ find_major: static io_return_t device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, - dev_mode_t mode, char *name, device_t *devp) + dev_mode_t mode, char *name, device_t *devp, + mach_msg_type_name_t *devicePoly) { io_return_t err = D_SUCCESS; struct block_data *bd = NULL; @@ -149,7 +150,11 @@ out: } } else - *devp = ports_get_send_right (bd); + { + *devp = ports_get_send_right (bd); + ports_port_deref (bd); + *devicePoly = MACH_MSG_TYPE_MOVE_SEND; + } return err; } diff --git a/libmachdev/device_emul.h b/libmachdev/device_emul.h index a5bc4f77..e27799cb 100644 --- a/libmachdev/device_emul.h +++ b/libmachdev/device_emul.h @@ -36,7 +36,8 @@ struct device_emulation_ops void (*dealloc) (void *); mach_port_t (*dev_to_port) (void *); io_return_t (*open) (mach_port_t, mach_msg_type_name_t, - dev_mode_t, char *, device_t *); + dev_mode_t, char *, device_t *, + mach_msg_type_name_t *type); io_return_t (*close) (void *); io_return_t (*write) (void *, mach_port_t, mach_msg_type_name_t, dev_mode_t, recnum_t, io_buf_ptr_t, unsigned, int *); diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index df9146a0..71457e03 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -161,7 +161,7 @@ ds_device_irq_enable (mach_port_t master_port, io_return_t ds_device_open (mach_port_t open_port, mach_port_t reply_port, mach_msg_type_name_t reply_port_type, dev_mode_t mode, - char *name, device_t *devp) + char *name, device_t *devp, mach_msg_type_name_t *devicePoly) { int i; io_return_t err; @@ -181,7 +181,7 @@ ds_device_open (mach_port_t open_port, mach_port_t reply_port, for (i = 0; i < NUM_EMULATION; i++) { err = (*emulation_list[i]->open) (reply_port, reply_port_type, - mode, name, devp); + mode, name, devp, devicePoly); if (err != D_NO_SUCH_DEVICE) break; } diff --git a/libmachdev/net.c b/libmachdev/net.c index 8c435b4b..b9d76731 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -273,7 +273,8 @@ void if_init_queues(ifp) static io_return_t device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, - dev_mode_t mode, char *name, device_t *devp) + dev_mode_t mode, char *name, device_t *devp, + mach_msg_type_name_t *devicePoly) { io_return_t err = D_SUCCESS; struct net_device *dev; @@ -357,6 +358,7 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, } *devp = ports_get_right (nd); + *devicePoly = MACH_MSG_TYPE_COPY_SEND; return D_SUCCESS; } -- cgit v1.2.3 From 5a9d844a537293b0398f22003cd31bb61864f746 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Sun, 1 Aug 2010 15:57:31 +0200 Subject: Use BPF to filter the packets to be delivered. --- libdde_linux26/lib/src/mach_glue/net.c | 25 +++++ libmachdev/Makefile | 2 +- libmachdev/if_hdr.h | 165 +++++++++++++++++++++++++++++++++ libmachdev/mach_glue.h | 7 ++ libmachdev/net.c | 118 +++++++++++++---------- 5 files changed, 265 insertions(+), 52 deletions(-) create mode 100644 libmachdev/if_hdr.h (limited to 'libmachdev') diff --git a/libdde_linux26/lib/src/mach_glue/net.c b/libdde_linux26/lib/src/mach_glue/net.c index 48373a90..3ab9e44f 100644 --- a/libdde_linux26/lib/src/mach_glue/net.c +++ b/libdde_linux26/lib/src/mach_glue/net.c @@ -66,6 +66,31 @@ int netdev_flags(struct net_device *dev) return dev->flags; } +char *netdev_name (struct net_device *dev) +{ + return dev->name; +} + +unsigned int netdev_mtu (struct net_device *dev) +{ + return dev->mtu; +} + +unsigned short netdev_header_len (struct net_device *dev) +{ + return dev->hard_header_len; +} + +unsigned short netdev_type (struct net_device *dev) +{ + return dev->type; +} + +unsigned char netdev_addr_len (struct net_device *dev) +{ + return dev->addr_len; +} + void *skb_reply(struct sk_buff *skb) { return skb->del_data; diff --git a/libmachdev/Makefile b/libmachdev/Makefile index 22909949..224dfddb 100644 --- a/libmachdev/Makefile +++ b/libmachdev/Makefile @@ -30,7 +30,7 @@ OBJS = $(SRCS:.c=.o) $(MIGSTUBS) include ../Makeconf -CFLAGS += -I$(top_srcdir)/libddekit/include +CFLAGS += -I$(top_srcdir)/libddekit/include -I$(top_srcdir)/libbpf ourdevice.defs: device.defs $(CPP) $(CPPFLAGS) -x c $< | sed -e '/out[ ]*device[ ]*:[ ]*device_t/s/device_t/mach_port_send_t/' > $@ diff --git a/libmachdev/if_hdr.h b/libmachdev/if_hdr.h new file mode 100644 index 00000000..74d0fa8a --- /dev/null +++ b/libmachdev/if_hdr.h @@ -0,0 +1,165 @@ +/* + * Mach Operating System + * Copyright (c) 1991,1990,1989 Carnegie Mellon University + * All Rights Reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" + * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR + * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * Carnegie Mellon requests users of this software to return to + * + * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU + * School of Computer Science + * Carnegie Mellon University + * Pittsburgh PA 15213-3890 + * + * any improvements or extensions that they make and grant Carnegie Mellon + * the rights to redistribute these changes. + */ +/* + * Taken from (bsd)net/if.h. Modified for MACH kernel. + */ +/* + * Copyright (c) 1982, 1986 Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. The name of the Laboratory may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if.h 7.3 (Berkeley) 6/27/88 + */ + +#ifndef _IF_HDR_ +#define _IF_HDR_ + +#include +#include +#include + +#if 0 +/* + * Queue for network output and filter input. + */ +struct ifqueue { + queue_head_t ifq_head; /* queue of io_req_t */ + int ifq_len; /* length of queue */ + int ifq_maxlen; /* maximum length of queue */ + int ifq_drops; /* number of packets dropped + because queue full */ + decl_simple_lock_data(, + ifq_lock) /* lock for queue and counters */ +}; +#endif + +/* + * Header for network interface drivers. + */ +struct ifnet { + short if_unit; /* unit number */ + short if_flags; /* up/down, broadcast, etc. */ + short if_timer; /* time until if_watchdog called */ + short if_mtu; /* maximum transmission unit */ + short if_header_size; /* length of header */ + short if_header_format; /* format of hardware header */ + short if_address_size; /* length of hardware address */ + short if_alloc_size; /* size of read buffer to allocate */ + char *if_address; /* pointer to hardware address */ +// struct ifqueue if_snd; /* output queue */ + if_filter_list_t port_list; + struct mutex if_rcv_port_list_lock;/* lock for input filter list */ + struct mutex if_snd_port_list_lock;/* lock for output filter list */ +/* statistics */ + int if_ipackets; /* packets received */ + int if_ierrors; /* input errors */ + int if_opackets; /* packets sent */ + int if_oerrors; /* output errors */ + int if_collisions; /* collisions on csma interfaces */ + int if_rcvdrops; /* packets received but dropped */ +}; + +#define IFF_UP 0x0001 /* interface is up */ +#define IFF_BROADCAST 0x0002 /* interface can broadcast */ +#define IFF_DEBUG 0x0004 /* turn on debugging */ +#define IFF_LOOPBACK 0x0008 /* is a loopback net */ +#define IFF_POINTOPOINT 0x0010 /* point-to-point link */ +#define IFF_RUNNING 0x0040 /* resources allocated */ +#define IFF_NOARP 0x0080 /* no address resolution protocol */ +#define IFF_PROMISC 0x0100 /* receive all packets */ +#define IFF_ALLMULTI 0x0200 /* receive all multicast packets */ +#define IFF_BRIDGE 0x0100 /* support token ring routing field */ +#define IFF_SNAP 0x0200 /* support extended sap header */ + +/* internal flags only: */ +#define IFF_CANTCHANGE (IFF_BROADCAST | IFF_POINTOPOINT | IFF_RUNNING) + +/* + * Output queues (ifp->if_snd) + * have queues of messages stored on ifqueue structures. Entries + * are added to and deleted from these structures by these macros, which + * should be called with ipl raised to splimp(). + * XXX locking XXX + */ + +#define IF_QFULL(ifq) ((ifq)->ifq_len >= (ifq)->ifq_maxlen) +#define IF_DROP(ifq) ((ifq)->ifq_drops++) +#define IF_ENQUEUE(ifq, ior) { \ + simple_lock(&(ifq)->ifq_lock); \ + enqueue_tail(&(ifq)->ifq_head, (queue_entry_t)ior); \ + (ifq)->ifq_len++; \ + simple_unlock(&(ifq)->ifq_lock); \ +} +#define IF_PREPEND(ifq, ior) { \ + simple_lock(&(ifq)->ifq_lock); \ + enqueue_head(&(ifq)->ifq_head, (queue_entry_t)ior); \ + (ifq)->ifq_len++; \ + simple_unlock(&(ifq)->ifq_lock); \ +} + +#define IF_DEQUEUE(ifq, ior) { \ + simple_lock(&(ifq)->ifq_lock); \ + if (((ior) = (io_req_t)dequeue_head(&(ifq)->ifq_head)) != 0) \ + (ifq)->ifq_len--; \ + simple_unlock(&(ifq)->ifq_lock); \ +} + +#define IFQ_MAXLEN 50 + +#define IFQ_INIT(ifq) { \ + queue_init(&(ifq)->ifq_head); \ + simple_lock_init(&(ifq)->ifq_lock); \ + (ifq)->ifq_len = 0; \ + (ifq)->ifq_maxlen = IFQ_MAXLEN; \ + (ifq)->ifq_drops = 0; \ +} + +#define IFNET_SLOWHZ 1 /* granularity is 1 second */ + +#endif /* _IF_HDR_ */ diff --git a/libmachdev/mach_glue.h b/libmachdev/mach_glue.h index 6d0870ed..d1bd1fc7 100644 --- a/libmachdev/mach_glue.h +++ b/libmachdev/mach_glue.h @@ -9,8 +9,15 @@ struct net_device; void skb_done_queue(struct sk_buff *skb); struct sk_buff *skb_done_dequeue(); void *skb_reply(struct sk_buff *skb); + int netdev_flags(struct net_device *dev); char *netdev_addr(struct net_device *dev); +char *netdev_name (struct net_device *dev); +unsigned int netdev_mtu (struct net_device *dev); +unsigned short netdev_header_len (struct net_device *dev); +unsigned short netdev_type (struct net_device *dev); +unsigned char netdev_addr_len (struct net_device *dev); + int dev_change_flags (struct net_device *dev, short flags); int linux_pkg_xmit (char *pkg_data, int len, void *del_data, int (*del_func) (struct sk_buff *, void *), diff --git a/libmachdev/net.c b/libmachdev/net.c index b9d76731..88b1d6c8 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -61,6 +61,7 @@ #include #include #include +#include #include "mach_U.h" @@ -75,6 +76,7 @@ #include "if_ether.h" #include "util.h" #include "mach_glue.h" +#include "if_hdr.h" #define ether_header ethhdr @@ -86,9 +88,8 @@ extern struct port_class *dev_class; struct net_data { struct port_info port; /* device port */ -// struct ifnet ifnet; /* Mach ifnet structure (needed for filters) */ struct emul_device device; /* generic device structure */ - mach_port_t delivery_port; + struct ifnet ifnet; /* Mach ifnet structure (needed for filters) */ struct net_device *dev; /* Linux network device structure */ struct net_data *next; }; @@ -174,10 +175,12 @@ pre_kfree_skb (struct sk_buff *skb, void *data) * Deliver the message to all right pfinet servers that * connects to the virtual network interface. */ -static int -deliver_msg(mach_port_t dest, struct net_rcv_msg *msg) +int +deliver_msg(struct net_rcv_msg *msg, if_filter_list_t *ifp) { mach_msg_return_t err; + queue_head_t *if_port_list; + net_rcv_port_t infp, nextfp; msg->msg_hdr.msgh_bits = MACH_MSGH_BITS (MACH_MSG_TYPE_COPY_SEND, 0); /* remember message sizes must be rounded up */ @@ -185,19 +188,42 @@ deliver_msg(mach_port_t dest, struct net_rcv_msg *msg) msg->msg_hdr.msgh_kind = MACH_MSGH_KIND_NORMAL; msg->msg_hdr.msgh_id = NET_RCV_MSG_ID; - msg->msg_hdr.msgh_remote_port = dest; - err = mach_msg ((mach_msg_header_t *)msg, - MACH_SEND_MSG|MACH_SEND_TIMEOUT, - msg->msg_hdr.msgh_size, 0, MACH_PORT_NULL, - 0, MACH_PORT_NULL); - if (err != MACH_MSG_SUCCESS) + if_port_list = &ifp->if_rcv_port_list; + FILTER_ITERATE (if_port_list, infp, nextfp, &infp->input) { - mach_port_deallocate(mach_task_self (), - ((mach_msg_header_t *)msg)->msgh_remote_port); - return err; + mach_port_t dest; + net_hash_entry_t entp, *hash_headp; + int ret_count; + + entp = (net_hash_entry_t) 0; + ret_count = bpf_do_filter (infp, + msg->packet + sizeof (struct packet_header), + msg->net_rcv_msg_packet_count, msg->header, + sizeof (struct ethhdr), &hash_headp, &entp); + if (entp == (net_hash_entry_t) 0) + dest = infp->rcv_port; + else + dest = entp->rcv_port; + + if (ret_count) + { + msg->msg_hdr.msgh_remote_port = dest; + err = mach_msg ((mach_msg_header_t *)msg, + MACH_SEND_MSG|MACH_SEND_TIMEOUT, + msg->msg_hdr.msgh_size, 0, MACH_PORT_NULL, + 0, MACH_PORT_NULL); + if (err != MACH_MSG_SUCCESS) + { + mach_port_deallocate(mach_task_self (), + ((mach_msg_header_t *)msg)->msgh_remote_port); + error (0, err, "mach_msg"); + return -1; + } + } } + FILTER_ITERATE_END - return MACH_MSG_SUCCESS; + return 0; } /* Accept packet SKB received on an interface. */ @@ -241,7 +267,7 @@ netif_rx_handle (char *data, int len, struct net_device *dev) net_msg->header_type = header_type; net_msg->packet_type = packet_type; net_msg->net_rcv_msg_packet_count = ph->length; - deliver_msg (nd->delivery_port, net_msg); + deliver_msg (net_msg, &nd->ifnet.port_list); free (net_msg); } @@ -256,20 +282,18 @@ dev_to_port (void *nd) : MACH_PORT_NULL); } -#if 0 /* * Initialize send and receive queues on an interface. */ void if_init_queues(ifp) register struct ifnet *ifp; { - IFQ_INIT(&ifp->if_snd); - queue_init(&ifp->if_rcv_port_list); - queue_init(&ifp->if_snd_port_list); - simple_lock_init(&ifp->if_rcv_port_list_lock); - simple_lock_init(&ifp->if_snd_port_list_lock); +// IFQ_INIT(&ifp->if_snd); + queue_init(&ifp->port_list.if_rcv_port_list); + queue_init(&ifp->port_list.if_snd_port_list); + mutex_init(&ifp->if_rcv_port_list_lock); + mutex_init(&ifp->if_snd_port_list_lock); } -#endif static io_return_t device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, @@ -279,7 +303,7 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, io_return_t err = D_SUCCESS; struct net_device *dev; struct net_data *nd; -// struct ifnet *ifp; + struct ifnet *ifp; /* Search for the device. */ dev = search_netdev (name); @@ -293,6 +317,8 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, nd = search_nd (dev); if (!nd) { + char *name; + err = create_device_port (sizeof (*nd), &nd); if (err) { @@ -305,23 +331,17 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, nd->device.emul_ops = &linux_net_emulation_ops; nd->next = nd_head; nd_head = nd; -#if 0 - ipc_kobject_set (nd->port, (ipc_kobject_t) & nd->device, IKOT_DEVICE); - notify = ipc_port_make_sonce (nd->port); - ip_lock (nd->port); - ipc_port_nsrequest (nd->port, 1, notify, ¬ify); - assert (notify == IP_NULL); ifp = &nd->ifnet; - ifp->if_unit = dev->name[strlen (dev->name) - 1] - '0'; + name = netdev_name (dev); + ifp->if_unit = name[strlen (name) - 1] - '0'; ifp->if_flags = IFF_UP | IFF_RUNNING; - ifp->if_mtu = dev->mtu; - ifp->if_header_size = dev->hard_header_len; - ifp->if_header_format = dev->type; - ifp->if_address_size = dev->addr_len; - ifp->if_address = dev->dev_addr; + ifp->if_mtu = netdev_mtu (dev); + ifp->if_header_size = netdev_header_len (dev); + ifp->if_header_format = netdev_type (dev); + ifp->if_address_size = netdev_addr_len (dev); + ifp->if_address = netdev_addr (dev); if_init_queues (ifp); -#endif if ((err = dev_open(dev)) < 0) { @@ -425,8 +445,8 @@ device_write (void *d, mach_port_t reply_port, * Other network operations */ static io_return_t -net_getstat(dev, flavor, status, count) - struct net_device *dev; +net_getstat(ifp, flavor, status, count) + struct ifnet *ifp; dev_flavor_t flavor; dev_status_t status; /* pointer to OUT array */ natural_t *count; /* OUT */ @@ -440,12 +460,12 @@ net_getstat(dev, flavor, status, count) if (*count < NET_STATUS_COUNT) return (D_INVALID_OPERATION); - ns->min_packet_size = 60; - ns->max_packet_size = ETH_HLEN + ETHERMTU; - ns->header_format = HDR_ETHERNET; - ns->header_size = ETH_HLEN; - ns->address_size = ETH_ALEN; - ns->flags = 0; + ns->min_packet_size = ifp->if_header_size; + ns->max_packet_size = ifp->if_header_size + ifp->if_mtu; + ns->header_format = ifp->if_header_format; + ns->header_size = ifp->if_header_size; + ns->address_size = ifp->if_address_size; + ns->flags = ifp->if_flags; ns->mapped_size = 0; *count = NET_STATUS_COUNT; @@ -469,7 +489,7 @@ net_getstat(dev, flavor, status, count) return (D_INVALID_OPERATION); } - memcpy(status, netdev_addr(dev), addr_byte_count); + memcpy(status, ifp->if_address, addr_byte_count); if (addr_byte_count < addr_int_count * sizeof(int)) memset((char *)status + addr_byte_count, 0, (addr_int_count * sizeof(int) @@ -556,7 +576,7 @@ device_get_status (void *d, dev_flavor_t flavor, dev_status_t status, #endif { /* common get_status request */ - return net_getstat (net->dev, flavor, status, count); + return net_getstat (&net->ifnet, flavor, status, count); } } @@ -618,12 +638,8 @@ static io_return_t device_set_filter (void *d, mach_port_t port, int priority, filter_t * filter, unsigned filter_count) { - ((struct net_data *) d)->delivery_port = port; - return 0; -#if 0 - return net_set_filter (&((struct net_data *) d)->ifnet, + return net_set_filter (&((struct net_data *) d)->ifnet.port_list, port, priority, filter, filter_count); -#endif } /* Do any initialization required for network devices. */ -- cgit v1.2.3 From 82b5500bf69537c7ce5958346322320b1894e9ae Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Wed, 4 Aug 2010 09:21:22 +0200 Subject: not print errors if fails to deliver packages. --- libmachdev/net.c | 1 - 1 file changed, 1 deletion(-) (limited to 'libmachdev') diff --git a/libmachdev/net.c b/libmachdev/net.c index 88b1d6c8..606765f5 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -216,7 +216,6 @@ deliver_msg(struct net_rcv_msg *msg, if_filter_list_t *ifp) { mach_port_deallocate(mach_task_self (), ((mach_msg_header_t *)msg)->msgh_remote_port); - error (0, err, "mach_msg"); return -1; } } -- cgit v1.2.3 From fee73f4e6d236a69f40e5c49e45f5f28a991d1ac Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Sun, 8 Aug 2010 07:15:04 +0200 Subject: check emul_device_t object in all DS server RPCs. --- libmachdev/ds_routines.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libmachdev') diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index 71457e03..93ac7ecc 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -226,6 +226,8 @@ ds_device_write (device_t dev, mach_port_t reply_port, return D_INVALID_SIZE; device = mach_convert_port_to_device (dev); + if (device == NULL) + return D_INVALID_OPERATION; if (! device->emul_ops->write) { @@ -259,6 +261,8 @@ ds_device_write_inband (device_t dev, mach_port_t reply_port, return D_INVALID_SIZE; device = mach_convert_port_to_device (dev); + if (device == NULL) + return D_INVALID_OPERATION; if (! device->emul_ops->write_inband) { @@ -288,6 +292,8 @@ ds_device_read (device_t dev, mach_port_t reply_port, return D_NO_SUCH_DEVICE; device = mach_convert_port_to_device (dev); + if (device == NULL) + return D_INVALID_OPERATION; if (! device->emul_ops->read) { @@ -316,6 +322,8 @@ ds_device_read_inband (device_t dev, mach_port_t reply_port, return D_NO_SUCH_DEVICE; device = mach_convert_port_to_device (dev); + if (device == NULL) + return D_INVALID_OPERATION; if (! device->emul_ops->read_inband) { @@ -342,6 +350,8 @@ ds_device_set_status (device_t dev, dev_flavor_t flavor, return D_NO_SUCH_DEVICE; device = mach_convert_port_to_device (dev); + if (device == NULL) + return D_INVALID_OPERATION; if (! device->emul_ops->set_status) { @@ -367,6 +377,8 @@ ds_device_get_status (device_t dev, dev_flavor_t flavor, dev_status_t status, return D_NO_SUCH_DEVICE; device = mach_convert_port_to_device (dev); + if (device == NULL) + return D_INVALID_OPERATION; if (! device->emul_ops->get_status) { @@ -392,6 +404,8 @@ ds_device_set_filter (device_t dev, mach_port_t receive_port, int priority, return D_NO_SUCH_DEVICE; device = mach_convert_port_to_device (dev); + if (device == NULL) + return D_INVALID_OPERATION; if (! device->emul_ops->set_filter) { -- cgit v1.2.3 From 38b75c82d5555d1c2248fc98fb47d6fa2265059b Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Sun, 8 Aug 2010 07:17:50 +0200 Subject: Make the thread of DS server known to Linux. --- libmachdev/ds_routines.c | 7 +++++++ libmachdev/mach_glue.h | 4 ++++ 2 files changed, 11 insertions(+) (limited to 'libmachdev') diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index 93ac7ecc..d31e3a9b 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -61,12 +61,15 @@ #include #include +#include + #include "vm_param.h" #include "device_reply_U.h" #include "io_req.h" #include "dev_hdr.h" #include "util.h" #include "queue.h" +#include "mach_glue.h" static struct port_bucket *port_bucket; static struct port_class *dev_class; @@ -466,6 +469,10 @@ void reg_dev_emul (struct device_emulation_ops *ops) void ds_server() { + /* This thread calls Linux functions, + * so I need to make it known to the Linux environment. */ + l4dde26_process_from_ddekit (ddekit_thread_myself ()); + /* Launch. */ do { diff --git a/libmachdev/mach_glue.h b/libmachdev/mach_glue.h index d1bd1fc7..770ea51b 100644 --- a/libmachdev/mach_glue.h +++ b/libmachdev/mach_glue.h @@ -4,6 +4,8 @@ /* network */ #include +#include + struct sk_buff; struct net_device; void skb_done_queue(struct sk_buff *skb); @@ -34,4 +36,6 @@ struct block_device *open_block_dev (char *name, int part, dev_mode_t mode); int block_dev_write (struct block_device *dev, int sectornr, char *data, int count, void (*write_done) (int err)); +int l4dde26_process_from_ddekit(ddekit_thread_t *t); + #endif -- cgit v1.2.3 From 3de13f2a911c402fc1275582d30b2f934cf433e5 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Sun, 8 Aug 2010 08:05:16 +0200 Subject: check if the device exists. --- libmachdev/block.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libmachdev') diff --git a/libmachdev/block.c b/libmachdev/block.c index 4aa07672..b239ecff 100644 --- a/libmachdev/block.c +++ b/libmachdev/block.c @@ -118,9 +118,14 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, char *dev_name = NULL; int dev_err; + // TODO I need to check whether the device has been opened before. + // if it has been opened with the same `flag', return the same port, + // otherwise, return a different port. + // I need to have a reference to count the number of open. dev_name = translate_name (name, &slice, &part); + if (dev_name == NULL) + return D_NO_SUCH_DEVICE; - // TODO when the port isn't used by clients, it should be destroyed. err = create_device_port (sizeof (*bd), &bd); if (err) { -- cgit v1.2.3 From e30a817d6d2a1d71223caa238781a76104a54840 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Sun, 8 Aug 2010 08:08:36 +0200 Subject: fix a bug in device_write for the block device. --- libmachdev/block.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/block.c b/libmachdev/block.c index b239ecff..48fe6cd6 100644 --- a/libmachdev/block.c +++ b/libmachdev/block.c @@ -198,12 +198,12 @@ device_write (void *d, mach_port_t reply_port, for (i = 0; i < npages; i++) { int size = PAGE_SIZE - ((int) data &~PAGE_MASK) > count ? - PAGE_SIZE - ((int) data &~PAGE_MASK) : count; + count : PAGE_SIZE - ((int) data &~PAGE_MASK); - err = block_dev_write (bd->dev, bn, data, count, write_done); + err = block_dev_write (bd->dev, bn, data, size, write_done); if (err) break; - bn += count >> 9; + bn += size >> 9; data += size; count -= size; writes++; -- cgit v1.2.3 From 793af51f505adfa1ea138dc76be731faab58b1a6 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Sun, 8 Aug 2010 08:10:25 +0200 Subject: implement device_read for block devices. --- libdde_linux26/lib/src/mach_glue/block.c | 6 ++-- libmachdev/block.c | 55 ++++++++++++++++++++++++++++++-- libmachdev/mach_glue.h | 4 +-- 3 files changed, 57 insertions(+), 8 deletions(-) (limited to 'libmachdev') diff --git a/libdde_linux26/lib/src/mach_glue/block.c b/libdde_linux26/lib/src/mach_glue/block.c index a856cc9b..ea44d87f 100644 --- a/libdde_linux26/lib/src/mach_glue/block.c +++ b/libdde_linux26/lib/src/mach_glue/block.c @@ -20,8 +20,8 @@ struct block_device *open_block_dev (char *name, int part, fmode_t mode) /* write a piece of data to a block device. * DATA must be in one page. * SECTORNR: the writing location in sectors. */ -int block_dev_write (struct block_device *dev, int sectornr, - char *data, int count, void (*write_done (int err))) +int block_dev_rw (struct block_device *dev, int sectornr, + char *data, int count, int rw, void (*write_done (int err))) { int err = 0; struct bio *bio; @@ -63,7 +63,7 @@ int block_dev_write (struct block_device *dev, int sectornr, bio->bi_end_io = end_bio; bio->bi_private = NULL; bio_get (bio); - submit_bio (WRITE, bio); + submit_bio (rw, bio); if (bio_flagged (bio, BIO_EOPNOTSUPP)) { err = -EOPNOTSUPP; diff --git a/libmachdev/block.c b/libmachdev/block.c index 48fe6cd6..2a4b9ae2 100644 --- a/libmachdev/block.c +++ b/libmachdev/block.c @@ -24,6 +24,7 @@ #include #include #include +#include #include "mach_U.h" @@ -40,6 +41,11 @@ #include "util.h" #include "mach_glue.h" +/* for submit_bio(). But it might not be very proper to keep + * my own definitions of these macros. */ +#define READ 0 +#define WRITE 1 + /* One of these is associated with each open instance of a device. */ struct block_data { @@ -180,6 +186,7 @@ device_write (void *d, mach_port_t reply_port, void write_done (int err) { int len = err ? 0 : count; + // TODO maybe I should send the reply as long as there is an error. writes--; if (writes == 0) { @@ -200,7 +207,7 @@ device_write (void *d, mach_port_t reply_port, int size = PAGE_SIZE - ((int) data &~PAGE_MASK) > count ? count : PAGE_SIZE - ((int) data &~PAGE_MASK); - err = block_dev_write (bd->dev, bn, data, size, write_done); + err = block_dev_rw (bd->dev, bn, data, size, WRITE, write_done); if (err) break; bn += size >> 9; @@ -220,11 +227,53 @@ device_read (void *d, mach_port_t reply_port, unsigned *bytes_read) { struct block_data *bd = d; + io_return_t err = D_SUCCESS; + int i; + int reads = 0; + char *buf; + int npages = (count + PAGE_SIZE - 1) / PAGE_SIZE; + + void read_done (int err) + { + int len = err ? 0 : count; + reads--; + if (reads == 0) + { + err = linux_to_mach_error (err); + ds_device_read_reply (reply_port, reply_port_type, err, buf, len); + } + } if ((bd->mode & D_READ) == 0) return D_INVALID_OPERATION; - *bytes_read = 0; - return D_SUCCESS; + + if (count == 0) + return 0; + + *data = 0; + buf = mmap (NULL, npages * PAGE_SIZE, PROT_READ|PROT_WRITE, + MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); + if (buf == MAP_FAILED) + return errno; + + ddekit_printf ("read %d pages.\n", npages); + for (i = 0; i < npages; i++) + { + int size = count > PAGE_SIZE ? PAGE_SIZE : count; + ddekit_printf ("read %d bytes starting from %d\n", size, bn); + + err = block_dev_rw (bd->dev, bn, buf + i * PAGE_SIZE, + size, READ, read_done); + if (err) + break; + bn += size >> 9; + count -= size; + reads++; + } + // TODO when should I deallocate the buffer? + if (reads) + return MIG_NO_REPLY; + return linux_to_mach_error (err); } static io_return_t diff --git a/libmachdev/mach_glue.h b/libmachdev/mach_glue.h index 770ea51b..7b122583 100644 --- a/libmachdev/mach_glue.h +++ b/libmachdev/mach_glue.h @@ -33,8 +33,8 @@ void skb_done_head_init(); /* block device */ struct block_device; struct block_device *open_block_dev (char *name, int part, dev_mode_t mode); -int block_dev_write (struct block_device *dev, int sectornr, - char *data, int count, void (*write_done) (int err)); +int block_dev_rw (struct block_device *dev, int sectornr, + char *data, int count, int rw, void (*write_done) (int err)); int l4dde26_process_from_ddekit(ddekit_thread_t *t); -- cgit v1.2.3 From bbc9b208562c0497b0034e77369a07e2985ae763 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Wed, 18 Aug 2010 14:27:15 +0200 Subject: fix a bug in device_read for block devices. --- libmachdev/block.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/block.c b/libmachdev/block.c index 2a4b9ae2..756a07bf 100644 --- a/libmachdev/block.c +++ b/libmachdev/block.c @@ -232,6 +232,7 @@ device_read (void *d, mach_port_t reply_port, int reads = 0; char *buf; int npages = (count + PAGE_SIZE - 1) / PAGE_SIZE; + int rest = count; void read_done (int err) { @@ -259,7 +260,7 @@ device_read (void *d, mach_port_t reply_port, ddekit_printf ("read %d pages.\n", npages); for (i = 0; i < npages; i++) { - int size = count > PAGE_SIZE ? PAGE_SIZE : count; + int size = rest > PAGE_SIZE ? PAGE_SIZE : rest; ddekit_printf ("read %d bytes starting from %d\n", size, bn); err = block_dev_rw (bd->dev, bn, buf + i * PAGE_SIZE, @@ -267,7 +268,7 @@ device_read (void *d, mach_port_t reply_port, if (err) break; bn += size >> 9; - count -= size; + rest -= size; reads++; } // TODO when should I deallocate the buffer? -- cgit v1.2.3 From fdb7c183bf756512064632094c9d3604b51686de Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 8 May 2011 23:39:22 +0200 Subject: Do not skip old RPCs --- libddekit/mach.defs | 2 +- libmachdev/mach.defs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'libmachdev') diff --git a/libddekit/mach.defs b/libddekit/mach.defs index 764bd451..dc616e65 100644 --- a/libddekit/mach.defs +++ b/libddekit/mach.defs @@ -760,7 +760,7 @@ routine vm_machine_attribute( attribute : vm_machine_attribute_t; inout value : vm_machine_attribute_val_t); -/*skip;*/ /* old host_fpa_counters_reset */ +skip; /* old host_fpa_counters_reset */ /* * This routine is created for allocating DMA buffers. diff --git a/libmachdev/mach.defs b/libmachdev/mach.defs index 764bd451..dc616e65 100644 --- a/libmachdev/mach.defs +++ b/libmachdev/mach.defs @@ -760,7 +760,7 @@ routine vm_machine_attribute( attribute : vm_machine_attribute_t; inout value : vm_machine_attribute_val_t); -/*skip;*/ /* old host_fpa_counters_reset */ +skip; /* old host_fpa_counters_reset */ /* * This routine is created for allocating DMA buffers. -- cgit v1.2.3 From 421779bfaef072d77d3e4534cbccb69e4db13331 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 8 May 2011 23:43:45 +0200 Subject: Rename vm_dma_buff_alloc RPC into vm_allocate_contiguous --- libddekit/mach.defs | 2 +- libddekit/memory.c | 4 ++-- libmachdev/mach.defs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'libmachdev') diff --git a/libddekit/mach.defs b/libddekit/mach.defs index dc616e65..1a53dfa1 100644 --- a/libddekit/mach.defs +++ b/libddekit/mach.defs @@ -767,7 +767,7 @@ skip; /* old host_fpa_counters_reset */ * We are going to get a contiguous physical memory * and its physical address in addition to the virtual address. */ -routine vm_dma_buff_alloc( +routine vm_allocate_contiguous( host_priv : host_priv_t; target_task : vm_task_t; size : vm_size_t; diff --git a/libddekit/memory.c b/libddekit/memory.c index 79fe0ad3..06d20e1c 100644 --- a/libddekit/memory.c +++ b/libddekit/memory.c @@ -218,11 +218,11 @@ void *ddekit_large_malloc(int size) extern mach_port_t priv_host; /* Allocate memory. */ - err = vm_dma_buff_alloc (priv_host, mach_task_self (), + err = vm_allocate_contiguous (priv_host, mach_task_self (), size, &vstart, &pstart); if (err) { - error (0, err, "vm_dma_buff_alloc"); + error (0, err, "vm_allocate_contiguous"); vstart = 0; } else diff --git a/libmachdev/mach.defs b/libmachdev/mach.defs index dc616e65..1a53dfa1 100644 --- a/libmachdev/mach.defs +++ b/libmachdev/mach.defs @@ -767,7 +767,7 @@ skip; /* old host_fpa_counters_reset */ * We are going to get a contiguous physical memory * and its physical address in addition to the virtual address. */ -routine vm_dma_buff_alloc( +routine vm_allocate_contiguous( host_priv : host_priv_t; target_task : vm_task_t; size : vm_size_t; -- cgit v1.2.3 From b9827548c3aa3053116e00673bb9f66dc6959c42 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 8 May 2011 23:52:19 +0200 Subject: reorder vm_allocate_contiguous parameter like vm_allocate --- libddekit/mach.defs | 4 ++-- libddekit/memory.c | 2 +- libmachdev/mach.defs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'libmachdev') diff --git a/libddekit/mach.defs b/libddekit/mach.defs index 1a53dfa1..5e4c45f7 100644 --- a/libddekit/mach.defs +++ b/libddekit/mach.defs @@ -770,9 +770,9 @@ skip; /* old host_fpa_counters_reset */ routine vm_allocate_contiguous( host_priv : host_priv_t; target_task : vm_task_t; - size : vm_size_t; out vaddr : vm_address_t; - out paddr : vm_address_t); + out paddr : vm_address_t; + size : vm_size_t); /* * There is no more room in this interface for additional calls. diff --git a/libddekit/memory.c b/libddekit/memory.c index 06d20e1c..b4723b96 100644 --- a/libddekit/memory.c +++ b/libddekit/memory.c @@ -219,7 +219,7 @@ void *ddekit_large_malloc(int size) /* Allocate memory. */ err = vm_allocate_contiguous (priv_host, mach_task_self (), - size, &vstart, &pstart); + &vstart, &pstart, size); if (err) { error (0, err, "vm_allocate_contiguous"); diff --git a/libmachdev/mach.defs b/libmachdev/mach.defs index 1a53dfa1..5e4c45f7 100644 --- a/libmachdev/mach.defs +++ b/libmachdev/mach.defs @@ -770,9 +770,9 @@ skip; /* old host_fpa_counters_reset */ routine vm_allocate_contiguous( host_priv : host_priv_t; target_task : vm_task_t; - size : vm_size_t; out vaddr : vm_address_t; - out paddr : vm_address_t); + out paddr : vm_address_t; + size : vm_size_t); /* * There is no more room in this interface for additional calls. -- cgit v1.2.3 From f309b0036b005dfa971def25134a5275732ddcc9 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 23 Aug 2011 02:49:15 +0200 Subject: rename device_irq_enable into device_intr_enable --- libddekit/device.defs | 4 ++-- libddekit/interrupt.c | 4 ++-- libmachdev/device.defs | 4 ++-- libmachdev/ds_routines.c | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'libmachdev') diff --git a/libddekit/device.defs b/libddekit/device.defs index ef777efe..3b39297a 100644 --- a/libddekit/device.defs +++ b/libddekit/device.defs @@ -160,7 +160,7 @@ routine device_intr_notify( /* * enable/disable the specified irq. */ -routine device_irq_enable( +routine device_intr_enable( master_port : mach_port_t; - irq : int; + line : int; status : char); diff --git a/libddekit/interrupt.c b/libddekit/interrupt.c index 9128e4d0..30515bbd 100644 --- a/libddekit/interrupt.c +++ b/libddekit/interrupt.c @@ -109,7 +109,7 @@ static void intloop(void *arg) ddekit_printf ("cannot install irq %d\n", params->irq); return; } - device_irq_enable (master_device, params->irq, TRUE); + device_intr_enable (master_device, params->irq, TRUE); #if 0 /* @@ -152,7 +152,7 @@ static void intloop(void *arg) params->handler(params->priv); /* If the irq has been disabled by the linux device, * we don't need to reenable the real one. */ - device_irq_enable (master_device, my_index, TRUE); + device_intr_enable (master_device, my_index, TRUE); if (ddekit_irq_ctrl[my_index].thread_exit) { ddekit_lock_unlock (&ddekit_irq_ctrl[my_index].irqlock); diff --git a/libmachdev/device.defs b/libmachdev/device.defs index ef777efe..3b39297a 100644 --- a/libmachdev/device.defs +++ b/libmachdev/device.defs @@ -160,7 +160,7 @@ routine device_intr_notify( /* * enable/disable the specified irq. */ -routine device_irq_enable( +routine device_intr_enable( master_port : mach_port_t; - irq : int; + line : int; status : char); diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index d31e3a9b..cc4b74f6 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -155,8 +155,8 @@ ds_device_intr_notify (mach_port_t master_port, int irq, } kern_return_t -ds_device_irq_enable (mach_port_t master_port, - int irq, char status) +ds_device_intr_enable (mach_port_t master_port, + int line, char status) { return D_INVALID_OPERATION; } -- cgit v1.2.3 From b9a3510bd830ed5c273347cf87080574a636fa8e Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 23 Aug 2011 02:57:02 +0200 Subject: rename device_intr_notify into device_intr_register --- libddekit/device.defs | 2 +- libddekit/interrupt.c | 4 ++-- libmachdev/device.defs | 2 +- libmachdev/ds_routines.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) (limited to 'libmachdev') diff --git a/libddekit/device.defs b/libddekit/device.defs index 3b39297a..d8968869 100644 --- a/libddekit/device.defs +++ b/libddekit/device.defs @@ -149,7 +149,7 @@ routine device_set_filter( in filter : filter_array_t ); -routine device_intr_notify( +routine device_intr_register( master_port : mach_port_t; in irq : int; in id : int; diff --git a/libddekit/interrupt.c b/libddekit/interrupt.c index 7de111d4..8085043c 100644 --- a/libddekit/interrupt.c +++ b/libddekit/interrupt.c @@ -97,10 +97,10 @@ static void intloop(void *arg) // TODO the flags for shared irq should be indicated by params->shared. // Be careful. For now, we must use shared irq. // Otherwise, the interrupt handler cannot be installed in the kernel. - ret = device_intr_notify (master_device, params->irq, + ret = device_intr_register (master_device, params->irq, 0, 0x04000000, delivery_port, MACH_MSG_TYPE_MAKE_SEND); - ddekit_printf ("device_intr_notify returns %d\n", ret); + ddekit_printf ("device_intr_register returns %d\n", ret); if (ret) { /* inform thread creator of error */ /* XXX does omega0 error code have any meaning to DDEKit users? */ diff --git a/libmachdev/device.defs b/libmachdev/device.defs index 3b39297a..d8968869 100644 --- a/libmachdev/device.defs +++ b/libmachdev/device.defs @@ -149,7 +149,7 @@ routine device_set_filter( in filter : filter_array_t ); -routine device_intr_notify( +routine device_intr_register( master_port : mach_port_t; in irq : int; in id : int; diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index cc4b74f6..6b8d1d4d 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -148,7 +148,7 @@ ds_xxx_device_set_filter (device_t device, mach_port_t rec, } io_return_t -ds_device_intr_notify (mach_port_t master_port, int irq, +ds_device_intr_register (mach_port_t master_port, int irq, int id, mach_port_t receive_port) { return D_INVALID_OPERATION; -- cgit v1.2.3 From 55f9e891d5ba9c3eb504cb0fd4e855298381db6c Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 23 Aug 2011 03:26:55 +0200 Subject: missing irq->line renaming --- libmachdev/device.defs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libmachdev') diff --git a/libmachdev/device.defs b/libmachdev/device.defs index d8968869..7c39f8a5 100644 --- a/libmachdev/device.defs +++ b/libmachdev/device.defs @@ -151,14 +151,14 @@ routine device_set_filter( routine device_intr_register( master_port : mach_port_t; - in irq : int; + in line : int; in id : int; in flags : int; in receive_port : mach_port_send_t ); /* - * enable/disable the specified irq. + * enable/disable the specified line. */ routine device_intr_enable( master_port : mach_port_t; -- cgit v1.2.3 From a8b0f84d9b0b06c7ef5cb802cae6cf27270c9792 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 18 Feb 2012 22:21:03 +0000 Subject: remove duplicate headers, to be replaced by experimental.defs --- libddekit/device.defs | 166 ----------- libddekit/mach.defs | 779 ------------------------------------------------- libmachdev/device.defs | 166 ----------- libmachdev/mach.defs | 779 ------------------------------------------------- 4 files changed, 1890 deletions(-) delete mode 100644 libddekit/device.defs delete mode 100644 libddekit/mach.defs delete mode 100644 libmachdev/device.defs delete mode 100644 libmachdev/mach.defs (limited to 'libmachdev') diff --git a/libddekit/device.defs b/libddekit/device.defs deleted file mode 100644 index 7c39f8a5..00000000 --- a/libddekit/device.defs +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * File: device/device.defs - * Author: Douglas Orr - * Feb 10, 1988 - * Abstract: - * Mach device support. Mach devices are accessed through - * block and character device interfaces to the kernel. - */ - -#ifdef MACH_KERNEL -simport ; /* for obsolete routines */ -#endif - -subsystem -#if KERNEL_SERVER - KernelServer -#endif - device 2800; - -#include -#include -#include - -serverprefix ds_; - -type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic - ctype: mach_port_t; - -routine device_open( - master_port : mach_port_t; - sreplyport reply_port : reply_port_t; - mode : dev_mode_t; - name : dev_name_t; - out device : device_t - ); - -routine device_close( - device : device_t - ); - -routine device_write( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_t; - out bytes_written : int - ); - -routine device_write_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_inband_t; - out bytes_written : int - ); - -routine device_read( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_t - ); - -routine device_read_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_inband_t - ); - -/* obsolete */ -routine xxx_device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t, IsLong - ); - -/* obsolete */ -routine xxx_device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, IsLong - ); - -/* obsolete */ -routine xxx_device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t, IsLong - ); - -routine device_map( - device : device_t; - in prot : vm_prot_t; - in offset : vm_offset_t; - in size : vm_size_t; - out pager : memory_object_t; - in unmap : int - ); - -routine device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t - ); - -routine device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, CountInOut - ); - -routine device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t - ); - -routine device_intr_register( - master_port : mach_port_t; - in line : int; - in id : int; - in flags : int; - in receive_port : mach_port_send_t - ); - -/* - * enable/disable the specified line. - */ -routine device_intr_enable( - master_port : mach_port_t; - line : int; - status : char); diff --git a/libddekit/mach.defs b/libddekit/mach.defs deleted file mode 100644 index 5e4c45f7..00000000 --- a/libddekit/mach.defs +++ /dev/null @@ -1,779 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University. - * Copyright (c) 1993,1994 The University of Utah and - * the Computer Systems Laboratory (CSL). - * All rights reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON, THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF - * THIS SOFTWARE IN ITS "AS IS" CONDITION, AND DISCLAIM ANY LIABILITY - * OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF - * THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * Matchmaker definitions file for Mach kernel interface. - */ - -#ifdef MACH_KERNEL -simport ; /* for obsolete routines */ -#endif /* MACH_KERNEL */ - -subsystem -#if KERNEL_USER - KernelUser -#endif /* KERNEL_USER */ -#if KERNEL_SERVER - KernelServer -#endif /* KERNEL_SERVER */ - mach 2000; - -#ifdef KERNEL_USER -userprefix r_; -#endif /* KERNEL_USER */ - -#include -#include - -skip; /* old port_allocate */ -skip; /* old port_deallocate */ -skip; /* old port_enable */ -skip; /* old port_disable */ -skip; /* old port_select */ -skip; /* old port_set_backlog */ -skip; /* old port_status */ - -/* - * Create a new task with an empty set of IPC rights, - * and having an address space constructed from the - * target task (or empty, if inherit_memory is FALSE). - */ -routine task_create( - target_task : task_t; - inherit_memory : boolean_t; - out child_task : task_t); - -/* - * Destroy the target task, causing all of its threads - * to be destroyed, all of its IPC rights to be deallocated, - * and all of its address space to be deallocated. - */ -routine task_terminate( - target_task : task_t); - -/* - * Get user-level handler entry points for all - * emulated system calls. - */ -routine task_get_emulation_vector( - task : task_t; - out vector_start : int; - out emulation_vector: emulation_vector_t); - -/* - * Establish user-level handlers for the specified - * system calls. Non-emulated system calls are specified - * with emulation_vector[i] == EML_ROUTINE_NULL. - */ -routine task_set_emulation_vector( - task : task_t; - vector_start : int; - emulation_vector: emulation_vector_t); - - -/* - * Returns the set of threads belonging to the target task. - */ -routine task_threads( - target_task : task_t; - out thread_list : thread_array_t); - -/* - * Returns information about the target task. - */ -routine task_info( - target_task : task_t; - flavor : int; - out task_info_out : task_info_t, CountInOut); - - -skip; /* old task_status */ -skip; /* old task_set_notify */ -skip; /* old thread_create */ - -/* - * Destroy the target thread. - */ -routine thread_terminate( - target_thread : thread_t); - -/* - * Return the selected state information for the target - * thread. If the thread is currently executing, the results - * may be stale. [Flavor THREAD_STATE_FLAVOR_LIST provides a - * list of valid flavors for the target thread.] - */ -routine thread_get_state( - target_thread : thread_t; - flavor : int; - out old_state : thread_state_t, CountInOut); - -/* - * Set the selected state information for the target thread. - * If the thread is currently executing, the state change - * may be ill-defined. - */ -routine thread_set_state( - target_thread : thread_t; - flavor : int; - new_state : thread_state_t); - -/* - * Returns information about the target thread. - */ -routine thread_info( - target_thread : thread_t; - flavor : int; - out thread_info_out : thread_info_t, CountInOut); - -skip; /* old thread_mutate */ - -/* - * Allocate zero-filled memory in the address space - * of the target task, either at the specified address, - * or wherever space can be found (if anywhere is TRUE), - * of the specified size. The address at which the - * allocation actually took place is returned. - */ -#ifdef EMULATOR -skip; /* the emulator redefines vm_allocate using vm_map */ -#else /* EMULATOR */ -routine vm_allocate( - target_task : vm_task_t; - inout address : vm_address_t; - size : vm_size_t; - anywhere : boolean_t); -#endif /* EMULATOR */ - -skip; /* old vm_allocate_with_pager */ - -/* - * Deallocate the specified range from the virtual - * address space of the target task. - */ -routine vm_deallocate( - target_task : vm_task_t; - address : vm_address_t; - size : vm_size_t); - -/* - * Set the current or maximum protection attribute - * for the specified range of the virtual address - * space of the target task. The current protection - * limits the memory access rights of threads within - * the task; the maximum protection limits the accesses - * that may be given in the current protection. - * Protections are specified as a set of {read, write, execute} - * *permissions*. - */ -routine vm_protect( - target_task : vm_task_t; - address : vm_address_t; - size : vm_size_t; - set_maximum : boolean_t; - new_protection : vm_prot_t); - -/* - * Set the inheritance attribute for the specified range - * of the virtual address space of the target task. - * The inheritance value is one of {none, copy, share}, and - * specifies how the child address space should acquire - * this memory at the time of a task_create call. - */ -routine vm_inherit( - target_task : vm_task_t; - address : vm_address_t; - size : vm_size_t; - new_inheritance : vm_inherit_t); - -/* - * Returns the contents of the specified range of the - * virtual address space of the target task. [The - * range must be aligned on a virtual page boundary, - * and must be a multiple of pages in extent. The - * protection on the specified range must permit reading.] - */ -routine vm_read( - target_task : vm_task_t; - address : vm_address_t; - size : vm_size_t; - out data : pointer_t); - -/* - * Writes the contents of the specified range of the - * virtual address space of the target task. [The - * range must be aligned on a virtual page boundary, - * and must be a multiple of pages in extent. The - * protection on the specified range must permit writing.] - */ -routine vm_write( - target_task : vm_task_t; - address : vm_address_t; - data : pointer_t); - -/* - * Copy the contents of the source range of the virtual - * address space of the target task to the destination - * range in that same address space. [Both of the - * ranges must be aligned on a virtual page boundary, - * and must be multiples of pages in extent. The - * protection on the source range must permit reading, - * and the protection on the destination range must - * permit writing.] - */ -routine vm_copy( - target_task : vm_task_t; - source_address : vm_address_t; - size : vm_size_t; - dest_address : vm_address_t); - -/* - * Returns information about the contents of the virtual - * address space of the target task at the specified - * address. The returned protection, inheritance, sharing - * and memory object values apply to the entire range described - * by the address range returned; the memory object offset - * corresponds to the beginning of the address range. - * [If the specified address is not allocated, the next - * highest address range is described. If no addresses beyond - * the one specified are allocated, the call returns KERN_NO_SPACE.] - */ -routine vm_region( - target_task : vm_task_t; - inout address : vm_address_t; - out size : vm_size_t; - out protection : vm_prot_t; - out max_protection : vm_prot_t; - out inheritance : vm_inherit_t; - out is_shared : boolean_t; - /* avoid out-translation of the argument */ - out object_name : memory_object_name_t = - MACH_MSG_TYPE_MOVE_SEND - ctype: mach_port_t; - out offset : vm_offset_t); - -/* - * Return virtual memory statistics for the host - * on which the target task resides. [Note that the - * statistics are not specific to the target task.] - */ -routine vm_statistics( - target_task : vm_task_t; - out vm_stats : vm_statistics_data_t); - -skip; /* old task_by_u*x_pid */ -skip; /* old vm_pageable */ - -/* - * Stash a handful of ports for the target task; child - * tasks inherit this stash at task_create time. - */ -routine mach_ports_register( - target_task : task_t; - init_port_set : mach_port_array_t = - ^array[] of mach_port_t); - -/* - * Retrieve the stashed ports for the target task. - */ -routine mach_ports_lookup( - target_task : task_t; - out init_port_set : mach_port_array_t = - ^array[] of mach_port_t); - -skip; /* old u*x_pid */ -skip; /* old netipc_listen */ -skip; /* old netipc_ignore */ - -/* - * Provide the data contents of a range of the given memory - * object, with the access restriction specified. [Only - * whole virtual pages of data can be accepted; partial pages - * will be discarded. Data should be provided on request, but - * may be provided in advance as desired. When data already - * held by this kernel is provided again, the new data is ignored. - * The access restriction is the subset of {read, write, execute} - * which are prohibited. The kernel may not provide any data (or - * protection) consistency among pages with different virtual page - * alignments within the same object.] - */ -simpleroutine memory_object_data_provided( - memory_control : memory_object_control_t; - offset : vm_offset_t; - data : pointer_t; - lock_value : vm_prot_t); - -/* - * Indicate that a range of the given temporary memory object does - * not exist, and that the backing memory object should be used - * instead (or zero-fill memory be used, if no backing object exists). - * [This call is intended for use only by the default memory manager. - * It should not be used to indicate a real error -- - * memory_object_data_error should be used for that purpose.] - */ -simpleroutine memory_object_data_unavailable( - memory_control : memory_object_control_t; - offset : vm_offset_t; - size : vm_size_t); - -/* - * Retrieves the attributes currently associated with - * a memory object. - */ -routine memory_object_get_attributes( - memory_control : memory_object_control_t; - out object_ready : boolean_t; - out may_cache : boolean_t; - out copy_strategy : memory_object_copy_strategy_t); - -/* - * Sets the default memory manager, the port to which - * newly-created temporary memory objects are delivered. - * [See (memory_object_default)memory_object_create.] - * The old memory manager port is returned. - */ -routine vm_set_default_memory_manager( - host_priv : host_priv_t; - inout default_manager : mach_port_make_send_t); - -skip; /* old pager_flush_request */ - -/* - * Control use of the data associated with the given - * memory object. For each page in the given range, - * perform the following operations, in order: - * 1) restrict access to the page (disallow - * forms specified by "prot"); - * 2) write back modifications (if "should_return" - * is RETURN_DIRTY and the page is dirty, or - * "should_return" is RETURN_ALL and the page - * is either dirty or precious); and, - * 3) flush the cached copy (if "should_flush" - * is asserted). - * The set of pages is defined by a starting offset - * ("offset") and size ("size"). Only pages with the - * same page alignment as the starting offset are - * considered. - * - * A single acknowledgement is sent (to the "reply_to" - * port) when these actions are complete. - * - * There are two versions of this routine because IPC distinguishes - * between booleans and integers (a 2-valued integer is NOT a - * boolean). The new routine is backwards compatible at the C - * language interface. - */ -simpleroutine xxx_memory_object_lock_request( - memory_control : memory_object_control_t; - offset : vm_offset_t; - size : vm_size_t; - should_clean : boolean_t; - should_flush : boolean_t; - lock_value : vm_prot_t; - reply_to : mach_port_t = - MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); - - -simpleroutine memory_object_lock_request( - memory_control : memory_object_control_t; - offset : vm_offset_t; - size : vm_size_t; - should_return : memory_object_return_t; - should_flush : boolean_t; - lock_value : vm_prot_t; - reply_to : mach_port_t = - MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); - -/* obsolete */ -routine xxx_task_get_emulation_vector( - task : task_t; - out vector_start : int; - out emulation_vector: xxx_emulation_vector_t, IsLong); - -/* obsolete */ -routine xxx_task_set_emulation_vector( - task : task_t; - vector_start : int; - emulation_vector: xxx_emulation_vector_t, IsLong); - -/* - * Returns information about the host on which the - * target object resides. [This object may be - * a task, thread, or memory_object_control port.] - */ -routine xxx_host_info( - target_task : mach_port_t; - out info : machine_info_data_t); - -/* - * Returns information about a particular processor on - * the host on which the target task resides. - */ -routine xxx_slot_info( - target_task : task_t; - slot : int; - out info : machine_slot_data_t); - -/* - * Performs control operations (currently only - * turning off or on) on a particular processor on - * the host on which the target task resides. - */ -routine xxx_cpu_control( - target_task : task_t; - cpu : int; - running : boolean_t); - -skip; /* old thread_statistics */ -skip; /* old task_statistics */ -skip; /* old netport_init */ -skip; /* old netport_enter */ -skip; /* old netport_remove */ -skip; /* old thread_set_priority */ - -/* - * Increment the suspend count for the target task. - * No threads within a task may run when the suspend - * count for that task is non-zero. - */ -routine task_suspend( - target_task : task_t); - -/* - * Decrement the suspend count for the target task, - * if the count is currently non-zero. If the resulting - * suspend count is zero, then threads within the task - * that also have non-zero suspend counts may execute. - */ -routine task_resume( - target_task : task_t); - -/* - * Returns the current value of the selected special port - * associated with the target task. - */ -routine task_get_special_port( - task : task_t; - which_port : int; - out special_port : mach_port_t); - -/* - * Set one of the special ports associated with the - * target task. - */ -routine task_set_special_port( - task : task_t; - which_port : int; - special_port : mach_port_t); - -/* obsolete */ -routine xxx_task_info( - target_task : task_t; - flavor : int; - out task_info_out : task_info_t, IsLong); - - -/* - * Create a new thread within the target task, returning - * the port representing that new thread. The - * initial execution state of the thread is undefined. - */ -routine thread_create( - parent_task : task_t; - out child_thread : thread_t); - -/* - * Increment the suspend count for the target thread. - * Once this call has completed, the thread will not - * execute any further user or meta- instructions. - * Once suspended, a thread may not execute again until - * its suspend count is zero, and the suspend count - * for its task is also zero. - */ -routine thread_suspend( - target_thread : thread_t); - -/* - * Decrement the suspend count for the target thread, - * if that count is not already zero. - */ -routine thread_resume( - target_thread : thread_t); - -/* - * Cause any user or meta- instructions currently being - * executed by the target thread to be aborted. [Meta- - * instructions consist of the basic traps for IPC - * (e.g., msg_send, msg_receive) and self-identification - * (e.g., task_self, thread_self, thread_reply). Calls - * described by MiG interfaces are not meta-instructions - * themselves.] - */ -routine thread_abort( - target_thread : thread_t); - -/* obsolete */ -routine xxx_thread_get_state( - target_thread : thread_t; - flavor : int; - out old_state : thread_state_t, IsLong); - -/* obsolete */ -routine xxx_thread_set_state( - target_thread : thread_t; - flavor : int; - new_state : thread_state_t, IsLong); - -/* - * Returns the current value of the selected special port - * associated with the target thread. - */ -routine thread_get_special_port( - thread : thread_t; - which_port : int; - out special_port : mach_port_t); - -/* - * Set one of the special ports associated with the - * target thread. - */ -routine thread_set_special_port( - thread : thread_t; - which_port : int; - special_port : mach_port_t); - -/* obsolete */ -routine xxx_thread_info( - target_thread : thread_t; - flavor : int; - out thread_info_out : thread_info_t, IsLong); - -/* - * Establish a user-level handler for the specified - * system call. - */ -routine task_set_emulation( - target_port : task_t; - routine_entry_pt: vm_address_t; - routine_number : int); - -/* - * Establish restart pc for interrupted atomic sequences. - * This reuses the message number for the old task_get_io_port. - * See task_info.h for description of flavors. - * - */ -routine task_ras_control( - target_task : task_t; - basepc : vm_address_t; - boundspc : vm_address_t; - flavor : int); - - - -skip; /* old host_ipc_statistics */ -skip; /* old port_names */ -skip; /* old port_type */ -skip; /* old port_rename */ -skip; /* old port_allocate */ -skip; /* old port_deallocate */ -skip; /* old port_set_backlog */ -skip; /* old port_status */ -skip; /* old port_set_allocate */ -skip; /* old port_set_deallocate */ -skip; /* old port_set_add */ -skip; /* old port_set_remove */ -skip; /* old port_set_status */ -skip; /* old port_insert_send */ -skip; /* old port_extract_send */ -skip; /* old port_insert_receive */ -skip; /* old port_extract_receive */ - -/* - * Map a user-defined memory object into the virtual address - * space of the target task. If desired (anywhere is TRUE), - * the kernel will find a suitable address range of the - * specified size; else, the specific address will be allocated. - * - * The beginning address of the range will be aligned on a virtual - * page boundary, be at or beyond the address specified, and - * meet the mask requirements (bits turned on in the mask must not - * be turned on in the result); the size of the range, in bytes, - * will be rounded up to an integral number of virtual pages. - * - * The memory in the resulting range will be associated with the - * specified memory object, with the beginning of the memory range - * referring to the specified offset into the memory object. - * - * The mapping will take the current and maximum protections and - * the inheritance attributes specified; see the vm_protect and - * vm_inherit calls for a description of these attributes. - * - * If desired (copy is TRUE), the memory range will be filled - * with a copy of the data from the memory object; this copy will - * be private to this mapping in this target task. Otherwise, - * the memory in this mapping will be shared with other mappings - * of the same memory object at the same offset (in this task or - * in other tasks). [The Mach kernel only enforces shared memory - * consistency among mappings on one host with similar page alignments. - * The user-defined memory manager for this object is responsible - * for further consistency.] - */ -#ifdef EMULATOR -routine htg_vm_map( - target_task : vm_task_t; - ureplyport reply_port : mach_port_make_send_once_t; - inout address : vm_address_t; - size : vm_size_t; - mask : vm_address_t; - anywhere : boolean_t; - memory_object : memory_object_t; - offset : vm_offset_t; - copy : boolean_t; - cur_protection : vm_prot_t; - max_protection : vm_prot_t; - inheritance : vm_inherit_t); -#else /* EMULATOR */ -routine vm_map( - target_task : vm_task_t; - inout address : vm_address_t; - size : vm_size_t; - mask : vm_address_t; - anywhere : boolean_t; - memory_object : memory_object_t; - offset : vm_offset_t; - copy : boolean_t; - cur_protection : vm_prot_t; - max_protection : vm_prot_t; - inheritance : vm_inherit_t); -#endif /* EMULATOR */ - -/* - * Indicate that a range of the specified memory object cannot - * be provided at this time. [Threads waiting for memory pages - * specified by this call will experience a memory exception. - * Only threads waiting at the time of the call are affected.] - */ -simpleroutine memory_object_data_error( - memory_control : memory_object_control_t; - offset : vm_offset_t; - size : vm_size_t; - error_value : kern_return_t); - -/* - * Make decisions regarding the use of the specified - * memory object. - */ -simpleroutine memory_object_set_attributes( - memory_control : memory_object_control_t; - object_ready : boolean_t; - may_cache : boolean_t; - copy_strategy : memory_object_copy_strategy_t); - -/* - */ -simpleroutine memory_object_destroy( - memory_control : memory_object_control_t; - reason : kern_return_t); - -/* - * Provide the data contents of a range of the given memory - * object, with the access restriction specified, optional - * precious attribute, and reply message. [Only - * whole virtual pages of data can be accepted; partial pages - * will be discarded. Data should be provided on request, but - * may be provided in advance as desired. When data already - * held by this kernel is provided again, the new data is ignored. - * The access restriction is the subset of {read, write, execute} - * which are prohibited. The kernel may not provide any data (or - * protection) consistency among pages with different virtual page - * alignments within the same object. The precious value controls - * how the kernel treats the data. If it is FALSE, the kernel treats - * its copy as a temporary and may throw it away if it hasn't been - * changed. If the precious value is TRUE, the kernel treats its - * copy as a data repository and promises to return it to the manager; - * the manager may tell the kernel to throw it away instead by flushing - * and not cleaning the data -- see memory_object_lock_request. The - * reply_to port is for a compeletion message; it will be - * memory_object_supply_completed.] - */ - -simpleroutine memory_object_data_supply( - memory_control : memory_object_control_t; - offset : vm_offset_t; - data : pointer_t, Dealloc[]; - lock_value : vm_prot_t; - precious : boolean_t; - reply_to : mach_port_t = - MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); - -simpleroutine memory_object_ready( - memory_control : memory_object_control_t; - may_cache : boolean_t; - copy_strategy : memory_object_copy_strategy_t); - -simpleroutine memory_object_change_attributes( - memory_control : memory_object_control_t; - may_cache : boolean_t; - copy_strategy : memory_object_copy_strategy_t; - reply_to : mach_port_t = - MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); - -skip; /* old host_callout_statistics_reset */ -skip; /* old port_set_select */ -skip; /* old port_set_backup */ - -/* - * Set/Get special properties of memory associated - * to some virtual address range, such as cachability, - * migrability, replicability. Machine-dependent. - */ -routine vm_machine_attribute( - target_task : vm_task_t; - address : vm_address_t; - size : vm_size_t; - attribute : vm_machine_attribute_t; - inout value : vm_machine_attribute_val_t); - -skip; /* old host_fpa_counters_reset */ - -/* - * This routine is created for allocating DMA buffers. - * We are going to get a contiguous physical memory - * and its physical address in addition to the virtual address. - */ -routine vm_allocate_contiguous( - host_priv : host_priv_t; - target_task : vm_task_t; - out vaddr : vm_address_t; - out paddr : vm_address_t; - size : vm_size_t); - -/* - * There is no more room in this interface for additional calls. - */ diff --git a/libmachdev/device.defs b/libmachdev/device.defs deleted file mode 100644 index 7c39f8a5..00000000 --- a/libmachdev/device.defs +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * File: device/device.defs - * Author: Douglas Orr - * Feb 10, 1988 - * Abstract: - * Mach device support. Mach devices are accessed through - * block and character device interfaces to the kernel. - */ - -#ifdef MACH_KERNEL -simport ; /* for obsolete routines */ -#endif - -subsystem -#if KERNEL_SERVER - KernelServer -#endif - device 2800; - -#include -#include -#include - -serverprefix ds_; - -type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic - ctype: mach_port_t; - -routine device_open( - master_port : mach_port_t; - sreplyport reply_port : reply_port_t; - mode : dev_mode_t; - name : dev_name_t; - out device : device_t - ); - -routine device_close( - device : device_t - ); - -routine device_write( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_t; - out bytes_written : int - ); - -routine device_write_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_inband_t; - out bytes_written : int - ); - -routine device_read( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_t - ); - -routine device_read_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_inband_t - ); - -/* obsolete */ -routine xxx_device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t, IsLong - ); - -/* obsolete */ -routine xxx_device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, IsLong - ); - -/* obsolete */ -routine xxx_device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t, IsLong - ); - -routine device_map( - device : device_t; - in prot : vm_prot_t; - in offset : vm_offset_t; - in size : vm_size_t; - out pager : memory_object_t; - in unmap : int - ); - -routine device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t - ); - -routine device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, CountInOut - ); - -routine device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t - ); - -routine device_intr_register( - master_port : mach_port_t; - in line : int; - in id : int; - in flags : int; - in receive_port : mach_port_send_t - ); - -/* - * enable/disable the specified line. - */ -routine device_intr_enable( - master_port : mach_port_t; - line : int; - status : char); diff --git a/libmachdev/mach.defs b/libmachdev/mach.defs deleted file mode 100644 index 5e4c45f7..00000000 --- a/libmachdev/mach.defs +++ /dev/null @@ -1,779 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University. - * Copyright (c) 1993,1994 The University of Utah and - * the Computer Systems Laboratory (CSL). - * All rights reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON, THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF - * THIS SOFTWARE IN ITS "AS IS" CONDITION, AND DISCLAIM ANY LIABILITY - * OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF - * THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * Matchmaker definitions file for Mach kernel interface. - */ - -#ifdef MACH_KERNEL -simport ; /* for obsolete routines */ -#endif /* MACH_KERNEL */ - -subsystem -#if KERNEL_USER - KernelUser -#endif /* KERNEL_USER */ -#if KERNEL_SERVER - KernelServer -#endif /* KERNEL_SERVER */ - mach 2000; - -#ifdef KERNEL_USER -userprefix r_; -#endif /* KERNEL_USER */ - -#include -#include - -skip; /* old port_allocate */ -skip; /* old port_deallocate */ -skip; /* old port_enable */ -skip; /* old port_disable */ -skip; /* old port_select */ -skip; /* old port_set_backlog */ -skip; /* old port_status */ - -/* - * Create a new task with an empty set of IPC rights, - * and having an address space constructed from the - * target task (or empty, if inherit_memory is FALSE). - */ -routine task_create( - target_task : task_t; - inherit_memory : boolean_t; - out child_task : task_t); - -/* - * Destroy the target task, causing all of its threads - * to be destroyed, all of its IPC rights to be deallocated, - * and all of its address space to be deallocated. - */ -routine task_terminate( - target_task : task_t); - -/* - * Get user-level handler entry points for all - * emulated system calls. - */ -routine task_get_emulation_vector( - task : task_t; - out vector_start : int; - out emulation_vector: emulation_vector_t); - -/* - * Establish user-level handlers for the specified - * system calls. Non-emulated system calls are specified - * with emulation_vector[i] == EML_ROUTINE_NULL. - */ -routine task_set_emulation_vector( - task : task_t; - vector_start : int; - emulation_vector: emulation_vector_t); - - -/* - * Returns the set of threads belonging to the target task. - */ -routine task_threads( - target_task : task_t; - out thread_list : thread_array_t); - -/* - * Returns information about the target task. - */ -routine task_info( - target_task : task_t; - flavor : int; - out task_info_out : task_info_t, CountInOut); - - -skip; /* old task_status */ -skip; /* old task_set_notify */ -skip; /* old thread_create */ - -/* - * Destroy the target thread. - */ -routine thread_terminate( - target_thread : thread_t); - -/* - * Return the selected state information for the target - * thread. If the thread is currently executing, the results - * may be stale. [Flavor THREAD_STATE_FLAVOR_LIST provides a - * list of valid flavors for the target thread.] - */ -routine thread_get_state( - target_thread : thread_t; - flavor : int; - out old_state : thread_state_t, CountInOut); - -/* - * Set the selected state information for the target thread. - * If the thread is currently executing, the state change - * may be ill-defined. - */ -routine thread_set_state( - target_thread : thread_t; - flavor : int; - new_state : thread_state_t); - -/* - * Returns information about the target thread. - */ -routine thread_info( - target_thread : thread_t; - flavor : int; - out thread_info_out : thread_info_t, CountInOut); - -skip; /* old thread_mutate */ - -/* - * Allocate zero-filled memory in the address space - * of the target task, either at the specified address, - * or wherever space can be found (if anywhere is TRUE), - * of the specified size. The address at which the - * allocation actually took place is returned. - */ -#ifdef EMULATOR -skip; /* the emulator redefines vm_allocate using vm_map */ -#else /* EMULATOR */ -routine vm_allocate( - target_task : vm_task_t; - inout address : vm_address_t; - size : vm_size_t; - anywhere : boolean_t); -#endif /* EMULATOR */ - -skip; /* old vm_allocate_with_pager */ - -/* - * Deallocate the specified range from the virtual - * address space of the target task. - */ -routine vm_deallocate( - target_task : vm_task_t; - address : vm_address_t; - size : vm_size_t); - -/* - * Set the current or maximum protection attribute - * for the specified range of the virtual address - * space of the target task. The current protection - * limits the memory access rights of threads within - * the task; the maximum protection limits the accesses - * that may be given in the current protection. - * Protections are specified as a set of {read, write, execute} - * *permissions*. - */ -routine vm_protect( - target_task : vm_task_t; - address : vm_address_t; - size : vm_size_t; - set_maximum : boolean_t; - new_protection : vm_prot_t); - -/* - * Set the inheritance attribute for the specified range - * of the virtual address space of the target task. - * The inheritance value is one of {none, copy, share}, and - * specifies how the child address space should acquire - * this memory at the time of a task_create call. - */ -routine vm_inherit( - target_task : vm_task_t; - address : vm_address_t; - size : vm_size_t; - new_inheritance : vm_inherit_t); - -/* - * Returns the contents of the specified range of the - * virtual address space of the target task. [The - * range must be aligned on a virtual page boundary, - * and must be a multiple of pages in extent. The - * protection on the specified range must permit reading.] - */ -routine vm_read( - target_task : vm_task_t; - address : vm_address_t; - size : vm_size_t; - out data : pointer_t); - -/* - * Writes the contents of the specified range of the - * virtual address space of the target task. [The - * range must be aligned on a virtual page boundary, - * and must be a multiple of pages in extent. The - * protection on the specified range must permit writing.] - */ -routine vm_write( - target_task : vm_task_t; - address : vm_address_t; - data : pointer_t); - -/* - * Copy the contents of the source range of the virtual - * address space of the target task to the destination - * range in that same address space. [Both of the - * ranges must be aligned on a virtual page boundary, - * and must be multiples of pages in extent. The - * protection on the source range must permit reading, - * and the protection on the destination range must - * permit writing.] - */ -routine vm_copy( - target_task : vm_task_t; - source_address : vm_address_t; - size : vm_size_t; - dest_address : vm_address_t); - -/* - * Returns information about the contents of the virtual - * address space of the target task at the specified - * address. The returned protection, inheritance, sharing - * and memory object values apply to the entire range described - * by the address range returned; the memory object offset - * corresponds to the beginning of the address range. - * [If the specified address is not allocated, the next - * highest address range is described. If no addresses beyond - * the one specified are allocated, the call returns KERN_NO_SPACE.] - */ -routine vm_region( - target_task : vm_task_t; - inout address : vm_address_t; - out size : vm_size_t; - out protection : vm_prot_t; - out max_protection : vm_prot_t; - out inheritance : vm_inherit_t; - out is_shared : boolean_t; - /* avoid out-translation of the argument */ - out object_name : memory_object_name_t = - MACH_MSG_TYPE_MOVE_SEND - ctype: mach_port_t; - out offset : vm_offset_t); - -/* - * Return virtual memory statistics for the host - * on which the target task resides. [Note that the - * statistics are not specific to the target task.] - */ -routine vm_statistics( - target_task : vm_task_t; - out vm_stats : vm_statistics_data_t); - -skip; /* old task_by_u*x_pid */ -skip; /* old vm_pageable */ - -/* - * Stash a handful of ports for the target task; child - * tasks inherit this stash at task_create time. - */ -routine mach_ports_register( - target_task : task_t; - init_port_set : mach_port_array_t = - ^array[] of mach_port_t); - -/* - * Retrieve the stashed ports for the target task. - */ -routine mach_ports_lookup( - target_task : task_t; - out init_port_set : mach_port_array_t = - ^array[] of mach_port_t); - -skip; /* old u*x_pid */ -skip; /* old netipc_listen */ -skip; /* old netipc_ignore */ - -/* - * Provide the data contents of a range of the given memory - * object, with the access restriction specified. [Only - * whole virtual pages of data can be accepted; partial pages - * will be discarded. Data should be provided on request, but - * may be provided in advance as desired. When data already - * held by this kernel is provided again, the new data is ignored. - * The access restriction is the subset of {read, write, execute} - * which are prohibited. The kernel may not provide any data (or - * protection) consistency among pages with different virtual page - * alignments within the same object.] - */ -simpleroutine memory_object_data_provided( - memory_control : memory_object_control_t; - offset : vm_offset_t; - data : pointer_t; - lock_value : vm_prot_t); - -/* - * Indicate that a range of the given temporary memory object does - * not exist, and that the backing memory object should be used - * instead (or zero-fill memory be used, if no backing object exists). - * [This call is intended for use only by the default memory manager. - * It should not be used to indicate a real error -- - * memory_object_data_error should be used for that purpose.] - */ -simpleroutine memory_object_data_unavailable( - memory_control : memory_object_control_t; - offset : vm_offset_t; - size : vm_size_t); - -/* - * Retrieves the attributes currently associated with - * a memory object. - */ -routine memory_object_get_attributes( - memory_control : memory_object_control_t; - out object_ready : boolean_t; - out may_cache : boolean_t; - out copy_strategy : memory_object_copy_strategy_t); - -/* - * Sets the default memory manager, the port to which - * newly-created temporary memory objects are delivered. - * [See (memory_object_default)memory_object_create.] - * The old memory manager port is returned. - */ -routine vm_set_default_memory_manager( - host_priv : host_priv_t; - inout default_manager : mach_port_make_send_t); - -skip; /* old pager_flush_request */ - -/* - * Control use of the data associated with the given - * memory object. For each page in the given range, - * perform the following operations, in order: - * 1) restrict access to the page (disallow - * forms specified by "prot"); - * 2) write back modifications (if "should_return" - * is RETURN_DIRTY and the page is dirty, or - * "should_return" is RETURN_ALL and the page - * is either dirty or precious); and, - * 3) flush the cached copy (if "should_flush" - * is asserted). - * The set of pages is defined by a starting offset - * ("offset") and size ("size"). Only pages with the - * same page alignment as the starting offset are - * considered. - * - * A single acknowledgement is sent (to the "reply_to" - * port) when these actions are complete. - * - * There are two versions of this routine because IPC distinguishes - * between booleans and integers (a 2-valued integer is NOT a - * boolean). The new routine is backwards compatible at the C - * language interface. - */ -simpleroutine xxx_memory_object_lock_request( - memory_control : memory_object_control_t; - offset : vm_offset_t; - size : vm_size_t; - should_clean : boolean_t; - should_flush : boolean_t; - lock_value : vm_prot_t; - reply_to : mach_port_t = - MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); - - -simpleroutine memory_object_lock_request( - memory_control : memory_object_control_t; - offset : vm_offset_t; - size : vm_size_t; - should_return : memory_object_return_t; - should_flush : boolean_t; - lock_value : vm_prot_t; - reply_to : mach_port_t = - MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); - -/* obsolete */ -routine xxx_task_get_emulation_vector( - task : task_t; - out vector_start : int; - out emulation_vector: xxx_emulation_vector_t, IsLong); - -/* obsolete */ -routine xxx_task_set_emulation_vector( - task : task_t; - vector_start : int; - emulation_vector: xxx_emulation_vector_t, IsLong); - -/* - * Returns information about the host on which the - * target object resides. [This object may be - * a task, thread, or memory_object_control port.] - */ -routine xxx_host_info( - target_task : mach_port_t; - out info : machine_info_data_t); - -/* - * Returns information about a particular processor on - * the host on which the target task resides. - */ -routine xxx_slot_info( - target_task : task_t; - slot : int; - out info : machine_slot_data_t); - -/* - * Performs control operations (currently only - * turning off or on) on a particular processor on - * the host on which the target task resides. - */ -routine xxx_cpu_control( - target_task : task_t; - cpu : int; - running : boolean_t); - -skip; /* old thread_statistics */ -skip; /* old task_statistics */ -skip; /* old netport_init */ -skip; /* old netport_enter */ -skip; /* old netport_remove */ -skip; /* old thread_set_priority */ - -/* - * Increment the suspend count for the target task. - * No threads within a task may run when the suspend - * count for that task is non-zero. - */ -routine task_suspend( - target_task : task_t); - -/* - * Decrement the suspend count for the target task, - * if the count is currently non-zero. If the resulting - * suspend count is zero, then threads within the task - * that also have non-zero suspend counts may execute. - */ -routine task_resume( - target_task : task_t); - -/* - * Returns the current value of the selected special port - * associated with the target task. - */ -routine task_get_special_port( - task : task_t; - which_port : int; - out special_port : mach_port_t); - -/* - * Set one of the special ports associated with the - * target task. - */ -routine task_set_special_port( - task : task_t; - which_port : int; - special_port : mach_port_t); - -/* obsolete */ -routine xxx_task_info( - target_task : task_t; - flavor : int; - out task_info_out : task_info_t, IsLong); - - -/* - * Create a new thread within the target task, returning - * the port representing that new thread. The - * initial execution state of the thread is undefined. - */ -routine thread_create( - parent_task : task_t; - out child_thread : thread_t); - -/* - * Increment the suspend count for the target thread. - * Once this call has completed, the thread will not - * execute any further user or meta- instructions. - * Once suspended, a thread may not execute again until - * its suspend count is zero, and the suspend count - * for its task is also zero. - */ -routine thread_suspend( - target_thread : thread_t); - -/* - * Decrement the suspend count for the target thread, - * if that count is not already zero. - */ -routine thread_resume( - target_thread : thread_t); - -/* - * Cause any user or meta- instructions currently being - * executed by the target thread to be aborted. [Meta- - * instructions consist of the basic traps for IPC - * (e.g., msg_send, msg_receive) and self-identification - * (e.g., task_self, thread_self, thread_reply). Calls - * described by MiG interfaces are not meta-instructions - * themselves.] - */ -routine thread_abort( - target_thread : thread_t); - -/* obsolete */ -routine xxx_thread_get_state( - target_thread : thread_t; - flavor : int; - out old_state : thread_state_t, IsLong); - -/* obsolete */ -routine xxx_thread_set_state( - target_thread : thread_t; - flavor : int; - new_state : thread_state_t, IsLong); - -/* - * Returns the current value of the selected special port - * associated with the target thread. - */ -routine thread_get_special_port( - thread : thread_t; - which_port : int; - out special_port : mach_port_t); - -/* - * Set one of the special ports associated with the - * target thread. - */ -routine thread_set_special_port( - thread : thread_t; - which_port : int; - special_port : mach_port_t); - -/* obsolete */ -routine xxx_thread_info( - target_thread : thread_t; - flavor : int; - out thread_info_out : thread_info_t, IsLong); - -/* - * Establish a user-level handler for the specified - * system call. - */ -routine task_set_emulation( - target_port : task_t; - routine_entry_pt: vm_address_t; - routine_number : int); - -/* - * Establish restart pc for interrupted atomic sequences. - * This reuses the message number for the old task_get_io_port. - * See task_info.h for description of flavors. - * - */ -routine task_ras_control( - target_task : task_t; - basepc : vm_address_t; - boundspc : vm_address_t; - flavor : int); - - - -skip; /* old host_ipc_statistics */ -skip; /* old port_names */ -skip; /* old port_type */ -skip; /* old port_rename */ -skip; /* old port_allocate */ -skip; /* old port_deallocate */ -skip; /* old port_set_backlog */ -skip; /* old port_status */ -skip; /* old port_set_allocate */ -skip; /* old port_set_deallocate */ -skip; /* old port_set_add */ -skip; /* old port_set_remove */ -skip; /* old port_set_status */ -skip; /* old port_insert_send */ -skip; /* old port_extract_send */ -skip; /* old port_insert_receive */ -skip; /* old port_extract_receive */ - -/* - * Map a user-defined memory object into the virtual address - * space of the target task. If desired (anywhere is TRUE), - * the kernel will find a suitable address range of the - * specified size; else, the specific address will be allocated. - * - * The beginning address of the range will be aligned on a virtual - * page boundary, be at or beyond the address specified, and - * meet the mask requirements (bits turned on in the mask must not - * be turned on in the result); the size of the range, in bytes, - * will be rounded up to an integral number of virtual pages. - * - * The memory in the resulting range will be associated with the - * specified memory object, with the beginning of the memory range - * referring to the specified offset into the memory object. - * - * The mapping will take the current and maximum protections and - * the inheritance attributes specified; see the vm_protect and - * vm_inherit calls for a description of these attributes. - * - * If desired (copy is TRUE), the memory range will be filled - * with a copy of the data from the memory object; this copy will - * be private to this mapping in this target task. Otherwise, - * the memory in this mapping will be shared with other mappings - * of the same memory object at the same offset (in this task or - * in other tasks). [The Mach kernel only enforces shared memory - * consistency among mappings on one host with similar page alignments. - * The user-defined memory manager for this object is responsible - * for further consistency.] - */ -#ifdef EMULATOR -routine htg_vm_map( - target_task : vm_task_t; - ureplyport reply_port : mach_port_make_send_once_t; - inout address : vm_address_t; - size : vm_size_t; - mask : vm_address_t; - anywhere : boolean_t; - memory_object : memory_object_t; - offset : vm_offset_t; - copy : boolean_t; - cur_protection : vm_prot_t; - max_protection : vm_prot_t; - inheritance : vm_inherit_t); -#else /* EMULATOR */ -routine vm_map( - target_task : vm_task_t; - inout address : vm_address_t; - size : vm_size_t; - mask : vm_address_t; - anywhere : boolean_t; - memory_object : memory_object_t; - offset : vm_offset_t; - copy : boolean_t; - cur_protection : vm_prot_t; - max_protection : vm_prot_t; - inheritance : vm_inherit_t); -#endif /* EMULATOR */ - -/* - * Indicate that a range of the specified memory object cannot - * be provided at this time. [Threads waiting for memory pages - * specified by this call will experience a memory exception. - * Only threads waiting at the time of the call are affected.] - */ -simpleroutine memory_object_data_error( - memory_control : memory_object_control_t; - offset : vm_offset_t; - size : vm_size_t; - error_value : kern_return_t); - -/* - * Make decisions regarding the use of the specified - * memory object. - */ -simpleroutine memory_object_set_attributes( - memory_control : memory_object_control_t; - object_ready : boolean_t; - may_cache : boolean_t; - copy_strategy : memory_object_copy_strategy_t); - -/* - */ -simpleroutine memory_object_destroy( - memory_control : memory_object_control_t; - reason : kern_return_t); - -/* - * Provide the data contents of a range of the given memory - * object, with the access restriction specified, optional - * precious attribute, and reply message. [Only - * whole virtual pages of data can be accepted; partial pages - * will be discarded. Data should be provided on request, but - * may be provided in advance as desired. When data already - * held by this kernel is provided again, the new data is ignored. - * The access restriction is the subset of {read, write, execute} - * which are prohibited. The kernel may not provide any data (or - * protection) consistency among pages with different virtual page - * alignments within the same object. The precious value controls - * how the kernel treats the data. If it is FALSE, the kernel treats - * its copy as a temporary and may throw it away if it hasn't been - * changed. If the precious value is TRUE, the kernel treats its - * copy as a data repository and promises to return it to the manager; - * the manager may tell the kernel to throw it away instead by flushing - * and not cleaning the data -- see memory_object_lock_request. The - * reply_to port is for a compeletion message; it will be - * memory_object_supply_completed.] - */ - -simpleroutine memory_object_data_supply( - memory_control : memory_object_control_t; - offset : vm_offset_t; - data : pointer_t, Dealloc[]; - lock_value : vm_prot_t; - precious : boolean_t; - reply_to : mach_port_t = - MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); - -simpleroutine memory_object_ready( - memory_control : memory_object_control_t; - may_cache : boolean_t; - copy_strategy : memory_object_copy_strategy_t); - -simpleroutine memory_object_change_attributes( - memory_control : memory_object_control_t; - may_cache : boolean_t; - copy_strategy : memory_object_copy_strategy_t; - reply_to : mach_port_t = - MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); - -skip; /* old host_callout_statistics_reset */ -skip; /* old port_set_select */ -skip; /* old port_set_backup */ - -/* - * Set/Get special properties of memory associated - * to some virtual address range, such as cachability, - * migrability, replicability. Machine-dependent. - */ -routine vm_machine_attribute( - target_task : vm_task_t; - address : vm_address_t; - size : vm_size_t; - attribute : vm_machine_attribute_t; - inout value : vm_machine_attribute_val_t); - -skip; /* old host_fpa_counters_reset */ - -/* - * This routine is created for allocating DMA buffers. - * We are going to get a contiguous physical memory - * and its physical address in addition to the virtual address. - */ -routine vm_allocate_contiguous( - host_priv : host_priv_t; - target_task : vm_task_t; - out vaddr : vm_address_t; - out paddr : vm_address_t; - size : vm_size_t); - -/* - * There is no more room in this interface for additional calls. - */ -- cgit v1.2.3 From f21688932acd7d6caf669b52161b4c2af865d584 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 19 Feb 2012 05:16:04 +0000 Subject: cleanup --- boot-proxy-exc/bootstrap.defs | 1 - boot-proxy-exc/device.defs | 1 - boot-proxy-exc/device_reply.defs | 1 - boot-proxy-exc/exc.defs | 1 - boot-proxy-exc/notify.defs | 1 - boot-proxy-exc/ourdevice.defs | 383 - devnode/device.defs | 1 - devnode/notify.defs | 1 - devnode/ourdevice.defs | 383 - eth-filter.multi-thread/device.defs | 1 - eth-filter.multi-thread/device_reply.defs | 1 - eth-filter.multi-thread/notify.defs | 1 - eth-filter.multi-thread/ourdevice.defs | 383 - eth-filter/device.defs | 1 - eth-filter/notify.defs | 1 - eth-filter/ourdevice.defs | 383 - eth-multiplexer/device.defs | 1 - eth-multiplexer/notify.defs | 1 - eth-multiplexer/ourdevice.defs | 383 - libmachdev/device_reply.defs | 1 - libmachdev/notify.defs | 1 - netfs-sample/cscope.out | 33870 ------------------------ proc_proxy/ourdevice.defs | 383 - unionfs/cscope.out | 39484 ---------------------------- 24 files changed, 75668 deletions(-) delete mode 100644 boot-proxy-exc/bootstrap.defs delete mode 100644 boot-proxy-exc/device.defs delete mode 100644 boot-proxy-exc/device_reply.defs delete mode 100644 boot-proxy-exc/exc.defs delete mode 100644 boot-proxy-exc/notify.defs delete mode 100644 boot-proxy-exc/ourdevice.defs delete mode 100644 devnode/device.defs delete mode 100644 devnode/notify.defs delete mode 100644 devnode/ourdevice.defs delete mode 100644 eth-filter.multi-thread/device.defs delete mode 100644 eth-filter.multi-thread/device_reply.defs delete mode 100644 eth-filter.multi-thread/notify.defs delete mode 100644 eth-filter.multi-thread/ourdevice.defs delete mode 100644 eth-filter/device.defs delete mode 100644 eth-filter/notify.defs delete mode 100644 eth-filter/ourdevice.defs delete mode 100644 eth-multiplexer/device.defs delete mode 100644 eth-multiplexer/notify.defs delete mode 100644 eth-multiplexer/ourdevice.defs delete mode 100644 libmachdev/device_reply.defs delete mode 100644 libmachdev/notify.defs delete mode 100644 netfs-sample/cscope.out delete mode 100644 proc_proxy/ourdevice.defs delete mode 100644 unionfs/cscope.out (limited to 'libmachdev') diff --git a/boot-proxy-exc/bootstrap.defs b/boot-proxy-exc/bootstrap.defs deleted file mode 100644 index ad4bac91..00000000 --- a/boot-proxy-exc/bootstrap.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/boot-proxy-exc/device.defs b/boot-proxy-exc/device.defs deleted file mode 100644 index 70472689..00000000 --- a/boot-proxy-exc/device.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/boot-proxy-exc/device_reply.defs b/boot-proxy-exc/device_reply.defs deleted file mode 100644 index 69930311..00000000 --- a/boot-proxy-exc/device_reply.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/boot-proxy-exc/exc.defs b/boot-proxy-exc/exc.defs deleted file mode 100644 index ab864488..00000000 --- a/boot-proxy-exc/exc.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/boot-proxy-exc/notify.defs b/boot-proxy-exc/notify.defs deleted file mode 100644 index 2014be5c..00000000 --- a/boot-proxy-exc/notify.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/boot-proxy-exc/ourdevice.defs b/boot-proxy-exc/ourdevice.defs deleted file mode 100644 index 1b8ac442..00000000 --- a/boot-proxy-exc/ourdevice.defs +++ /dev/null @@ -1,383 +0,0 @@ -# 1 "device.defs" -# 1 "" -# 1 "" -# 1 "device.defs" -# 1 "/usr/local/include/device/device.defs" 1 3 -# 39 "/usr/local/include/device/device.defs" 3 -subsystem - - - - device 2800; - -# 1 "/usr/local/include/mach/std_types.defs" 1 3 -# 33 "/usr/local/include/mach/std_types.defs" 3 -type char = MACH_MSG_TYPE_CHAR; -type short = MACH_MSG_TYPE_INTEGER_16; -type int = MACH_MSG_TYPE_INTEGER_32; -type int32 = MACH_MSG_TYPE_INTEGER_32; -type int64 = MACH_MSG_TYPE_INTEGER_64; -type boolean_t = MACH_MSG_TYPE_BOOLEAN; -type unsigned = MACH_MSG_TYPE_INTEGER_32; -type unsigned32 = MACH_MSG_TYPE_INTEGER_32; -type unsigned64 = MACH_MSG_TYPE_INTEGER_64; - - -# 1 "/usr/local/include/mach/machine/machine_types.defs" 1 3 -# 50 "/usr/local/include/mach/machine/machine_types.defs" 3 -type natural_t = unsigned32; -# 59 "/usr/local/include/mach/machine/machine_types.defs" 3 -type integer_t = int32; -# 45 "/usr/local/include/mach/std_types.defs" 2 3 - -type kern_return_t = int; - -type pointer_t = ^array[] of MACH_MSG_TYPE_BYTE - ctype: vm_offset_t; - - -type mach_port_t = MACH_MSG_TYPE_COPY_SEND; -type mach_port_array_t = array[] of mach_port_t; - -type mach_port_name_t = MACH_MSG_TYPE_PORT_NAME - ctype: mach_port_t; -type mach_port_name_array_t = array[] of mach_port_name_t - ctype: mach_port_array_t; - -type mach_port_right_t = natural_t; - -type mach_port_type_t = natural_t; -type mach_port_type_array_t = array[] of mach_port_type_t; - -type mach_port_urefs_t = natural_t; -type mach_port_delta_t = integer_t; -type mach_port_seqno_t = natural_t; -type mach_port_mscount_t = unsigned; -type mach_port_msgcount_t = unsigned; -type mach_port_rights_t = unsigned; -type mach_msg_id_t = integer_t; -type mach_msg_type_name_t = unsigned; -type mach_msg_type_number_t = natural_t; - -type mach_port_move_receive_t = MACH_MSG_TYPE_MOVE_RECEIVE - ctype: mach_port_t; -type mach_port_copy_send_t = MACH_MSG_TYPE_COPY_SEND - ctype: mach_port_t; -type mach_port_make_send_t = MACH_MSG_TYPE_MAKE_SEND - ctype: mach_port_t; -type mach_port_move_send_t = MACH_MSG_TYPE_MOVE_SEND - ctype: mach_port_t; -type mach_port_make_send_once_t = MACH_MSG_TYPE_MAKE_SEND_ONCE - ctype: mach_port_t; -type mach_port_move_send_once_t = MACH_MSG_TYPE_MOVE_SEND_ONCE - ctype: mach_port_t; - -type mach_port_receive_t = MACH_MSG_TYPE_PORT_RECEIVE - ctype: mach_port_t; -type mach_port_send_t = MACH_MSG_TYPE_PORT_SEND - ctype: mach_port_t; -type mach_port_send_once_t = MACH_MSG_TYPE_PORT_SEND_ONCE - ctype: mach_port_t; - -type mach_port_poly_t = polymorphic - ctype: mach_port_t; - -import ; -# 46 "/usr/local/include/device/device.defs" 2 3 -# 1 "/usr/local/include/mach/mach_types.defs" 1 3 -# 61 "/usr/local/include/mach/mach_types.defs" 3 -type mach_port_status_t = struct[9] of integer_t; - -type old_mach_port_status_t = struct[8] of integer_t; - -type task_t = mach_port_t - ctype: mach_port_t - - - - - - ; -# 85 "/usr/local/include/mach/mach_types.defs" 3 -type thread_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type thread_state_t = array[*:1024] of natural_t; - -type task_array_t = ^array[] of task_t; -type thread_array_t = ^array[] of thread_t; - -type vm_task_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type ipc_space_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type vm_address_t = natural_t; -type vm_offset_t = natural_t; -type vm_size_t = natural_t; -type vm_prot_t = int; -type vm_inherit_t = int; -type vm_statistics_data_t = struct[13] of integer_t; -type vm_machine_attribute_t = int; -type vm_machine_attribute_val_t = int; - -type thread_info_t = array[*:1024] of natural_t; -type thread_basic_info_data_t = struct[11] of integer_t; -type thread_sched_info_data_t = struct[7] of integer_t; - -type task_info_t = array[*:1024] of natural_t; -type task_basic_info_data_t = struct[8] of integer_t; -type task_events_info = struct[7] of natural_t; -type task_thread_times_info_data_t = struct[4] of integer_t; - - -type memory_object_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_control_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_name_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type memory_object_copy_strategy_t = int; -type memory_object_return_t = int; - -type machine_info_data_t = struct[5] of integer_t; -type machine_slot_data_t = struct[8] of integer_t; - -type host_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type host_priv_t = mach_port_t - ctype: mach_port_t - - - - ; - -type host_info_t = array[*:1024] of natural_t; -type host_basic_info_data_t = struct[5] of integer_t; -type host_sched_info_data_t = struct[2] of integer_t; -type host_load_info_data_t = struct[6] of integer_t; - - -type processor_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type processor_array_t = ^array[] of processor_t; -type processor_info_t = array[*:1024] of natural_t; -type processor_basic_info_data_t = struct[5] of integer_t; - - -type processor_set_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_array_t = ^array[] of processor_set_t; - -type processor_set_name_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_name_array_t = ^array[] of processor_set_name_t; - -type processor_set_info_t = array[*:1024] of natural_t; -type processor_set_basic_info_data_t = struct[5] of integer_t; -type processor_set_sched_info_data_t = struct[2] of integer_t; - - -type kernel_version_t = (MACH_MSG_TYPE_STRING, 512*8); - -type kernel_boot_info_t = (MACH_MSG_TYPE_STRING, 4096*8); - -type time_value_t = struct[2] of integer_t; - -type emulation_vector_t = ^array[] of vm_offset_t; - -type xxx_emulation_vector_t = array[*:1024] of vm_offset_t - ctype: emulation_vector_t; - - -type rpc_signature_info_t = array[*:1024] of int; -# 250 "/usr/local/include/mach/mach_types.defs" 3 -import ; -# 47 "/usr/local/include/device/device.defs" 2 3 -# 1 "/usr/local/include/device/device_types.defs" 1 3 -# 42 "/usr/local/include/device/device_types.defs" 3 -type recnum_t = unsigned32; -type dev_mode_t = unsigned32; -type dev_flavor_t = unsigned32; -type dev_name_t = (MACH_MSG_TYPE_STRING_C, 8*128); -type dev_status_t = array[*:1024] of int; -type io_buf_ptr_t = ^array[] of MACH_MSG_TYPE_INTEGER_8; -type io_buf_ptr_inband_t= array[*:128] of char; -type filter_t = short; -type filter_array_t = array[*:128] of filter_t; - -type device_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -import ; -import ; -# 48 "/usr/local/include/device/device.defs" 2 3 - -serverprefix ds_; - -type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic - ctype: mach_port_t; - -routine device_open( - master_port : mach_port_t; - sreplyport reply_port : reply_port_t; - mode : dev_mode_t; - name : dev_name_t; - out device : mach_port_send_t - ); - -routine device_close( - device : device_t - ); - -routine device_write( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_t; - out bytes_written : int - ); - -routine device_write_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_inband_t; - out bytes_written : int - ); - -routine device_read( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_t - ); - -routine device_read_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_inband_t - ); - - -routine xxx_device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t, IsLong - ); - - -routine xxx_device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, IsLong - ); - - -routine xxx_device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t, IsLong - ); - -routine device_map( - device : device_t; - in prot : vm_prot_t; - in offset : vm_offset_t; - in size : vm_size_t; - out pager : memory_object_t; - in unmap : int - ); - -routine device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t - ); - -routine device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, CountInOut - ); - -routine device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t - ); -# 1 "device.defs" 2 diff --git a/devnode/device.defs b/devnode/device.defs deleted file mode 100644 index 70472689..00000000 --- a/devnode/device.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/devnode/notify.defs b/devnode/notify.defs deleted file mode 100644 index 2014be5c..00000000 --- a/devnode/notify.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/devnode/ourdevice.defs b/devnode/ourdevice.defs deleted file mode 100644 index 1b8ac442..00000000 --- a/devnode/ourdevice.defs +++ /dev/null @@ -1,383 +0,0 @@ -# 1 "device.defs" -# 1 "" -# 1 "" -# 1 "device.defs" -# 1 "/usr/local/include/device/device.defs" 1 3 -# 39 "/usr/local/include/device/device.defs" 3 -subsystem - - - - device 2800; - -# 1 "/usr/local/include/mach/std_types.defs" 1 3 -# 33 "/usr/local/include/mach/std_types.defs" 3 -type char = MACH_MSG_TYPE_CHAR; -type short = MACH_MSG_TYPE_INTEGER_16; -type int = MACH_MSG_TYPE_INTEGER_32; -type int32 = MACH_MSG_TYPE_INTEGER_32; -type int64 = MACH_MSG_TYPE_INTEGER_64; -type boolean_t = MACH_MSG_TYPE_BOOLEAN; -type unsigned = MACH_MSG_TYPE_INTEGER_32; -type unsigned32 = MACH_MSG_TYPE_INTEGER_32; -type unsigned64 = MACH_MSG_TYPE_INTEGER_64; - - -# 1 "/usr/local/include/mach/machine/machine_types.defs" 1 3 -# 50 "/usr/local/include/mach/machine/machine_types.defs" 3 -type natural_t = unsigned32; -# 59 "/usr/local/include/mach/machine/machine_types.defs" 3 -type integer_t = int32; -# 45 "/usr/local/include/mach/std_types.defs" 2 3 - -type kern_return_t = int; - -type pointer_t = ^array[] of MACH_MSG_TYPE_BYTE - ctype: vm_offset_t; - - -type mach_port_t = MACH_MSG_TYPE_COPY_SEND; -type mach_port_array_t = array[] of mach_port_t; - -type mach_port_name_t = MACH_MSG_TYPE_PORT_NAME - ctype: mach_port_t; -type mach_port_name_array_t = array[] of mach_port_name_t - ctype: mach_port_array_t; - -type mach_port_right_t = natural_t; - -type mach_port_type_t = natural_t; -type mach_port_type_array_t = array[] of mach_port_type_t; - -type mach_port_urefs_t = natural_t; -type mach_port_delta_t = integer_t; -type mach_port_seqno_t = natural_t; -type mach_port_mscount_t = unsigned; -type mach_port_msgcount_t = unsigned; -type mach_port_rights_t = unsigned; -type mach_msg_id_t = integer_t; -type mach_msg_type_name_t = unsigned; -type mach_msg_type_number_t = natural_t; - -type mach_port_move_receive_t = MACH_MSG_TYPE_MOVE_RECEIVE - ctype: mach_port_t; -type mach_port_copy_send_t = MACH_MSG_TYPE_COPY_SEND - ctype: mach_port_t; -type mach_port_make_send_t = MACH_MSG_TYPE_MAKE_SEND - ctype: mach_port_t; -type mach_port_move_send_t = MACH_MSG_TYPE_MOVE_SEND - ctype: mach_port_t; -type mach_port_make_send_once_t = MACH_MSG_TYPE_MAKE_SEND_ONCE - ctype: mach_port_t; -type mach_port_move_send_once_t = MACH_MSG_TYPE_MOVE_SEND_ONCE - ctype: mach_port_t; - -type mach_port_receive_t = MACH_MSG_TYPE_PORT_RECEIVE - ctype: mach_port_t; -type mach_port_send_t = MACH_MSG_TYPE_PORT_SEND - ctype: mach_port_t; -type mach_port_send_once_t = MACH_MSG_TYPE_PORT_SEND_ONCE - ctype: mach_port_t; - -type mach_port_poly_t = polymorphic - ctype: mach_port_t; - -import ; -# 46 "/usr/local/include/device/device.defs" 2 3 -# 1 "/usr/local/include/mach/mach_types.defs" 1 3 -# 61 "/usr/local/include/mach/mach_types.defs" 3 -type mach_port_status_t = struct[9] of integer_t; - -type old_mach_port_status_t = struct[8] of integer_t; - -type task_t = mach_port_t - ctype: mach_port_t - - - - - - ; -# 85 "/usr/local/include/mach/mach_types.defs" 3 -type thread_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type thread_state_t = array[*:1024] of natural_t; - -type task_array_t = ^array[] of task_t; -type thread_array_t = ^array[] of thread_t; - -type vm_task_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type ipc_space_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type vm_address_t = natural_t; -type vm_offset_t = natural_t; -type vm_size_t = natural_t; -type vm_prot_t = int; -type vm_inherit_t = int; -type vm_statistics_data_t = struct[13] of integer_t; -type vm_machine_attribute_t = int; -type vm_machine_attribute_val_t = int; - -type thread_info_t = array[*:1024] of natural_t; -type thread_basic_info_data_t = struct[11] of integer_t; -type thread_sched_info_data_t = struct[7] of integer_t; - -type task_info_t = array[*:1024] of natural_t; -type task_basic_info_data_t = struct[8] of integer_t; -type task_events_info = struct[7] of natural_t; -type task_thread_times_info_data_t = struct[4] of integer_t; - - -type memory_object_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_control_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_name_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type memory_object_copy_strategy_t = int; -type memory_object_return_t = int; - -type machine_info_data_t = struct[5] of integer_t; -type machine_slot_data_t = struct[8] of integer_t; - -type host_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type host_priv_t = mach_port_t - ctype: mach_port_t - - - - ; - -type host_info_t = array[*:1024] of natural_t; -type host_basic_info_data_t = struct[5] of integer_t; -type host_sched_info_data_t = struct[2] of integer_t; -type host_load_info_data_t = struct[6] of integer_t; - - -type processor_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type processor_array_t = ^array[] of processor_t; -type processor_info_t = array[*:1024] of natural_t; -type processor_basic_info_data_t = struct[5] of integer_t; - - -type processor_set_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_array_t = ^array[] of processor_set_t; - -type processor_set_name_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_name_array_t = ^array[] of processor_set_name_t; - -type processor_set_info_t = array[*:1024] of natural_t; -type processor_set_basic_info_data_t = struct[5] of integer_t; -type processor_set_sched_info_data_t = struct[2] of integer_t; - - -type kernel_version_t = (MACH_MSG_TYPE_STRING, 512*8); - -type kernel_boot_info_t = (MACH_MSG_TYPE_STRING, 4096*8); - -type time_value_t = struct[2] of integer_t; - -type emulation_vector_t = ^array[] of vm_offset_t; - -type xxx_emulation_vector_t = array[*:1024] of vm_offset_t - ctype: emulation_vector_t; - - -type rpc_signature_info_t = array[*:1024] of int; -# 250 "/usr/local/include/mach/mach_types.defs" 3 -import ; -# 47 "/usr/local/include/device/device.defs" 2 3 -# 1 "/usr/local/include/device/device_types.defs" 1 3 -# 42 "/usr/local/include/device/device_types.defs" 3 -type recnum_t = unsigned32; -type dev_mode_t = unsigned32; -type dev_flavor_t = unsigned32; -type dev_name_t = (MACH_MSG_TYPE_STRING_C, 8*128); -type dev_status_t = array[*:1024] of int; -type io_buf_ptr_t = ^array[] of MACH_MSG_TYPE_INTEGER_8; -type io_buf_ptr_inband_t= array[*:128] of char; -type filter_t = short; -type filter_array_t = array[*:128] of filter_t; - -type device_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -import ; -import ; -# 48 "/usr/local/include/device/device.defs" 2 3 - -serverprefix ds_; - -type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic - ctype: mach_port_t; - -routine device_open( - master_port : mach_port_t; - sreplyport reply_port : reply_port_t; - mode : dev_mode_t; - name : dev_name_t; - out device : mach_port_send_t - ); - -routine device_close( - device : device_t - ); - -routine device_write( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_t; - out bytes_written : int - ); - -routine device_write_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_inband_t; - out bytes_written : int - ); - -routine device_read( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_t - ); - -routine device_read_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_inband_t - ); - - -routine xxx_device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t, IsLong - ); - - -routine xxx_device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, IsLong - ); - - -routine xxx_device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t, IsLong - ); - -routine device_map( - device : device_t; - in prot : vm_prot_t; - in offset : vm_offset_t; - in size : vm_size_t; - out pager : memory_object_t; - in unmap : int - ); - -routine device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t - ); - -routine device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, CountInOut - ); - -routine device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t - ); -# 1 "device.defs" 2 diff --git a/eth-filter.multi-thread/device.defs b/eth-filter.multi-thread/device.defs deleted file mode 100644 index 70472689..00000000 --- a/eth-filter.multi-thread/device.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/eth-filter.multi-thread/device_reply.defs b/eth-filter.multi-thread/device_reply.defs deleted file mode 100644 index 69930311..00000000 --- a/eth-filter.multi-thread/device_reply.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/eth-filter.multi-thread/notify.defs b/eth-filter.multi-thread/notify.defs deleted file mode 100644 index 2014be5c..00000000 --- a/eth-filter.multi-thread/notify.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/eth-filter.multi-thread/ourdevice.defs b/eth-filter.multi-thread/ourdevice.defs deleted file mode 100644 index 1b8ac442..00000000 --- a/eth-filter.multi-thread/ourdevice.defs +++ /dev/null @@ -1,383 +0,0 @@ -# 1 "device.defs" -# 1 "" -# 1 "" -# 1 "device.defs" -# 1 "/usr/local/include/device/device.defs" 1 3 -# 39 "/usr/local/include/device/device.defs" 3 -subsystem - - - - device 2800; - -# 1 "/usr/local/include/mach/std_types.defs" 1 3 -# 33 "/usr/local/include/mach/std_types.defs" 3 -type char = MACH_MSG_TYPE_CHAR; -type short = MACH_MSG_TYPE_INTEGER_16; -type int = MACH_MSG_TYPE_INTEGER_32; -type int32 = MACH_MSG_TYPE_INTEGER_32; -type int64 = MACH_MSG_TYPE_INTEGER_64; -type boolean_t = MACH_MSG_TYPE_BOOLEAN; -type unsigned = MACH_MSG_TYPE_INTEGER_32; -type unsigned32 = MACH_MSG_TYPE_INTEGER_32; -type unsigned64 = MACH_MSG_TYPE_INTEGER_64; - - -# 1 "/usr/local/include/mach/machine/machine_types.defs" 1 3 -# 50 "/usr/local/include/mach/machine/machine_types.defs" 3 -type natural_t = unsigned32; -# 59 "/usr/local/include/mach/machine/machine_types.defs" 3 -type integer_t = int32; -# 45 "/usr/local/include/mach/std_types.defs" 2 3 - -type kern_return_t = int; - -type pointer_t = ^array[] of MACH_MSG_TYPE_BYTE - ctype: vm_offset_t; - - -type mach_port_t = MACH_MSG_TYPE_COPY_SEND; -type mach_port_array_t = array[] of mach_port_t; - -type mach_port_name_t = MACH_MSG_TYPE_PORT_NAME - ctype: mach_port_t; -type mach_port_name_array_t = array[] of mach_port_name_t - ctype: mach_port_array_t; - -type mach_port_right_t = natural_t; - -type mach_port_type_t = natural_t; -type mach_port_type_array_t = array[] of mach_port_type_t; - -type mach_port_urefs_t = natural_t; -type mach_port_delta_t = integer_t; -type mach_port_seqno_t = natural_t; -type mach_port_mscount_t = unsigned; -type mach_port_msgcount_t = unsigned; -type mach_port_rights_t = unsigned; -type mach_msg_id_t = integer_t; -type mach_msg_type_name_t = unsigned; -type mach_msg_type_number_t = natural_t; - -type mach_port_move_receive_t = MACH_MSG_TYPE_MOVE_RECEIVE - ctype: mach_port_t; -type mach_port_copy_send_t = MACH_MSG_TYPE_COPY_SEND - ctype: mach_port_t; -type mach_port_make_send_t = MACH_MSG_TYPE_MAKE_SEND - ctype: mach_port_t; -type mach_port_move_send_t = MACH_MSG_TYPE_MOVE_SEND - ctype: mach_port_t; -type mach_port_make_send_once_t = MACH_MSG_TYPE_MAKE_SEND_ONCE - ctype: mach_port_t; -type mach_port_move_send_once_t = MACH_MSG_TYPE_MOVE_SEND_ONCE - ctype: mach_port_t; - -type mach_port_receive_t = MACH_MSG_TYPE_PORT_RECEIVE - ctype: mach_port_t; -type mach_port_send_t = MACH_MSG_TYPE_PORT_SEND - ctype: mach_port_t; -type mach_port_send_once_t = MACH_MSG_TYPE_PORT_SEND_ONCE - ctype: mach_port_t; - -type mach_port_poly_t = polymorphic - ctype: mach_port_t; - -import ; -# 46 "/usr/local/include/device/device.defs" 2 3 -# 1 "/usr/local/include/mach/mach_types.defs" 1 3 -# 61 "/usr/local/include/mach/mach_types.defs" 3 -type mach_port_status_t = struct[9] of integer_t; - -type old_mach_port_status_t = struct[8] of integer_t; - -type task_t = mach_port_t - ctype: mach_port_t - - - - - - ; -# 85 "/usr/local/include/mach/mach_types.defs" 3 -type thread_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type thread_state_t = array[*:1024] of natural_t; - -type task_array_t = ^array[] of task_t; -type thread_array_t = ^array[] of thread_t; - -type vm_task_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type ipc_space_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type vm_address_t = natural_t; -type vm_offset_t = natural_t; -type vm_size_t = natural_t; -type vm_prot_t = int; -type vm_inherit_t = int; -type vm_statistics_data_t = struct[13] of integer_t; -type vm_machine_attribute_t = int; -type vm_machine_attribute_val_t = int; - -type thread_info_t = array[*:1024] of natural_t; -type thread_basic_info_data_t = struct[11] of integer_t; -type thread_sched_info_data_t = struct[7] of integer_t; - -type task_info_t = array[*:1024] of natural_t; -type task_basic_info_data_t = struct[8] of integer_t; -type task_events_info = struct[7] of natural_t; -type task_thread_times_info_data_t = struct[4] of integer_t; - - -type memory_object_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_control_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_name_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type memory_object_copy_strategy_t = int; -type memory_object_return_t = int; - -type machine_info_data_t = struct[5] of integer_t; -type machine_slot_data_t = struct[8] of integer_t; - -type host_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type host_priv_t = mach_port_t - ctype: mach_port_t - - - - ; - -type host_info_t = array[*:1024] of natural_t; -type host_basic_info_data_t = struct[5] of integer_t; -type host_sched_info_data_t = struct[2] of integer_t; -type host_load_info_data_t = struct[6] of integer_t; - - -type processor_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type processor_array_t = ^array[] of processor_t; -type processor_info_t = array[*:1024] of natural_t; -type processor_basic_info_data_t = struct[5] of integer_t; - - -type processor_set_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_array_t = ^array[] of processor_set_t; - -type processor_set_name_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_name_array_t = ^array[] of processor_set_name_t; - -type processor_set_info_t = array[*:1024] of natural_t; -type processor_set_basic_info_data_t = struct[5] of integer_t; -type processor_set_sched_info_data_t = struct[2] of integer_t; - - -type kernel_version_t = (MACH_MSG_TYPE_STRING, 512*8); - -type kernel_boot_info_t = (MACH_MSG_TYPE_STRING, 4096*8); - -type time_value_t = struct[2] of integer_t; - -type emulation_vector_t = ^array[] of vm_offset_t; - -type xxx_emulation_vector_t = array[*:1024] of vm_offset_t - ctype: emulation_vector_t; - - -type rpc_signature_info_t = array[*:1024] of int; -# 250 "/usr/local/include/mach/mach_types.defs" 3 -import ; -# 47 "/usr/local/include/device/device.defs" 2 3 -# 1 "/usr/local/include/device/device_types.defs" 1 3 -# 42 "/usr/local/include/device/device_types.defs" 3 -type recnum_t = unsigned32; -type dev_mode_t = unsigned32; -type dev_flavor_t = unsigned32; -type dev_name_t = (MACH_MSG_TYPE_STRING_C, 8*128); -type dev_status_t = array[*:1024] of int; -type io_buf_ptr_t = ^array[] of MACH_MSG_TYPE_INTEGER_8; -type io_buf_ptr_inband_t= array[*:128] of char; -type filter_t = short; -type filter_array_t = array[*:128] of filter_t; - -type device_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -import ; -import ; -# 48 "/usr/local/include/device/device.defs" 2 3 - -serverprefix ds_; - -type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic - ctype: mach_port_t; - -routine device_open( - master_port : mach_port_t; - sreplyport reply_port : reply_port_t; - mode : dev_mode_t; - name : dev_name_t; - out device : mach_port_send_t - ); - -routine device_close( - device : device_t - ); - -routine device_write( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_t; - out bytes_written : int - ); - -routine device_write_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_inband_t; - out bytes_written : int - ); - -routine device_read( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_t - ); - -routine device_read_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_inband_t - ); - - -routine xxx_device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t, IsLong - ); - - -routine xxx_device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, IsLong - ); - - -routine xxx_device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t, IsLong - ); - -routine device_map( - device : device_t; - in prot : vm_prot_t; - in offset : vm_offset_t; - in size : vm_size_t; - out pager : memory_object_t; - in unmap : int - ); - -routine device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t - ); - -routine device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, CountInOut - ); - -routine device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t - ); -# 1 "device.defs" 2 diff --git a/eth-filter/device.defs b/eth-filter/device.defs deleted file mode 100644 index 70472689..00000000 --- a/eth-filter/device.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/eth-filter/notify.defs b/eth-filter/notify.defs deleted file mode 100644 index 2014be5c..00000000 --- a/eth-filter/notify.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/eth-filter/ourdevice.defs b/eth-filter/ourdevice.defs deleted file mode 100644 index 1b8ac442..00000000 --- a/eth-filter/ourdevice.defs +++ /dev/null @@ -1,383 +0,0 @@ -# 1 "device.defs" -# 1 "" -# 1 "" -# 1 "device.defs" -# 1 "/usr/local/include/device/device.defs" 1 3 -# 39 "/usr/local/include/device/device.defs" 3 -subsystem - - - - device 2800; - -# 1 "/usr/local/include/mach/std_types.defs" 1 3 -# 33 "/usr/local/include/mach/std_types.defs" 3 -type char = MACH_MSG_TYPE_CHAR; -type short = MACH_MSG_TYPE_INTEGER_16; -type int = MACH_MSG_TYPE_INTEGER_32; -type int32 = MACH_MSG_TYPE_INTEGER_32; -type int64 = MACH_MSG_TYPE_INTEGER_64; -type boolean_t = MACH_MSG_TYPE_BOOLEAN; -type unsigned = MACH_MSG_TYPE_INTEGER_32; -type unsigned32 = MACH_MSG_TYPE_INTEGER_32; -type unsigned64 = MACH_MSG_TYPE_INTEGER_64; - - -# 1 "/usr/local/include/mach/machine/machine_types.defs" 1 3 -# 50 "/usr/local/include/mach/machine/machine_types.defs" 3 -type natural_t = unsigned32; -# 59 "/usr/local/include/mach/machine/machine_types.defs" 3 -type integer_t = int32; -# 45 "/usr/local/include/mach/std_types.defs" 2 3 - -type kern_return_t = int; - -type pointer_t = ^array[] of MACH_MSG_TYPE_BYTE - ctype: vm_offset_t; - - -type mach_port_t = MACH_MSG_TYPE_COPY_SEND; -type mach_port_array_t = array[] of mach_port_t; - -type mach_port_name_t = MACH_MSG_TYPE_PORT_NAME - ctype: mach_port_t; -type mach_port_name_array_t = array[] of mach_port_name_t - ctype: mach_port_array_t; - -type mach_port_right_t = natural_t; - -type mach_port_type_t = natural_t; -type mach_port_type_array_t = array[] of mach_port_type_t; - -type mach_port_urefs_t = natural_t; -type mach_port_delta_t = integer_t; -type mach_port_seqno_t = natural_t; -type mach_port_mscount_t = unsigned; -type mach_port_msgcount_t = unsigned; -type mach_port_rights_t = unsigned; -type mach_msg_id_t = integer_t; -type mach_msg_type_name_t = unsigned; -type mach_msg_type_number_t = natural_t; - -type mach_port_move_receive_t = MACH_MSG_TYPE_MOVE_RECEIVE - ctype: mach_port_t; -type mach_port_copy_send_t = MACH_MSG_TYPE_COPY_SEND - ctype: mach_port_t; -type mach_port_make_send_t = MACH_MSG_TYPE_MAKE_SEND - ctype: mach_port_t; -type mach_port_move_send_t = MACH_MSG_TYPE_MOVE_SEND - ctype: mach_port_t; -type mach_port_make_send_once_t = MACH_MSG_TYPE_MAKE_SEND_ONCE - ctype: mach_port_t; -type mach_port_move_send_once_t = MACH_MSG_TYPE_MOVE_SEND_ONCE - ctype: mach_port_t; - -type mach_port_receive_t = MACH_MSG_TYPE_PORT_RECEIVE - ctype: mach_port_t; -type mach_port_send_t = MACH_MSG_TYPE_PORT_SEND - ctype: mach_port_t; -type mach_port_send_once_t = MACH_MSG_TYPE_PORT_SEND_ONCE - ctype: mach_port_t; - -type mach_port_poly_t = polymorphic - ctype: mach_port_t; - -import ; -# 46 "/usr/local/include/device/device.defs" 2 3 -# 1 "/usr/local/include/mach/mach_types.defs" 1 3 -# 61 "/usr/local/include/mach/mach_types.defs" 3 -type mach_port_status_t = struct[9] of integer_t; - -type old_mach_port_status_t = struct[8] of integer_t; - -type task_t = mach_port_t - ctype: mach_port_t - - - - - - ; -# 85 "/usr/local/include/mach/mach_types.defs" 3 -type thread_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type thread_state_t = array[*:1024] of natural_t; - -type task_array_t = ^array[] of task_t; -type thread_array_t = ^array[] of thread_t; - -type vm_task_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type ipc_space_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type vm_address_t = natural_t; -type vm_offset_t = natural_t; -type vm_size_t = natural_t; -type vm_prot_t = int; -type vm_inherit_t = int; -type vm_statistics_data_t = struct[13] of integer_t; -type vm_machine_attribute_t = int; -type vm_machine_attribute_val_t = int; - -type thread_info_t = array[*:1024] of natural_t; -type thread_basic_info_data_t = struct[11] of integer_t; -type thread_sched_info_data_t = struct[7] of integer_t; - -type task_info_t = array[*:1024] of natural_t; -type task_basic_info_data_t = struct[8] of integer_t; -type task_events_info = struct[7] of natural_t; -type task_thread_times_info_data_t = struct[4] of integer_t; - - -type memory_object_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_control_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_name_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type memory_object_copy_strategy_t = int; -type memory_object_return_t = int; - -type machine_info_data_t = struct[5] of integer_t; -type machine_slot_data_t = struct[8] of integer_t; - -type host_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type host_priv_t = mach_port_t - ctype: mach_port_t - - - - ; - -type host_info_t = array[*:1024] of natural_t; -type host_basic_info_data_t = struct[5] of integer_t; -type host_sched_info_data_t = struct[2] of integer_t; -type host_load_info_data_t = struct[6] of integer_t; - - -type processor_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type processor_array_t = ^array[] of processor_t; -type processor_info_t = array[*:1024] of natural_t; -type processor_basic_info_data_t = struct[5] of integer_t; - - -type processor_set_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_array_t = ^array[] of processor_set_t; - -type processor_set_name_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_name_array_t = ^array[] of processor_set_name_t; - -type processor_set_info_t = array[*:1024] of natural_t; -type processor_set_basic_info_data_t = struct[5] of integer_t; -type processor_set_sched_info_data_t = struct[2] of integer_t; - - -type kernel_version_t = (MACH_MSG_TYPE_STRING, 512*8); - -type kernel_boot_info_t = (MACH_MSG_TYPE_STRING, 4096*8); - -type time_value_t = struct[2] of integer_t; - -type emulation_vector_t = ^array[] of vm_offset_t; - -type xxx_emulation_vector_t = array[*:1024] of vm_offset_t - ctype: emulation_vector_t; - - -type rpc_signature_info_t = array[*:1024] of int; -# 250 "/usr/local/include/mach/mach_types.defs" 3 -import ; -# 47 "/usr/local/include/device/device.defs" 2 3 -# 1 "/usr/local/include/device/device_types.defs" 1 3 -# 42 "/usr/local/include/device/device_types.defs" 3 -type recnum_t = unsigned32; -type dev_mode_t = unsigned32; -type dev_flavor_t = unsigned32; -type dev_name_t = (MACH_MSG_TYPE_STRING_C, 8*128); -type dev_status_t = array[*:1024] of int; -type io_buf_ptr_t = ^array[] of MACH_MSG_TYPE_INTEGER_8; -type io_buf_ptr_inband_t= array[*:128] of char; -type filter_t = short; -type filter_array_t = array[*:128] of filter_t; - -type device_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -import ; -import ; -# 48 "/usr/local/include/device/device.defs" 2 3 - -serverprefix ds_; - -type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic - ctype: mach_port_t; - -routine device_open( - master_port : mach_port_t; - sreplyport reply_port : reply_port_t; - mode : dev_mode_t; - name : dev_name_t; - out device : mach_port_send_t - ); - -routine device_close( - device : device_t - ); - -routine device_write( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_t; - out bytes_written : int - ); - -routine device_write_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_inband_t; - out bytes_written : int - ); - -routine device_read( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_t - ); - -routine device_read_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_inband_t - ); - - -routine xxx_device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t, IsLong - ); - - -routine xxx_device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, IsLong - ); - - -routine xxx_device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t, IsLong - ); - -routine device_map( - device : device_t; - in prot : vm_prot_t; - in offset : vm_offset_t; - in size : vm_size_t; - out pager : memory_object_t; - in unmap : int - ); - -routine device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t - ); - -routine device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, CountInOut - ); - -routine device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t - ); -# 1 "device.defs" 2 diff --git a/eth-multiplexer/device.defs b/eth-multiplexer/device.defs deleted file mode 100644 index 70472689..00000000 --- a/eth-multiplexer/device.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/eth-multiplexer/notify.defs b/eth-multiplexer/notify.defs deleted file mode 100644 index 2014be5c..00000000 --- a/eth-multiplexer/notify.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/eth-multiplexer/ourdevice.defs b/eth-multiplexer/ourdevice.defs deleted file mode 100644 index 1b8ac442..00000000 --- a/eth-multiplexer/ourdevice.defs +++ /dev/null @@ -1,383 +0,0 @@ -# 1 "device.defs" -# 1 "" -# 1 "" -# 1 "device.defs" -# 1 "/usr/local/include/device/device.defs" 1 3 -# 39 "/usr/local/include/device/device.defs" 3 -subsystem - - - - device 2800; - -# 1 "/usr/local/include/mach/std_types.defs" 1 3 -# 33 "/usr/local/include/mach/std_types.defs" 3 -type char = MACH_MSG_TYPE_CHAR; -type short = MACH_MSG_TYPE_INTEGER_16; -type int = MACH_MSG_TYPE_INTEGER_32; -type int32 = MACH_MSG_TYPE_INTEGER_32; -type int64 = MACH_MSG_TYPE_INTEGER_64; -type boolean_t = MACH_MSG_TYPE_BOOLEAN; -type unsigned = MACH_MSG_TYPE_INTEGER_32; -type unsigned32 = MACH_MSG_TYPE_INTEGER_32; -type unsigned64 = MACH_MSG_TYPE_INTEGER_64; - - -# 1 "/usr/local/include/mach/machine/machine_types.defs" 1 3 -# 50 "/usr/local/include/mach/machine/machine_types.defs" 3 -type natural_t = unsigned32; -# 59 "/usr/local/include/mach/machine/machine_types.defs" 3 -type integer_t = int32; -# 45 "/usr/local/include/mach/std_types.defs" 2 3 - -type kern_return_t = int; - -type pointer_t = ^array[] of MACH_MSG_TYPE_BYTE - ctype: vm_offset_t; - - -type mach_port_t = MACH_MSG_TYPE_COPY_SEND; -type mach_port_array_t = array[] of mach_port_t; - -type mach_port_name_t = MACH_MSG_TYPE_PORT_NAME - ctype: mach_port_t; -type mach_port_name_array_t = array[] of mach_port_name_t - ctype: mach_port_array_t; - -type mach_port_right_t = natural_t; - -type mach_port_type_t = natural_t; -type mach_port_type_array_t = array[] of mach_port_type_t; - -type mach_port_urefs_t = natural_t; -type mach_port_delta_t = integer_t; -type mach_port_seqno_t = natural_t; -type mach_port_mscount_t = unsigned; -type mach_port_msgcount_t = unsigned; -type mach_port_rights_t = unsigned; -type mach_msg_id_t = integer_t; -type mach_msg_type_name_t = unsigned; -type mach_msg_type_number_t = natural_t; - -type mach_port_move_receive_t = MACH_MSG_TYPE_MOVE_RECEIVE - ctype: mach_port_t; -type mach_port_copy_send_t = MACH_MSG_TYPE_COPY_SEND - ctype: mach_port_t; -type mach_port_make_send_t = MACH_MSG_TYPE_MAKE_SEND - ctype: mach_port_t; -type mach_port_move_send_t = MACH_MSG_TYPE_MOVE_SEND - ctype: mach_port_t; -type mach_port_make_send_once_t = MACH_MSG_TYPE_MAKE_SEND_ONCE - ctype: mach_port_t; -type mach_port_move_send_once_t = MACH_MSG_TYPE_MOVE_SEND_ONCE - ctype: mach_port_t; - -type mach_port_receive_t = MACH_MSG_TYPE_PORT_RECEIVE - ctype: mach_port_t; -type mach_port_send_t = MACH_MSG_TYPE_PORT_SEND - ctype: mach_port_t; -type mach_port_send_once_t = MACH_MSG_TYPE_PORT_SEND_ONCE - ctype: mach_port_t; - -type mach_port_poly_t = polymorphic - ctype: mach_port_t; - -import ; -# 46 "/usr/local/include/device/device.defs" 2 3 -# 1 "/usr/local/include/mach/mach_types.defs" 1 3 -# 61 "/usr/local/include/mach/mach_types.defs" 3 -type mach_port_status_t = struct[9] of integer_t; - -type old_mach_port_status_t = struct[8] of integer_t; - -type task_t = mach_port_t - ctype: mach_port_t - - - - - - ; -# 85 "/usr/local/include/mach/mach_types.defs" 3 -type thread_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type thread_state_t = array[*:1024] of natural_t; - -type task_array_t = ^array[] of task_t; -type thread_array_t = ^array[] of thread_t; - -type vm_task_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type ipc_space_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type vm_address_t = natural_t; -type vm_offset_t = natural_t; -type vm_size_t = natural_t; -type vm_prot_t = int; -type vm_inherit_t = int; -type vm_statistics_data_t = struct[13] of integer_t; -type vm_machine_attribute_t = int; -type vm_machine_attribute_val_t = int; - -type thread_info_t = array[*:1024] of natural_t; -type thread_basic_info_data_t = struct[11] of integer_t; -type thread_sched_info_data_t = struct[7] of integer_t; - -type task_info_t = array[*:1024] of natural_t; -type task_basic_info_data_t = struct[8] of integer_t; -type task_events_info = struct[7] of natural_t; -type task_thread_times_info_data_t = struct[4] of integer_t; - - -type memory_object_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_control_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_name_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type memory_object_copy_strategy_t = int; -type memory_object_return_t = int; - -type machine_info_data_t = struct[5] of integer_t; -type machine_slot_data_t = struct[8] of integer_t; - -type host_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type host_priv_t = mach_port_t - ctype: mach_port_t - - - - ; - -type host_info_t = array[*:1024] of natural_t; -type host_basic_info_data_t = struct[5] of integer_t; -type host_sched_info_data_t = struct[2] of integer_t; -type host_load_info_data_t = struct[6] of integer_t; - - -type processor_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type processor_array_t = ^array[] of processor_t; -type processor_info_t = array[*:1024] of natural_t; -type processor_basic_info_data_t = struct[5] of integer_t; - - -type processor_set_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_array_t = ^array[] of processor_set_t; - -type processor_set_name_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_name_array_t = ^array[] of processor_set_name_t; - -type processor_set_info_t = array[*:1024] of natural_t; -type processor_set_basic_info_data_t = struct[5] of integer_t; -type processor_set_sched_info_data_t = struct[2] of integer_t; - - -type kernel_version_t = (MACH_MSG_TYPE_STRING, 512*8); - -type kernel_boot_info_t = (MACH_MSG_TYPE_STRING, 4096*8); - -type time_value_t = struct[2] of integer_t; - -type emulation_vector_t = ^array[] of vm_offset_t; - -type xxx_emulation_vector_t = array[*:1024] of vm_offset_t - ctype: emulation_vector_t; - - -type rpc_signature_info_t = array[*:1024] of int; -# 250 "/usr/local/include/mach/mach_types.defs" 3 -import ; -# 47 "/usr/local/include/device/device.defs" 2 3 -# 1 "/usr/local/include/device/device_types.defs" 1 3 -# 42 "/usr/local/include/device/device_types.defs" 3 -type recnum_t = unsigned32; -type dev_mode_t = unsigned32; -type dev_flavor_t = unsigned32; -type dev_name_t = (MACH_MSG_TYPE_STRING_C, 8*128); -type dev_status_t = array[*:1024] of int; -type io_buf_ptr_t = ^array[] of MACH_MSG_TYPE_INTEGER_8; -type io_buf_ptr_inband_t= array[*:128] of char; -type filter_t = short; -type filter_array_t = array[*:128] of filter_t; - -type device_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -import ; -import ; -# 48 "/usr/local/include/device/device.defs" 2 3 - -serverprefix ds_; - -type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic - ctype: mach_port_t; - -routine device_open( - master_port : mach_port_t; - sreplyport reply_port : reply_port_t; - mode : dev_mode_t; - name : dev_name_t; - out device : mach_port_send_t - ); - -routine device_close( - device : device_t - ); - -routine device_write( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_t; - out bytes_written : int - ); - -routine device_write_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_inband_t; - out bytes_written : int - ); - -routine device_read( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_t - ); - -routine device_read_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_inband_t - ); - - -routine xxx_device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t, IsLong - ); - - -routine xxx_device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, IsLong - ); - - -routine xxx_device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t, IsLong - ); - -routine device_map( - device : device_t; - in prot : vm_prot_t; - in offset : vm_offset_t; - in size : vm_size_t; - out pager : memory_object_t; - in unmap : int - ); - -routine device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t - ); - -routine device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, CountInOut - ); - -routine device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t - ); -# 1 "device.defs" 2 diff --git a/libmachdev/device_reply.defs b/libmachdev/device_reply.defs deleted file mode 100644 index 69930311..00000000 --- a/libmachdev/device_reply.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/libmachdev/notify.defs b/libmachdev/notify.defs deleted file mode 100644 index 2014be5c..00000000 --- a/libmachdev/notify.defs +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/netfs-sample/cscope.out b/netfs-sample/cscope.out deleted file mode 100644 index 0dc6229b..00000000 --- a/netfs-sample/cscope.out +++ /dev/null @@ -1,33870 +0,0 @@ -cscope 15 $HOME/Desktop/netfs-sample 0000194972 - @debug.h - -26 #iâdeŕ -__DEBUG_H__ - - -27  - #__DEBUG_H__ - - - ) - -30  - ~<ˇdio.h -> - -36  - #DEBUG_OUTPUT - "/v¬/tmp/fž‹rfs.dbg" - - ) - -38 #ifdeŕ -DEBUG - - -40  - #INIT_LOG -(č -fž‹rfs_dbg - = - `fÝ’ -( -DEBUG_OUTPUT -, "wt") - - ) - -42  - #CLOSE_LOG -(č - `fţoŁ -( -fž‹rfs_dbg -) - - ) - -44  - #LOG_MSG -( -fmt -, -¬gs -...č{ - `ĺrštf -( -fž‹rfs_dbg -, fmt"\n", ##args);\ - -45 - `fćush -( -fž‹rfs_dbg -);} - - ) - -48  - #INIT_LOG -() - - ) - -49  - #CLOSE_LOG -() - - ) - -50  - #LOG_MSG -( -fmt -, -¬gs -...) - - ) - -57 -FILE - * -fž‹rfs_dbg -; - - @filterfs.c - -28  - #_GNU_SOURCE - 1 - - ) - -30  - ~"fž‹rfs.h -" - -32  - ~<”rÜ.h -> - -33  - ~<¬gp.h -> - -34  - ~<¬gz.h -> - -35  - ~ - -36  - ~ - -38  - ~"debug.h -" - -39  - ~"ÝtiÚs.h -" - -40  - ~"n˙che.h -" - -46  - #OPENONLY_STATE_MODES - ( -O_CREAT - | -O_EXCL - | -O_NOLINK - | -O_NOTRANS - \ - -47 | -O_NONBLOCK -) - - ) - -53 * - gĂtfs_Łrv”_Çme - = "filterfs"; - -56 * - gĂtfs_Łrv”_v”siÚ - = "0.0"; - -59  - gĂtfs_maxsymlšks - = 12; - -62 -mach_pÜt_t - - gund”lyšg_node -; - -65 -io_ˇ©buf_t - - gund”lyšg_node_ˇ© -; - -68 vŢ©ž -m­łd_time_v®ue - * - gm­time -; - -71 -pid_t - - gfsid -; - -74 -FILE - * - gfž‹rfs_dbg -; - -80 -”rÜ_t - - -81 - gĂtfs_©‹m±_ü—‹_fže - - -83  -iouŁr - * - guŁr -, - -84  -node - * - gdś -, - -85 * - gÇme -, - -86 -mode_t - - gmode -, - -87  -node - ** - gnode - - -90 -LOG_MSG -("netfs_attempt_create_file"); - -93 -mu‹x_uĆock -(& -dś --> -lock -); - -94  - gEOPNOTSUPP -; - -99 -”rÜ_t - - -100 - gĂtfs_check_Ý’_łrmissiÚs - - -102  -iouŁr - * - guŁr -, - -103  -node - * - gĹ -, - -104  - gćags -, - -105  - gĂwnode - - -108 -LOG_MSG -("Ătfs_check_Ý’_łrmissiÚs: '%s'", -Ĺ --> - --> -Ęode --> -Çme -); - -110 -”rÜ_t - - g”r - = 0; - -113 if( - gćags - & - gO_READ -) - -114 - g”r - = -fsh–p_acűss -(& -Ĺ --> -Â_ˇ© -, -S_IREAD -, -uŁr -); - -115 if(! - g”r - && ( - gćags - & - gO_WRITE -)) - -116 - g”r - = -fsh–p_acűss -(& -Ĺ --> -Â_ˇ© -, -S_IWRITE -, -uŁr -); - -117 if(! - g”r - && ( - gćags - & - gO_EXEC -)) - -118 - g”r - = -fsh–p_acűss -(& -Ĺ --> -Â_ˇ© -, -S_IEXEC -, -uŁr -); - -121  - g”r -; - -125 -”rÜ_t - - -126 - gĂtfs_©‹m±_utimes - - -128  -iouŁr - * - güed -, - -129  -node - * - gnode -, - -130  -timeĄec - * - g©ime -, - -131  -timeĄec - * - gmtime - - -134 -LOG_MSG -("netfs_attempt_utimes"); - -136 -”rÜ_t - - g”r - = 0; - -139  - gćags - = -TOUCH_CTIME -; - -142 - g”r - = -fsh–p_isowĂr -(& -node --> -Â_ˇ© -, -üed -); - -145 if(! - g”r -) - -148 if( - g©ime -) - -150 - gnode --> - gÂ_ˇ© -. - gˇ_©im - = * -©ime -; - -153 - gćags - |đ -TOUCH_ATIME -; - -156 if( - gmtime -) - -158 - gnode --> - gÂ_ˇ© -. - gˇ_mtim - = * -mtime -; - -161 - gćags - |đ -TOUCH_MTIME -; - -164 -fsh–p_touch -(& -node --> -Â_ˇ© -, -ćags -, -m­time -); - -168  - g”r -; - -172 -”rÜ_t - - -173 - gĂtfs_»pÜt_acűss - - -175  -iouŁr - * - güed -, - -176  -node - * - gĹ -, - -177 * - gtyłs - - -180 -LOG_MSG -("netfs_report_access"); - -183 * - gtyłs - = 0; - -186 if( -fsh–p_acűss -(& -Ĺ --> -Â_ˇ© -, -S_IREAD -, -üed -) == 0) - -187 * -tyłs - |đ -O_READ -; - -188 if( -fsh–p_acűss -(& -Ĺ --> -Â_ˇ© -, -S_IWRITE -, -üed -) == 0) - -189 * -tyłs - |đ -O_WRITE -; - -190 if( -fsh–p_acűss -(& -Ĺ --> -Â_ˇ© -, -S_IEXEC -, -üed -) == 0) - -191 * -tyłs - |đ -O_EXEC -; - -198 -”rÜ_t - - -199 - gĂtfs_v®id©e_ˇ© - - -201  -node - * - gĹ -, - -202  -iouŁr - * - güed - - -205 -LOG_MSG -("Ătfs_v®id©e_ˇ©: '%s'", -Ĺ --> - --> -Ęode --> -Çme -); - -207 -”rÜ_t - - g”r - = 0; - -210 if( - gĹ - !đ -Ătfs_roŮ_node -) - -213 if(!( -Ĺ --> - --> -ćags - & -FLAG_NODE_ULFS_UPTODATE -)) - -216 -”r - = -node_upd©e -( -Ĺ -); - -220 if(! - g”r -) - -223 if( - gĹ --> - g --> - gpÜt - !đ -MACH_PORT_NULL -) - -229 -”r - = -io_ˇ© -( -Ĺ --> - --> -pÜt -, &Ĺ-> -Â_ˇ© -); - -232 if(! - g”r -) - -234 - gĹ --> - gÂ_ŚŞ¦©ed - = -Ĺ --> -Â_ˇ© -. -ˇ_mode -; - -243 -node_t - * - gdĹ -; - -246 - g”r - = -n˙che_node_lookup -( -Ĺ --> - --> -Ęode --> -dś -, & -dĹ -); - -249 -asŁą -(! -”r -); - -252 -mach_pÜt_t - - gp - = -fže_Çme_lookup_und” - - -253 ( -dĹ --> - --> -pÜt -, - gĹ --> - g --> - gĘode --> - gÇme -, 0, 0); - -256 -Ătfs_Ĺut -( -dĹ -); - -258 if(! - gp -) - -259  - gEBADF -; - -262 - g”r - = -io_ˇ© -( -p -, & -Ĺ --> -Â_ˇ© -); - -265 -PORT_DEALLOC -( -p -); - -272 -node_g‘_size -( -Ĺ -, ( -OFFSET_T - *)&Ĺ-> -Â_ˇ© -. -ˇ_size -); - -275  - g”r -; - -279 -”rÜ_t - - -280 - gĂtfs_©‹m±_sync - - -282  -iouŁr - * - güed -, - -283  -node - * - gnode -, - -284  - gwa™ - - -287 -LOG_MSG -("netfs_attempt_sync"); - -290  - gEOPNOTSUPP -; - -294 -”rÜ_t - - -295 - gĂtfs_g‘_dś’ts - - -297  -iouŁr - * - güed -, - -298  -node - * - gdś -, - -299  - gfśˇ_’Śy -, - -300  - gnum_’Ś›s -, - -301 ** - gd©a -, - -302 -mach_msg_tył_numb”_t - * - gd©a_Ën -, - -303 -vm_size_t - - gmax_d©a_Ën -, - -304 * - gd©a_’Ś›s - - -307 -LOG_MSG -("Ătfs_g‘_dś’ts: '%s'", -dś --> - --> -Ęode --> -Çme -); - -309 -”rÜ_t - - g”r -; - -312 -node_dś’t_t - * - gdś’t_ˇ¬t -, * - gdś’t_cuĽ’t -; - -315 -node_dś’t_t - * - gdś’t_liˇ - = -NULL -; - -318 -size_t - - gsize - = 0; - -321  - gcouÁ - = 0; - -324 * - gd©a_p -; - -328 - gbump_size - - -330 cÚˇ * - gÇme - - -334 if(( - gnum_’Ś›s - =đ-1č|| ( -couÁ - < -num_’Ś›s -)) - -337 -size_t - -Ăw_size - = -size - + -DIRENT_LEN -( -ˇľ’ -( -Çme -)); - -340 if(( - gmax_d©a_Ën - > 0č&& ( - gĂw_size - > max_data_len)) - -345 - gsize - = -Ăw_size -; - -348 ++ - gcouÁ -; - -362 - gadd_dś’t - - -364 cÚˇ * - gÇme -, - -365 -šo_t - - gšo -, - -366  - gtył - - -370 if(( - gnum_’Ś›s - =đ-1č|| ( -couÁ - < -num_’Ś›s -)) - -373  -dś’t - -hdr -; - -376 -size_t - - gÇme_Ën - = -ˇľ’ -( -Çme -); - -379 -size_t - - gsz - = -DIRENT_LEN -( -Çme_Ën -); - -382 if( - gsz - > - gsize -) - -387 - gsize - -đ -sz -; - -390 - ghdr -. - gd_šo - = -šo -; - -391 - ghdr -. - gd_»ţ’ - = -sz -; - -392 - ghdr -. - gd_tył - = -tył -; - -393 - ghdr -. - gd_ÇmËn - = -Çme_Ën -; - -400 -memýy -( -d©a_p -, & -hdr -, -DIRENT_NAME_OFFS -); - -403 -ˇrýy -( -d©a_p - + -DIRENT_NAME_OFFS -, -Çme -); - -408 - gd©a_p - +đ -sz -; - -411 ++ - gcouÁ -; - -422 - g”r - = -node_’Ś›s_g‘ -( -dś -, & -dś’t_liˇ -); - -425 if(! - g”r -) - -430 - gdś’t_ˇ¬t - = -dś’t_liˇ -, - gcouÁ - = 2; - -431 - gdś’t_ˇ¬t - && ( - gcouÁ - < - gfśˇ_’Śy -); - -432 - gdś’t_ˇ¬t - = -dś’t_ˇ¬t --> -Ăxt -, ++ - gcouÁ - - -436 - gcouÁ - = 0; - -439 if( - gfśˇ_’Śy - == 0) - -440 -bump_size -("."); - -441 if( - gfśˇ_’Śy - <= 1) - -442 -bump_size -(".."); - -447 - gdś’t_cuĽ’t - = -dś’t_ˇ¬t -; - -448 - gdś’t_cuĽ’t -; - -449 - gdś’t_cuĽ’t - = -dś’t_cuĽ’t --> -Ăxt - - -452 if( -bump_size -( -dś’t_cuĽ’t --> -dś’t --> -d_Çme -) == 0) - -457 * - gd©a - = -mm­ -(0, -size -, -PROT_READ - | -PROT_WRITE -, -MAP_ANON -, 0, 0); - -460 - g”r - = ((*)* -d©a - =đ -MAP_FAILED -č? ( -”şo -) : (0); - -464 if(! - g”r -) - -467 - gd©a_p - = * -d©a -; - -470 * - gd©a_Ën - = -size -; - -471 * - gd©a_’Ś›s - = -couÁ -; - -474 - gcouÁ - = 0; - -477 if( - gfśˇ_’Śy - == 0) - -478 -add_dś’t -(".", 2, -DT_DIR -); - -479 if( - gfśˇ_’Śy - <= 1) - -480 -add_dś’t -("..", 2, -DT_DIR -); - -485 - gdś’t_cuĽ’t - = -dś’t_ˇ¬t -; dirent_current; - -486 - gdś’t_cuĽ’t - = -dś’t_cuĽ’t --> -Ăxt - - -491 -add_dś’t - - -492 ( -dś’t_cuĽ’t --> -dś’t --> -d_Çme -, - gdś’t_cuĽ’t --> - gdś’t --> - gd_fž’o -, - -493 - gdś’t_cuĽ’t --> - gdś’t --> - gd_tył -) == 0 - -500 if( - gdś’t_liˇ -) - -501 -node_’Ś›s_ä“ -( -dś’t_liˇ -); - -504 -fsh–p_touch -(& -dś --> -Â_ˇ© -, -TOUCH_ATIME -, -m­time -); - -507  - g”r -; - -511 -”rÜ_t - - -512 - gĂtfs_©‹m±_lookup - - -514  -iouŁr - * - guŁr -, - -515  -node - * - gdś -, - -516 * - gÇme -, - -517  -node - ** - gnode - - -520 -LOG_MSG -("Ătfs_©‹m±_lookup: '%s'", -Çme -); - -522 -”rÜ_t - - g”r - = 0; - -525 if( -ˇrcmp -( -Çme -, ".") == 0) - -528 -Ătfs_Äef -( -dś -); - -529 * - gnode - = -dś -; - -535 if( -ˇrcmp -( -Çme -, "..") == 0) - -538 if( -dś --> - --> -Ęode -->dir) - -541 -asŁą -( -dś --> - --> -Ęode -->dś-> -node -); - -544 - g”r - = -n˙che_node_lookup -( -dś --> - --> -Ęode -->dś, -node -); - -550 - g”r - = -ENOENT -; - -551 * - gnode - = -NULL -; - -555 -mu‹x_uĆock -(& -dś --> -lock -); - -558  - g”r -; - -563 - gcheck_´Ý”ty - - -565 cÚˇ * - gÇme - - -569 if(! - g´Ý”ty -) - -574  - g·żm_’Ś›s_couÁ - = 0; - -577 * - goccuĽ’ű - = -ˇrˇr -( -´Ý”ty -, -PROPERTY_PARAM -); - -580 ; - goccuĽ’ű -; - -581 - goccuĽ’ű - = -ˇrˇr -( -occuĽ’ű - + 1, -PROPERTY_PARAM -), - -582 ++ - g·żm_’Ś›s_couÁ -); - -585 -size_t - - g´Ý”ty_·żm_Ën - = -ˇľ’ -( -PROPERTY_PARAM -); - -588 -size_t - - g´Ý”ty_Ën - = ( -´Ý”ty -č? ( -ˇľ’ -(property)) : (0); - -591 - g”r - = 0; - -594 -size_t - - gfuÎ_Çme_Ën - = -ˇľ’ -( -dś --> - --> -Ęode --> -·th -č+ 1 + sŚËn( -Çme -) + 1; - -597 * - gfuÎ_Çme - = -m®loc -( -fuÎ_Çme_Ën -); - -598 if(! - gfuÎ_Çme -) - -600 - g”r - = -ENOMEM -; - -605 - gfuÎ_Çme -[0] = 0; - -608 -ˇrýy -( -fuÎ_Çme -, -dś --> - --> -Ęode --> -·th -); - -609 -ˇr˙t -( -fuÎ_Çme -, "/"); - -610 -ˇr˙t -( -fuÎ_Çme -, -Çme -); - -612 -LOG_MSG -("Ătfs_©‹m±_lookup: Aµlyšg fž‹¸tŘ%s...", -fuÎ_Çme -); - -615 -size_t - - gsz - = -´Ý”ty_Ën - + ( -ˇľ’ -( -fuÎ_Çme -č- -´Ý”ty_·żm_Ën -) - -616 * -·żm_’Ś›s_couÁ -; - -619 * - gcmd - = -m®loc -( -sz -); - -620 if(! - gcmd -) - -622 -ä“ -( -fuÎ_Çme -); - -623 - g”r - = -ENOMEM -; - -628 - gcmd -[0] = 0; - -631 * - gp - = -ˇrˇr -( -´Ý”ty -, -PROPERTY_PARAM -); - -634 * - g´Ýp - = -´Ý”ty -; - -637 ; - gp -;… = -ˇrˇr -( -´Ýp -, -PROPERTY_PARAM -)) - -640 -ˇş˙t -( -cmd -, -´Ýp -, -p - -…ropp); - -643 -ˇr˙t -( -cmd -, -fuÎ_Çme -); - -648 - g´Ýp - = -p - + -´Ý”ty_·żm_Ën -; - -654 -ˇr˙t -( -cmd -, -´Ýp -); - -659  - gxcode - = -WEXITSTATUS -( -syˇem -( -cmd -)); - -662  - gxcode -; - -666 if( -check_´Ý”ty -( -Çme -) != 0) - -669 -mu‹x_uĆock -(& -dś --> -lock -); - -672  - gENOENT -; - -676 -mach_pÜt_t - - gp - = -fže_Çme_lookup_und” -( -dś --> - --> -pÜt -, -Çme -, 0, 0); - -679 if( - gp - =đ -MACH_PORT_NULL -) - -682 -mu‹x_uĆock -(& -dś --> -lock -); - -685  - gENOENT -; - -689 -io_ˇ©buf_t - - gˇ© -; - -690 - g”r - = -io_ˇ© -( -p -, & -ˇ© -); - -693 -PORT_DEALLOC -( -p -); - -696 if( - g”r - || ! -S_ISDIR -( -ˇ© -. -ˇ_mode -)) - -699 - gp - = -MACH_PORT_NULL -; - -704 - gp - = -fže_Çme_lookup_und” -( -dś --> - --> -pÜt -, -Çme -, -O_READ - | -O_DIRECTORY -, 0); - -705 if( - gp - =đ -MACH_PORT_NULL -) - -707  -EBADF -; - -712 -Ęode_t - * - gĘode -; - -716 -fš®ize -() - -719 if( - g”r -) - -722 * - gnode - = -NULL -; - -725 if( - gp - !đ -MACH_PORT_NULL -) - -726 -PORT_DEALLOC -( -p -); - -729 if(* - gnode -) - -732 -mu‹x_uĆock -(&(* -node -)-> -lock -); - -735 -n˙che_node_add -(* -node -); - -739 -mu‹x_uĆock -(& -dś --> - --> -Ęode --> -lock -); - -740 -mu‹x_uĆock -(& -dś --> -lock -); - -744 - g”r - = -Ęode_g‘ -( -dś --> - --> -Ęode -, -Çme -, &lnode); - -747 if( - g”r - =đ -ENOENT -) - -750 -”r - = -Ęode_ü—‹ -( -Çme -, & -Ęode -); - -751 if( - g”r -) - -753 -fš®ize -(); - -754  - g”r -; - -758 -Ęode_šˇ®l -( -dś --> - --> -Ęode -,†node); - -762 - g”r - = -n˙che_node_lookup -( -Ęode -, -node -); - -765 -Ęode_»f_»move -( -Ęode -); - -768 if( - g”r -) - -771 -fš®ize -(); - -772  - g”r -; - -776 (* - gnode -)-> - g --> - gpÜt - = -p -; - -779 - g”r - = -Ęode_·th_cÚˇruů -( -Ęode -, -NULL -); - -780 if( - g”r -) - -782 -fš®ize -(); - -783  - g”r -; - -787 (* - gnode -)-> - g --> - gćags - = -FLAG_NODE_ULFS_UPTODATE -; - -790 -fš®ize -(); - -791  - g”r -; - -795 -”rÜ_t - - -796 - gĂtfs_©‹m±_uĆšk - - -798  -iouŁr - * - guŁr -, - -799  -node - * - gdś -, - -800 * - gÇme - - -803 -LOG_MSG -("netfs_attempt_unlink"); - -809 -”rÜ_t - - -810 - gĂtfs_©‹m±_»Çme - - -812  -iouŁr - * - guŁr -, - -813  -node - * - gäomdś -, - -814 * - gäomÇme -, - -815  -node - * - gtodś -, - -816 * - gtÚame -, - -817  - gexţ - - -820 -LOG_MSG -("netfs_attempt_rename"); - -823  - gEOPNOTSUPP -; - -827 -”rÜ_t - - -828 - gĂtfs_©‹m±_mkdś - - -830  -iouŁr - * - guŁr -, - -831  -node - * - gdś -, - -832 * - gÇme -, - -833 -mode_t - - gmode - - -836 -LOG_MSG -("netfs_attempt_mkdir"); - -842 -”rÜ_t - - -843 - gĂtfs_©‹m±_rmdś - - -845  -iouŁr - * - guŁr -, - -846  -node - * - gdś -, - -847 * - gÇme - - -850 -LOG_MSG -("netfs_attempt_rmdir"); - -856 -”rÜ_t - - -857 - gĂtfs_©‹m±_chown - - -859  -iouŁr - * - güed -, - -860  -node - * - gnode -, - -861 -uid_t - - guid -, - -862 -uid_t - - ggid - - -865 -LOG_MSG -("netfs_attempt_chown"); - -868  - gEOPNOTSUPP -; - -872 -”rÜ_t - - -873 - gĂtfs_©‹m±_chauthÜ - - -875  -iouŁr - * - güed -, - -876  -node - * - gnode -, - -877 -uid_t - - gauthÜ - - -880 -LOG_MSG -("netfs_attempt_chauthor"); - -883  - gEOPNOTSUPP -; - -887 -”rÜ_t - - -888 - gĂtfs_©‹m±_chmod - - -890  -iouŁr - * - guŁr -, - -891  -node - * - gnode -, - -892 -mode_t - - gmode - - -895 -LOG_MSG -("netfs_attempt_chmod"); - -898  - gEOPNOTSUPP -; - -902 -”rÜ_t - - -903 - gĂtfs_©‹m±_mksymlšk - - -905  -iouŁr - * - güed -, - -906  -node - * - gnode -, - -907 * - gÇme - - -910 -LOG_MSG -("netfs_attempt_mksymlink"); - -913  - gEOPNOTSUPP -; - -917 -”rÜ_t - - -918 - gĂtfs_©‹m±_mkdev - - -920  -iouŁr - * - güed -, - -921  -node - * - gnode -, - -922 -mode_t - - gtył -, - -923 -dev_t - - gšdexes - - -926 -LOG_MSG -("netfs_attempt_mkdev"); - -929  - gEOPNOTSUPP -; - -933 -”rÜ_t - - -934 - gĂtfs_Łt_ŚŞ¦©Ü - - -936  -iouŁr - * - güed -, - -937  -node - * - gnode -, - -938 * - g¬gz -, - -939 -size_t - - g¬gËn - - -942 -LOG_MSG -("netfs_set_translator"); - -945  - gEOPNOTSUPP -; - -949 -”rÜ_t - - -950 - gĂtfs_©‹m±_chćags - - -952  -iouŁr - * - güed -, - -953  -node - * - gnode -, - -954  - gćags - - -957 -LOG_MSG -("netfs_attempt_chflags"); - -960  - gEOPNOTSUPP -; - -964 -”rÜ_t - - -965 - gĂtfs_©‹m±_Łt_size - - -967  -iouŁr - * - güed -, - -968  -node - * - gnode -, - -969 -loff_t - - gsize - - -972 -LOG_MSG -("netfs_attempt_set_size"); - -975  - gEOPNOTSUPP -; - -979 -”rÜ_t - - -980 - gĂtfs_©‹m±_ˇ©fs - - -982  -iouŁr - * - güed -, - -983  -node - * - gnode -, - -984 -fsys_ˇ©fsbuf_t - * - gˇ - - -987 -LOG_MSG -("netfs_attempt_statfs"); - -990  - gEOPNOTSUPP -; - -994 -”rÜ_t - - -995 - gĂtfs_©‹m±_syncfs - - -997  -iouŁr - * - güed -, - -998  - gwa™ - - -1001 -LOG_MSG -("netfs_attempt_syncfs"); - -1008 -”rÜ_t - - -1009 - gĂtfs_©‹m±_lšk - - -1011  -iouŁr - * - guŁr -, - -1012  -node - * - gdś -, - -1013  -node - * - gfže -, - -1014 * - gÇme -, - -1015  - gexţ - - -1018 -LOG_MSG -("netfs_attempt_link"); - -1021  - gEOPNOTSUPP -; - -1025 -”rÜ_t - - -1026 - gĂtfs_©‹m±_mkfže - - -1028  -iouŁr - * - guŁr -, - -1029  -node - * - gdś -, - -1030 -mode_t - - gmode -, - -1031  -node - ** - gnode - - -1034 -LOG_MSG -("netfs_attempt_mkfile"); - -1037 -mu‹x_uĆock -(& -dś --> -lock -); - -1040  - gEOPNOTSUPP -; - -1044 -”rÜ_t - - -1045 - gĂtfs_©‹m±_»adlšk - - -1047  -iouŁr - * - guŁr -, - -1048  -node - * - gnode -, - -1049 * - gbuf - - -1052 -LOG_MSG -("netfs_attempt_readlink"); - -1055  - gEOPNOTSUPP -; - -1059 -”rÜ_t - - -1060 - gĂtfs_©‹m±_»ad - - -1062  -iouŁr - * - güed -, - -1063  -node - * - gĹ -, - -1064 -loff_t - - goffŁt -, - -1065 -size_t - * - gËn -, - -1066 * - gd©a - - -1069 -LOG_MSG -("netfs_attempt_read"); - -1071 -”rÜ_t - - g”r - = 0; - -1074 if( - gĹ --> - g --> - gpÜt - =đ -MACH_PORT_NULL -) - -1077 -node_t - * -dĹ -; - -1080 - g”r - = -n˙che_node_lookup -( -Ĺ --> - --> -Ęode --> -dś -, & -dĹ -); - -1083 -asŁą -(! -”r -); - -1086 -mach_pÜt_t - - gp - = -fže_Çme_lookup_und” - - -1087 ( -dĹ --> - --> -pÜt -, - gĹ --> - g --> - gĘode --> - gÇme -, - gO_READ -, 0); - -1090 -Ătfs_Ĺut -( -dĹ -); - -1092 if(! - gp -) - -1093  - gEBADF -; - -1096 - gĹ --> - g --> - gpÜt - = -p -; - -1100 - g”r - = -io_»ad -( -Ĺ --> - --> -pÜt -, (**)& -d©a -, -Ën -, -offŁt -, *len); - -1103  - g”r -; - -1107 -”rÜ_t - - -1108 - gĂtfs_©‹m±_wr™e - - -1110  -iouŁr - * - güed -, - -1111  -node - * - gnode -, - -1112 -loff_t - - goffŁt -, - -1113 -size_t - * - gËn -, - -1114 * - gd©a - - -1117 -LOG_MSG -("netfs_attempt_write"); - -1124 - gĂtfs_node_nÜefs - - -1126  -node - * - gĹ - - -1130 -node_deˇroy -( -Ĺ -); - -1135 - gmaš - - -1137  - g¬gc -, - -1138 ** - g¬gv - - -1142 -INIT_LOG -(); - -1143 -LOG_MSG -(">> Starting initialization..."); - -1146 -mach_pÜt_t - - gbo١żp_pÜt -; - -1148 -”rÜ_t - - g”r - = 0; - -1151 -¬gp_·rŁ -(& -¬gp_ˇ¬tup -, -¬gc -, -¬gv -, -ARGP_IN_ORDER -, 0, 0); - -1152 -LOG_MSG -("Command†ine‡rguments…arsed."); - -1155 - g”r - = -node_ü—‹_roŮ -(& -Ătfs_roŮ_node -); - -1156 if( - g”r -) - -1157 -”rÜ -( -EXIT_FAILURE -, -”r -, "Failedo createhe„oot‚ode"); - -1158 -LOG_MSG -("Root‚ode created."); - -1161 -Źsk_g‘_bo١żp_pÜt -( -mach_Źsk_Łlf -(), & -bo١żp_pÜt -); - -1164 -Ătfs_š™ -(); - -1167 - gund”lyšg_node - = -Ătfs_ˇ¬tup -( -bo١żp_pÜt -, -O_READ -); - -1168 -LOG_MSG -("netfs initialization complete."); - -1171 - g”r - = -node_š™_roŮ -( -Ătfs_roŮ_node -); - -1172 if( - g”r -) - -1173 -”rÜ -( -EXIT_FAILURE -, -”r -, "Failedo initializehe„oot‚ode"); - -1174 -LOG_MSG -("Root‚ode initialized."); - -1175 -LOG_MSG -("\tRoŮ‚odadd»ss: 0x%lX", () -Ătfs_roŮ_node -); - -1178 - g”r - = -m­time_m­ -(0, 0, & -m­time -); - -1179 if( - g”r -) - -1180 -”rÜ -( -EXIT_FAILURE -, -”r -, "Failedo mapheime"); - -1181 -LOG_MSG -("Time mapped."); - -1184 -n˙che_š™ -( -n˙che_size -); - -1185 -LOG_MSG -("Cache initialized."); - -1188 - g”r - = -io_ˇ© -( -und”lyšg_node -, & -und”lyšg_node_ˇ© -); - -1189 if( - g”r -) - -1190 -”rÜ -( -EXIT_FAILURE -, -”r -, - -1192 -LOG_MSG -("Stat information for undelying‚ode obtained."); - -1195 - gfsid - = -g‘pid -(); - -1198 - gĂtfs_roŮ_node --> - gÂ_ˇ© - = -und”lyšg_node_ˇ© -; - -1200 - gĂtfs_roŮ_node --> - gÂ_ˇ© -. - gˇ_šo - = -FILTERFS_ROOT_INODE -; - -1201 - gĂtfs_roŮ_node --> - gÂ_ˇ© -. - gˇ_fsid - = -fsid -; - -1202 - gĂtfs_roŮ_node --> - gÂ_ˇ© -. - gˇ_mode - = -S_IFDIR - | ( -und”lyšg_node_ˇ© -. -ˇ_mode - - -1203 & ~ -S_IFMT - & ~ -S_ITRANS -); - -1205 - gĂtfs_roŮ_node --> - gÂ_ŚŞ¦©ed - = -Ătfs_roŮ_node --> -Â_ˇ© -. -ˇ_mode -; - -1209 if(! -S_ISDIR -( -und”lyšg_node_ˇ© -. -ˇ_mode -)) - -1212 if( - gund”lyšg_node_ˇ© -. - gˇ_mode - & - gS_IRUSR -) - -1214 - gĂtfs_roŮ_node --> - gÂ_ˇ© -. - gˇ_mode - |đ -S_IXUSR -; - -1216 if( - gund”lyšg_node_ˇ© -. - gˇ_mode - & - gS_IRGRP -) - -1218 - gĂtfs_roŮ_node --> - gÂ_ˇ© -. - gˇ_mode - |đ -S_IXGRP -; - -1220 if( - gund”lyšg_node_ˇ© -. - gˇ_mode - & - gS_IROTH -) - -1222 - gĂtfs_roŮ_node --> - gÂ_ˇ© -. - gˇ_mode - |đ -S_IXOTH -; - -1226 - gfsh–p_touch - - -1227 (& - gĂtfs_roŮ_node --> - gÂ_ˇ© -, - gTOUCH_ATIME - | - gTOUCH_MTIME - | - gTOUCH_CTIME -, - -1228 - gm­time -); - -1230 -LOG_MSG -(">> Initialization complete. Entering‚etfs server†oop..."); - -1234 -Ătfs_Łrv”_loÝ -(); - - @filterfs.h - -26 #iâdeŕ -__FILTERFS_H__ - - -27  - #__FILTERFS_H__ - - - ) - -29  - ~<ˇddef.h -> - -30  - ~<ˇdlib.h -> - -31  - ~<ůh»ads.h -> - -32  - ~ - -33  - ~ - -34  - ~ - -35  - ~ - -36  - ~ - -37  - ~ - -38  - ~ - -39  - ~ - -41  - ~"lib.h -" - -42  - ~"node.h -" - -48  - #FILTERFS_ROOT_INODE - 1 - - ) - -55 vŢ©ž -m­łd_time_v®ue - * -m­time -; - -58 -mach_pÜt_t - -und”lyšg_node -; - -61 -io_ˇ©buf_t - -und”lyšg_node_ˇ© -; - -67  - sfž‹rfs_dś_’Śy - - -69 * - mÇme -; - -70 -size_t - - mhv -; - -72  -node - * - mnode -; - -75  -ˇ© - - mˇ© -; - -77 * - msymlšk_Źrg‘ -; - -79 -time_t - - mˇ©_timeˇamp -; - -82  -fž‹rfs_dś - * - mdś -; - -88  -fž‹rfs_dś_’Śy - * - mĂxt -, ** - mŁlf_p -; - -92  -fž‹rfs_dś_’Śy - * - mÜd”ed_Ăxt -, ** - mÜd”ed_Łlf_p -; - -95 -time_t - - mÇme_timeˇamp -; - -98 -hurd_ihash_loý_t - - mšode_loý -; - -101  - mnŰÁ - : 1; - -104  - mv®id - : 1; - -108  - sfž‹rfs_dś - - -111 -size_t - - mnum_’Ś›s -; - -116 -size_t - - mnum_live_’Ś›s -; - -119  -fž‹rfs_dś_’Śy - ** - mhŹbË -; - -120 -size_t - - mhŹbË_Ën -; - -126  -fž‹rfs_dś_’Śy - * - mÜd”ed -; - -129  -node - * - mnode -; - -132  -fž‹rfs - * - mfs -; - -135 -time_t - - mÇme_timeˇamp -; - -138 -hurd_ihash_loý_t - - mšode_loý -; - -145 -time_t - - mbuld_ˇ©_baŁ_ˇamp -; - -149  - mbulk_ˇ©_couÁ_fśˇ_h®f -; - -154  - mbulk_ˇ©_couÁ_ŁcÚd_h®f -; - -158  - sfž‹rfs - - -161  -node - * - mroŮ -; - -165 -šo_t - - mĂxt_šode -; - -168  - mfsid -; - -171  -hurd_ihash - - mšode_m­pšgs -; - -174 -Ąš_lock_t - - mšode_m­pšgs_lock -; - -181 -”rÜ_t - - -182 - gĂtfs_©‹m±_ü—‹_fže - - -184  -iouŁr - * - guŁr -, - -185  -node - * - gdś -, - -186 * - gÇme -, - -187 -mode_t - - gmode -, - -188  -node - ** - gnode - - -193 -”rÜ_t - - -194 - gĂtfs_check_Ý’_łrmissiÚs - - -196  -iouŁr - * - guŁr -, - -197  -node - * - gĹ -, - -198  - gćags -, - -199  - gĂwnode - - -203 -”rÜ_t - - -204 - gĂtfs_©‹m±_utimes - - -206  -iouŁr - * - güed -, - -207  -node - * - gnode -, - -208  -timeĄec - * - g©ime -, - -209  -timeĄec - * - gmtime - - -213 -”rÜ_t - - -214 - gĂtfs_»pÜt_acűss - - -216  -iouŁr - * - güed -, - -217  -node - * - gĹ -, - -218 * - gtyłs - - -222 -”rÜ_t - - -223 - gĂtfs_v®id©e_ˇ© - - -225  -node - * - gĹ -, - -226  -iouŁr - * - güed - - -230 -”rÜ_t - - -231 - gĂtfs_©‹m±_sync - - -233  -iouŁr - * - güed -, - -234  -node - * - gnode -, - -235  - gwa™ - - -239 -”rÜ_t - - -240 - gĂtfs_g‘_dś’ts - - -242  -iouŁr - * - güed -, - -243  -node - * - gdś -, - -244  - gfśˇ_’Śy -, - -245  - gnum_’Ś›s -, - -246 ** - gd©a -, - -247 -mach_msg_tył_numb”_t - * - gd©a_Ën -, - -248 -vm_size_t - - gmax_d©a_Ën -, - -249 * - gd©a_’Ś›s - - -253 -”rÜ_t - - -254 - gĂtfs_©‹m±_lookup - - -256  -iouŁr - * - guŁr -, - -257  -node - * - gdś -, - -258 * - gÇme -, - -259  -node - ** - gnode - - -263 -”rÜ_t - - -264 - gĂtfs_©‹m±_uĆšk - - -266  -iouŁr - * - guŁr -, - -267  -node - * - gdś -, - -268 * - gÇme - - -272 -”rÜ_t - - -273 - gĂtfs_©‹m±_»Çme - - -275  -iouŁr - * - guŁr -, - -276  -node - * - gäomdś -, - -277 * - gäomÇme -, - -278  -node - * - gtodś -, - -279 * - gtÚame -, - -280  - gexţ - - -284 -”rÜ_t - - -285 - gĂtfs_©‹m±_mkdś - - -287  -iouŁr - * - guŁr -, - -288  -node - * - gdś -, - -289 * - gÇme -, - -290 -mode_t - - gmode - - -294 -”rÜ_t - - -295 - gĂtfs_©‹m±_rmdś - - -297  -iouŁr - * - guŁr -, - -298  -node - * - gdś -, - -299 * - gÇme - - -303 -”rÜ_t - - -304 - gĂtfs_©‹m±_chown - - -306  -iouŁr - * - güed -, - -307  -node - * - gnode -, - -308 -uid_t - - guid -, - -309 -uid_t - - ggid - - -313 -”rÜ_t - - -314 - gĂtfs_©‹m±_chauthÜ - - -316  -iouŁr - * - güed -, - -317  -node - * - gnode -, - -318 -uid_t - - gauthÜ - - -322 -”rÜ_t - - -323 - gĂtfs_©‹m±_chmod - - -325  -iouŁr - * - guŁr -, - -326  -node - * - gnode -, - -327 -mode_t - - gmode - - -331 -”rÜ_t - - -332 - gĂtfs_©‹m±_mksymlšk - - -334  -iouŁr - * - güed -, - -335  -node - * - gnode -, - -336 * - gÇme - - -340 -”rÜ_t - - -341 - gĂtfs_©‹m±_mkdev - - -343  -iouŁr - * - güed -, - -344  -node - * - gnode -, - -345 -mode_t - - gtył -, - -346 -dev_t - - gšdexes - - -350 -”rÜ_t - - -351 - gĂtfs_Łt_ŚŞ¦©Ü - - -353  -iouŁr - * - güed -, - -354  -node - * - gnode -, - -355 * - g¬gz -, - -356 -size_t - - g¬gËn - - -360 -”rÜ_t - - -361 - gĂtfs_©‹m±_chćags - - -363  -iouŁr - * - güed -, - -364  -node - * - gnode -, - -365  - gćags - - -369 -”rÜ_t - - -370 - gĂtfs_©‹m±_Łt_size - - -372  -iouŁr - * - güed -, - -373  -node - * - gnode -, - -374 -loff_t - - gsize - - -378 -”rÜ_t - - -379 - gĂtfs_©‹m±_ˇ©fs - - -381  -iouŁr - * - güed -, - -382  -node - * - gnode -, - -383 -fsys_ˇ©fsbuf_t - * - gˇ - - -387 -”rÜ_t - - -388 - gĂtfs_©‹m±_syncfs - - -390  -iouŁr - * - güed -, - -391  - gwa™ - - -395 -”rÜ_t - - -396 - gĂtfs_©‹m±_lšk - - -398  -iouŁr - * - guŁr -, - -399  -node - * - gdś -, - -400  -node - * - gfže -, - -401 * - gÇme -, - -402  - gexţ - - -406 -”rÜ_t - - -407 - gĂtfs_©‹m±_mkfže - - -409  -iouŁr - * - guŁr -, - -410  -node - * - gdś -, - -411 -mode_t - - gmode -, - -412  -node - ** - gnode - - -416 -”rÜ_t - - -417 - gĂtfs_©‹m±_»adlšk - - -419  -iouŁr - * - guŁr -, - -420  -node - * - gnode -, - -421 * - gbuf - - -425 -”rÜ_t - - -426 - gĂtfs_©‹m±_»ad - - -428  -iouŁr - * - güed -, - -429  -node - * - gĹ -, - -430 -loff_t - - goffŁt -, - -431 -size_t - * - gËn -, - -432 * - gd©a - - -436 -”rÜ_t - - -437 - gĂtfs_©‹m±_wr™e - - -439  -iouŁr - * - güed -, - -440  -node - * - gnode -, - -441 -loff_t - - goffŁt -, - -442 -size_t - * - gËn -, - -443 * - gd©a - - -448 - gĂtfs_node_nÜefs - - -450  -node - * - gĹ - - - @lib.c - -28  - #_GNU_SOURCE - 1 - - ) - -30  - ~ - -32  - ~"lib.h -" - -33  - ~"debug.h -" - -39 -”rÜ_t - - -40 - gdś_’Ś›s_g‘ - - -42 -fže_t - - gdś -, - -43 ** - gdś’t_d©a -, - -45 -size_t - * - gdś’t_d©a_size -, - -46  -dś’t - *** - gdś’t_liˇ - - -50 -”rÜ_t - - g”r - = 0; - -53 * - gd©a -; - -56 -size_t - - gd©a_size -; - -59  - g’Ś›s_num -; - -62 - g”r - = -dś_»addś -( -dś -, & -d©a -, & -d©a_size -, 0, -1, 0, & -’Ś›s_num -); - -63 if( - g”r -) - -64  - g”r -; - -67  -dś’t - ** - gliˇ -; - -71 - gliˇ - = -m®loc -(( -dś’t - *č* ( -’Ś›s_num - + 1)); - -74 if(! - gliˇ -) - -77 -munm­ -( -d©a -, -d©a_size -); - -80  - gENOMEM -; - -84  -dś’t - * - gdp -; - -86  - gi -; - -91 - gi - = 0, - gdp - = ( -dś’t - *) -d©a -; - -92 - gi - < - g’Ś›s_num -; - -93 ++ - gi -, - gdp - = ( -dś’t - *)((*) -dp - + dp-> -d_»ţ’ -)) - -95 *( -liˇ - + -i -čđ -dp -; - -98 *( - gliˇ - + - gi -čđ -NULL -; - -101 * - gdś’t_d©a - = -d©a -; - -102 * - gdś’t_d©a_size - = -d©a_size -; - -103 * - gdś’t_liˇ - = -liˇ -; - -106  - g”r -; - -110 -”rÜ_t - - -111 - gfže_lookup - - -113 -fže_t - - gdś -, - -114 * - gÇme -, - -115  - gćags0 -, - -116  - gćags1 -, - -117  - gmode -, - -118 -fže_t - * - gpÜt -, - -119 -io_ˇ©buf_t - * - gˇ© - - -122 -”rÜ_t - - g”r - = 0; - -125 -fže_t - - gp -; - -128 -io_ˇ©buf_t - - gs -; - -131 -fže_t - - -132 - gdo_fže_lookup - - -134 -fže_t - - gdś -, - -135 * - gÇme -, - -136  - gćags -, - -137  - gmode - - -141 -fže_t - - gp -; - -144 if( - gdś - !đ -MACH_PORT_NULL -) - -146 -p - = -fže_Çme_lookup_und” -( -dś -, -Çme -, -ćags -, -mode -); - -149 - gp - = -fže_Çme_lookup -( -Çme -, -ćags -, -mode -); - -152  - gp -; - -156 - gp - = -do_fže_lookup -( -dś -, -Çme -, -ćags0 -, -mode -); - -159 if( - gp - =đ -MACH_PORT_NULL -) - -161 -p - = -do_fže_lookup -( -dś -, -Çme -, -ćags1 -, -mode -); - -164 if( - gp - !đ -MACH_PORT_NULL -) - -167 if( -ˇ© -) - -170 -”r - = -io_ˇ© -( -p -, & -s -); - -171 if( - g”r -) - -172 -PORT_DEALLOC -( -p -); - -177 - g”r - = -”şo -; - -180 if(! - g”r -) - -183 * - gpÜt - = -p -; - -186 if( - gˇ© -) - -187 * - gˇ© - = -s -; - -191  - g”r -; - - @lib.h - -26 #iâdeŕ -__LIB_H__ - - -27  - #__LIB_H__ - - - ) - -30  - #__USE_FILE_OFFSET64 - - - ) - -32  - ~ - -33  - ~ - -34  - ~<ˇddef.h -> - -40  - #DIRENT_ALIGN - 4 - - ) - -43  - #DIRENT_NAME_OFFS - - `offŁtof -( -dś’t -, -d_Çme -) - - ) - -47  - #DIRENT_LEN -( -Çme_Ën -)\ - -48 (( -DIRENT_NAME_OFFS - + ( -Çme_Ën -č+ 1 + -DIRENT_ALIGN - - 1) &\ - -49 ~( -DIRENT_ALIGN - - 1)) - - ) - -52  - #PORT_DEALLOC -( -p -č( - `mach_pÜt_d—Îo˙‹ -( - `mach_Źsk_Łlf -(), (p))) - - ) - -58 -”rÜ_t - - -59 - gdś_’Ś›s_g‘ - - -61 -fže_t - - gdś -, - -62 ** - gdś’t_d©a -, - -64 -size_t - * - gdś’t_d©a_size -, - -65  -dś’t - *** - gdś’t_liˇ - - -70 -”rÜ_t - - -71 - gfže_lookup - - -73 -fže_t - - gdś -, - -74 * - gÇme -, - -75  - gćags0 -, - -76  - gćags1 -, - -77  - gmode -, - -78 -fže_t - * - gpÜt -, - -79 -io_ˇ©buf_t - * - gˇ© - - - @lnode.c - -28  - #_GNU_SOURCE - - - ) - -30  - ~"Ęode.h -" - -31  - ~"debug.h -" - -38 - gĘode_»f_add - - -40 -Ęode_t - * - gnode - - -44 ++ - gnode --> - g»ă»nűs -; - -50 - gĘode_»f_»move - - -52 -Ęode_t - * - gnode - - -56 -asŁą -( -node --> -»ă»nűs -); - -59 -- - gnode --> - g»ă»nűs -; - -62 if( - gnode --> - g»ă»nűs - == 0) - -65 -Ęode_unšˇ®l -( -node -); - -66 -Ęode_deˇroy -( -node -); - -70 -mu‹x_uĆock -(& -node --> -lock -); - -75 -”rÜ_t - - -76 - gĘode_ü—‹ - - -78 * - gÇme -, - -79 -Ęode_t - ** - gnode - - -83 -Ęode_t - * - gnode_Ăw - = -m®loc -((lnode_t)); - -86 if(! - gnode_Ăw -) - -89  - gENOMEM -; - -93 * - gÇme_ý - = -NULL -; - -96 if( - gÇme -) - -99 - gÇme_ý - = -ˇrdup -( -Çme -); - -102 if(! - gÇme_ý -) - -105 -ä“ -( -node_Ăw -); - -108  - gENOMEM -; - -113 -memŁt -( -node_Ăw -, 0, ( -Ęode_t -)); - -114 - gnode_Ăw --> - gÇme - = -Çme_ý -; - -115 - gnode_Ăw --> - gÇme_Ën - = ( -Çme_ý -č? ( -ˇľ’ -(name_cp)) : (0); - -118 - gnode_Ăw --> - g»ă»nűs - = 1; - -121 -mu‹x_š™ -(& -node_Ăw --> -lock -); - -122 -mu‹x_lock -(& -node_Ăw --> -lock -); - -125 * - gnode - = -node_Ăw -; - -133 - gĘode_deˇroy - - -135 -Ęode_t - * - gnode - - -139 -ä“ -( -node --> -Çme -); - -142 -ä“ -( -node -); - -147 -”rÜ_t - - -148 - gĘode_·th_cÚˇruů - - -150 -Ęode_t - * - gnode -, - -151 ** - g·th - - -154 -”rÜ_t - - g”r - = 0; - -157 * - gp -; - -160  - gp_Ën - = 0; - -163 -Ęode_t - * - gn -; - -166  - gn - = -node -;‚ &&‚-> - gdś -;‚ = -n --> -dś -) - -172 -p_Ën - +đ -n --> -Çme_Ën - + 1; - -176 - gp_Ën - +đ -ˇľ’ -( -n --> -·th -) + 1; - -179 - gp - = -m®loc -( -p_Ën - * ()); - -180 if(! - gp -) - -181 - g”r - = -ENOMEM -; - -186 - gp -[-- -p_Ën -] = 0; - -189  - gn - = -node -;‚ &&‚-> - gdś -;‚ = -n --> -dś -) - -192 -p_Ën - -đ -n --> -Çme_Ën -; - -195 -ˇşýy -( -p - + -p_Ën -, -n --> -Çme -,‚-> -Çme_Ën -); - -202 - gp -[-- -p_Ën -] = '/'; - -207 -ˇşýy -( -p -, -n --> -·th -, -ˇľ’ -(n->path)); - -210 if( - gnode --> - g·th -) - -211 -ä“ -( -node --> -·th -); - -214 - gnode --> - g·th - = -p -; - -217 if( - g·th -) - -218 * - g·th - = -p -; - -222  - g”r -; - -226 -”rÜ_t - - -227 - gĘode_g‘ - - -229 -Ęode_t - * - gdś -, - -230 * - gÇme -, - -231 -Ęode_t - ** - gnode - - -234 -”rÜ_t - - g”r - = 0; - -237 -Ęode_t - * - gn -; - -240  - gn - = -dś --> -’Ś›s -;‚ && ( -ˇrcmp -( -n --> -Çme -,‚ameč!đ0);‚ =‚-> -Ăxt -); - -243 if( - gn -) - -246 -mu‹x_lock -(& -n --> -lock -); - -249 -Ęode_»f_add -( -n -); - -252 * - gnode - = -n -; - -255 - g”r - = -ENOENT -; - -258  - g”r -; - -264 - gĘode_šˇ®l - - -266 -Ęode_t - * - gdś -, - -267 -Ęode_t - * - gnode - - -271 - gnode --> - gĂxt - = -dś --> -’Ś›s -; - -272 - gnode --> - g´evp - = & -dś --> -’Ś›s -; - -273 if( - gdś --> - g’Ś›s -) - -274 - gdś --> - g’Ś›s --> - g´evp - = & -node --> -Ăxt -; - -276 - gdś --> - g’Ś›s - = -node -; - -279 -Ęode_»f_add -( -dś -); - -282 - gnode --> - gdś - = -dś -; - -288 - gĘode_unšˇ®l - - -290 -Ęode_t - * - gnode - - -294 -Ęode_»f_»move -( -node --> -dś -); - -298 * - gnode --> - g´evp - = -node --> -Ăxt -; - -302 if( - gnode --> - gĂxt -) - -303 - gnode --> - gĂxt --> - g´evp - = & -node --> -Ăxt -; - - @lnode.h - -26 #iâdeŕ -__LNODE_H__ - - -27  - #__LNODE_H__ - - - ) - -30  - ~<”rÜ.h -> - -31  - ~ - -36  -node - - tnode_t -; - -39  - sĘode - - -42 * - mÇme -; - -46 -size_t - - mÇme_Ën -; - -49 * - m·th -; - -52  - mćags -; - -55  - m»ă»nűs -; - -58 -node_t - * - mnode -; - -61  -Ęode - * - mĂxt -, ** - m´evp -; - -64  -Ęode - * - mdś -; - -67  -Ęode - * - m’Ś›s -; - -70  -mu‹x - - mlock -; - -73  -Ęode - - tĘode_t -; - -80 - gĘode_»f_add - - -82 -Ęode_t - * - gnode - - -88 - gĘode_»f_»move - - -90 -Ęode_t - * - gnode - - -95 -”rÜ_t - - -96 - gĘode_ü—‹ - - -98 * - gÇme -, - -99 -Ęode_t - ** - gnode - - -104 - gĘode_deˇroy - - -106 -Ęode_t - * - gnode - - -111 -”rÜ_t - - -112 - gĘode_·th_cÚˇruů - - -114 -Ęode_t - * - gnode -, - -115 ** - g·th - - -119 -”rÜ_t - - -120 - gĘode_g‘ - - -122 -Ęode_t - * - gdś -, - -123 * - gÇme -, - -124 -Ęode_t - ** - gnode - - -130 - gĘode_šˇ®l - - -132 -Ęode_t - * - gdś -, - -133 -Ęode_t - * - gnode - - -138 - gĘode_unšˇ®l - - -140 -Ęode_t - * - gnode - - - @ncache.c - -28  - #_GNU_SOURCE - 1 - - ) - -30  - ~"n˙che.h -" - -36 -n˙che_t - - gn˙che -; - -39  - gn˙che_size - = -NCACHE_SIZE -; - -46 - gn˙che_š™ - - -48  - gsize_max - - -52 - gn˙che -. - gmru - = -n˙che -. -Ěu - = -NULL -; - -55 - gn˙che -. - gsize_max - = -size_max -; - -58 - gn˙che -. - gsize_cuĽ’t - = 0; - -61 -mu‹x_š™ -(& -n˙che -. -lock -); - -66 -”rÜ_t - - -67 - gn˙che_node_lookup - - -69 -Ęode_t - * - gĘode -, - -70 -node_t - ** - gnode - - -73 -”rÜ_t - - g”r - = 0; - -76 -node_t - * - gn - = -Ęode --> -node -; - -79 if( - gn - !đ -NULL -) - -82 -Ătfs_Äef -( -n -); - -87 - g”r - = -node_ü—‹ -( -Ęode -, & -n -); - -91 if(! - g”r -) - -94 -mu‹x_lock -(& -n --> -lock -); - -97 * - gnode - = -n -; - -101  - g”r -; - -107 - gn˙che_node_»move - - -109 -node_t - * - gnode - - -114  -ĂŠode - * - g - = -node --> - -; - -117 if( - g --> - gn˙che_Ăxt -) - -119 - g --> - gn˙che_Ăxt -->Â-> - gn˙che_´ev - = - --> -n˙che_´ev -; - -121 if( - g --> - gn˙che_´ev -) - -123 - g --> - gn˙che_´ev -->Â-> - gn˙che_Ăxt - = - --> -n˙che_Ăxt -; - -126 if( - gn˙che -. - gmru - =đ -node -) - -128 -n˙che -. -mru - = - --> -n˙che_Ăxt -; - -130 if( - gn˙che -. - gĚu - =đ -node -) - -132 -n˙che -. -Ěu - = - --> -n˙che_´ev -; - -135 - g --> - gn˙che_Ăxt - = - --> -n˙che_´ev - = -NULL -; - -138 -- - gn˙che -. - gsize_cuĽ’t -; - -143 - $n˙che_»Łt -() - -146 -node_t - * -node -; - -149 - `mu‹x_lock -(& -n˙che -. -lock -); - -152  -node - = -n˙che -. -mru -;‚od!đ -NULL -; - `n˙che_node_»move -(node),‚ode =‚cache.mru); - -155 - `mu‹x_uĆock -(& -n˙che -. -lock -); - -156 - } -} - -160 - gn˙che_node_add - - -162 -node_t - * - gnode - - -166 -mu‹x_lock -(& -n˙che -. -lock -); - -169 if(( - gn˙che -. - gsize_max - > 0č|| (n˙che. - gsize_cuĽ’t - > 0)) - -172 if( - gn˙che -. - gmru - !đ -node -) - -175 if(( -node --> - --> -n˙che_Ăxt - !đ -NULL -č&& (node->Â-> -n˙che_´ev - != NULL)) - -177 -n˙che_node_»move -( -node -); - -180 -Ătfs_Äef -( -node -); - -183 - gnode --> - g --> - gn˙che_Ăxt - = -n˙che -. -mru -; - -184 - gnode --> - g --> - gn˙che_´ev - = -NULL -; - -187 if( - gn˙che -. - gmru - !đ -NULL -) - -188 -n˙che -. -mru --> - --> -n˙che_´ev - = -node -; - -191 if( - gn˙che -. - gĚu - =đ -NULL -) - -192 -n˙che -. -Ěu - = -node -; - -195 - gn˙che -. - gmru - = -node -; - -198 ++ - gn˙che -. - gsize_cuĽ’t -; - -203 -node_t - * - gŢd_Ěu -; - -206 - gŢd_Ěu - = -n˙che -. -Ěu -; - -207 - gn˙che -. - gsize_cuĽ’t - >‚˙che. - gsize_max -; - -208 - gŢd_Ěu - = -n˙che -. -Ěu - - -212 -n˙che_node_»move -( -Ţd_Ěu -); - -215 -Ătfs_Ä–e -( -Ţd_Ěu -); - -219 -mu‹x_uĆock -(& -n˙che -. -lock -); - - @ncache.h - -26 #iâdeŕ -__NCACHE_H__ - - -27  - #__NCACHE_H__ - - - ) - -30  - ~<”rÜ.h -> - -31  - ~ - -33  - ~"node.h -" - -39  - #NCACHE_SIZE - 256 - - ) - -44  - sn˙che - - -47 -node_t - * - mmru -; - -50 -node_t - * - mĚu -; - -53  - msize_max -; - -56  - msize_cuĽ’t -; - -59  -mu‹x - - mlock -; - -62  -n˙che - - tn˙che_t -; - -68  -˙che_size -; - -75 - gn˙che_š™ - - -77  - gsize_max - - -82 -”rÜ_t - - -83 - gn˙che_node_lookup - - -85 -Ęode_t - * - gĘode -, - -86 -node_t - ** - gnode - - -91 -n˙che_»Łt -(); - -95 - gn˙che_node_add - - -97 -node_t - * - gnode - - - @node.c - -28  - #_GNU_SOURCE - 1 - - ) - -30  - ~<ˇdlib.h -> - -31  - ~ - -32  - ~ - -33  - ~ - -34  - ~<ˇdio.h -> - -36  - ~"debug.h -" - -37  - ~"node.h -" - -38  - ~"ÝtiÚs.h -" - -39  - ~"lib.h -" - -40  - ~"fž‹rfs.h -" - -46  -mu‹x - - gulfs_lock - = -MUTEX_INITIALIZER -; - -52 -”rÜ_t - - -53 - gnode_ü—‹ - - -55 -Ęode_t - * - gĘode -, - -56 -node_t - ** - gnode - - -59 -”rÜ_t - - g”r - = 0; - -62 -ĂŠode_t - * - gĂŠode_Ăw - = -m®loc -((netnode_t)); - -65 if( - gĂŠode_Ăw - =đ -NULL -) - -66 -”r - = -ENOMEM -; - -70 -node_t - * - gnode_Ăw - = -Ătfs_make_node -( -ĂŠode_Ăw -); - -73 if( - gnode_Ăw - =đ -NULL -) - -76 -”r - = -ENOMEM -; - -79 -ä“ -( -ĂŠode_Ăw -); - -82  - g”r -; - -86 - gĘode --> - gnode - = -node_Ăw -; - -87 -Ęode_»f_add -( -Ęode -); - -90 - gnode_Ăw --> - g --> - gĘode - = -Ęode -; - -91 - gnode_Ăw --> - g --> - gćags - = 0; - -92 - gnode_Ăw --> - g --> - gn˙che_Ăxt - = -node_Ăw --> - --> -n˙che_´ev - = -NULL -; - -95 * - gnode - = -node_Ăw -; - -99  - g”r -; - -105 - gnode_deˇroy - - -107 -node_t - * - gĹ - - -111 -asŁą -(! -Ĺ --> - --> -n˙che_Ăxt - || !Ĺ->Â-> -n˙che_´ev -); - -114 -PORT_DEALLOC -( -Ĺ --> - --> -pÜt -); - -117 -mu‹x_lock -(& -Ĺ --> - --> -Ęode --> -lock -); - -120 - gĹ --> - g --> - gĘode --> - gnode - = -NULL -; - -123 -Ęode_»f_»move -( -Ĺ --> - --> -Ęode -); - -126 -ä“ -( -Ĺ --> - -); - -127 -ä“ -( -Ĺ -); - -131 -”rÜ_t - - -132 - gnode_ü—‹_roŮ - - -134 -node_t - ** - groŮ_node - - -138 -Ęode_t - * - gĘode -; - -139 -”rÜ_t - - g”r - = -Ęode_ü—‹ -( -NULL -, & -Ęode -); - -142 if( - g”r -) - -143  - g”r -; - -146 -node_t - * - gnode -; - -147 - g”r - = -node_ü—‹ -( -Ęode -, & -node -); - -150 if( - g”r -) - -153 -Ęode_deˇroy -( -Ęode -); - -156  - g”r -; - -160 -mu‹x_uĆock -(& -Ęode --> -lock -); - -163 * - groŮ_node - = -node -; - -166  - g”r -; - -170 -”rÜ_t - - -171 - gnode_š™_roŮ - - -173 -node_t - * - gnode - - -176 -”rÜ_t - - g”r - = 0; - -179 -mu‹x_lock -(& -ulfs_lock -); - -182 - gnode --> - g --> - gpÜt - = -fže_Çme_lookup -( -dś -, -O_READ - | -O_DIRECTORY -, 0); - -185 if( - gnode --> - g --> - gpÜt - =đ -MACH_PORT_NULL -) - -188 -”r - = -”şo -; - -189 -LOG_MSG -("node_š™_roŮ: Could‚Ů ołŔthpÜfÜ %s.", -dś -); - -192 -mu‹x_uĆock -(& -ulfs_lock -); - -193  - g”r -; - -196 -LOG_MSG -("node_š™_roŮ: PÜfÜ % Ý’ed sucűssfuÎy.", -dś -); - -197 -LOG_MSG -("\tPÜt: 0x%lX", () -node --> - --> -pÜt -); - -200 - g”r - = -io_ˇ© -( -node --> - --> -pÜt -, &node-> -Â_ˇ© -); - -201 if( - g”r -) - -204 -PORT_DEALLOC -( -node --> - --> -pÜt -); - -206 -LOG_MSG -("node_init_root: Could‚ot stathe„oot‚ode."); - -209 -mu‹x_uĆock -(& -ulfs_lock -); - -210  - g”r -; - -214 - gnode --> - g --> - gĘode --> - g·th - = -ˇrdup -( -dś -); - -215 if(! - gnode --> - g --> - gĘode --> - g·th -) - -218 -PORT_DEALLOC -( -node --> - --> -pÜt -); - -221 -mu‹x_uĆock -(& -ulfs_lock -); - -223 -LOG_MSG -("node_init_root: Could‚ot strduphe directory."); - -224  - gENOMEM -; - -228 * - gp - = -dś - + -ˇľ’ -(dir); - -231 ; - gp - >đ -dś -; --p) - -234 if(* - gp - == '/') - -237 if( -p - > -dś -) - -240 if(*( -p - - 1) == '\\') - -245 ++ - gp -; - -252 -LOG_MSG -("node_š™_roŮ: ThÇmoŕroŮ‚odi %s.", -p -); - -255 - gnode --> - g --> - gĘode --> - gÇme - = -ˇrdup -( -p -); - -257 if(! - gnode --> - g --> - gĘode --> - gÇme -) - -260 -ä“ -( -node --> - --> -Ęode --> -·th -); - -261 -PORT_DEALLOC -( -node --> - --> -pÜt -); - -264 -mu‹x_uĆock -(& -ulfs_lock -); - -266 -LOG_MSG -("node_init_root: Could‚ot strduphe‚ame ofhe„oot‚ode."); - -267  - gENOMEM -; - -271 - gnode --> - g --> - gĘode --> - gÇme_Ën - = -ˇľ’ -( -p -); - -274 -mu‹x_uĆock -(& -ulfs_lock -); - -277  - g”r -; - -282 - gnode_’Ś›s_ä“ - - -284 -node_dś’t_t - * - gdś’ts - - -288 -node_dś’t_t - * - gdś’t -, * - gdś’t_Ăxt -; - -291  - gdś’t - = -dś’ts -; dś’t; dś’đ -dś’t_Ăxt -) - -294 -dś’t_Ăxt - = -dś’t --> -Ăxt -; - -297 -ä“ -( -dś’t -->dirent); - -300 -ä“ -( -dś’t -); - -305 -”rÜ_t - - -306 - gnode_’Ś›s_g‘ - - -308 -node_t - * - gnode -, - -309 -node_dś’t_t - ** - gdś’ts - - -312 -”rÜ_t - - g”r - = 0; - -315 * - g·th_to_node - = -node --> - --> -Ęode --> -·th -; - -318  - g·żm_’Ś›s_couÁ - = 0; - -321 -size_t - - g´Ý”ty_Ën - = ( -´Ý”ty -č? ( -ˇľ’ -(property)) : (0); - -324 -size_t - - g´Ý”ty_·żm_Ën - = -ˇľ’ -( -PROPERTY_PARAM -); - -327 * - gfuÎ_Çme - = -NULL -, * - gcmd - = NULL; - -330 -size_t - - gfuÎ_Çme_size - = 1, - gcmd_size - = 1; - -333 if( - g´Ý”ty_Ën - != 0) - -336 * -occuĽ’ű - = -ˇrˇr -( -´Ý”ty -, -PROPERTY_PARAM -); - -339 ; - goccuĽ’ű -; - -340 - goccuĽ’ű - = -ˇrˇr -( -occuĽ’ű - + 1, -PROPERTY_PARAM -), - -341 ++ - g·żm_’Ś›s_couÁ -); - -344 - gfuÎ_Çme - = -m®loc -( -fuÎ_Çme_size - * -STRING_CHUNK -); - -345 if(! - gfuÎ_Çme -) - -346  - gENOMEM -; - -348 - gcmd - = -m®loc -( -cmd_size - * -STRING_CHUNK -); - -349 if(! - gcmd -) - -351 -ä“ -( -fuÎ_Çme -); - -352  - gENOMEM -; - -357 -size_t - - g·thËn - = -ˇľ’ -( -·th_to_node -); - -362 - gcheck_´Ý”ty - - -364 cÚˇ * - gÇme - - -368 if(! - g´Ý”ty -) - -373 - g”r - = 0; - -376 -size_t - - gfuÎ_Çme_Ën - = -·thËn - + 1 + -ˇľ’ -( -Çme -) + 1; - -379  - gchunks - = -fuÎ_Çme_size -; - -380 ; - gfuÎ_Çme_Ën - > -chunks - * - gSTRING_CHUNK -; ++ - gchunks -); - -383 if( - gchunks - > - gfuÎ_Çme_size -) - -386 -ä“ -( -fuÎ_Çme -); - -389 - gfuÎ_Çme - = -m®loc -( -chunks - * -STRING_CHUNK -); - -390 if(! - gfuÎ_Çme -) - -392 - g”r - = -ENOMEM -; - -393 -ä“ -( -cmd -); - -398 - gfuÎ_Çme_size - = -chunks -; - -402 - gfuÎ_Çme -[0] = 0; - -405 -ˇrýy -( -fuÎ_Çme -, -·th_to_node -); - -406 -ˇr˙t -( -fuÎ_Çme -, "/"); - -407 -ˇr˙t -( -fuÎ_Çme -, -Çme -); - -412 -size_t - - gsz - = -´Ý”ty_Ën - + ( -ˇľ’ -( -fuÎ_Çme -č- -´Ý”ty_·żm_Ën -) - -413 * -·żm_’Ś›s_couÁ -; - -416  - gchunks - = -cmd_size -; - gsz - > -chunks - * - gSTRING_CHUNK -; ++chunks); - -419 if( - gchunks - > - gcmd_size -) - -422 -ä“ -( -cmd -); - -425 - gcmd - = -m®loc -( -chunks - * -STRING_CHUNK -); - -426 if(! - gcmd -) - -428 - g”r - = -ENOMEM -; - -429 -ä“ -( -fuÎ_Çme -); - -435 - gcmd_size - = -chunks -; - -439 - gcmd -[0] = 0; - -442 * - gp - = -ˇrˇr -( -´Ý”ty -, -PROPERTY_PARAM -); - -445 * - g´Ýp - = -´Ý”ty -; - -448 ; - gp -;… = -ˇrˇr -( -´Ýp -, -PROPERTY_PARAM -)) - -451 -ˇş˙t -( -cmd -, -´Ýp -, -p - -…ropp); - -454 -ˇr˙t -( -cmd -, -fuÎ_Çme -); - -459 - g´Ýp - = -p - + -´Ý”ty_·żm_Ën -; - -465 -ˇr˙t -( -cmd -, -´Ýp -); - -470  - gxcode - = -WEXITSTATUS -( -syˇem -( -cmd -)); - -473  - gxcode -; - -477  -dś’t - ** - gdś’t_liˇ -, ** - gdś’t -; - -480 -node_dś’t_t - * - gnode_dś’t_liˇ - = -NULL -; - -483 -size_t - - gdś’t_d©a_size -; - -486 * - gdś’t_d©a -; - -489 - g”r - = -dś_’Ś›s_g‘ - - -490 ( -node --> - --> -pÜt -, & - gdś’t_d©a -, & - gdś’t_d©a_size -, & - gdś’t_liˇ -); - -491 if( - g”r -) - -493  - g”r -; - -497 -node_dś’t_t - * - gnode_dś’t_Ăw -; - -500  -dś’t - * - gdś’t_Ăw -; - -505 * - gÇme -; - -508 -size_t - - gÇme_Ën -; - -511 -size_t - - gsize -; - -514  - ggood -; - -517  - gdś’t - = -dś’t_liˇ -; *dirent; ++dirent) - -520 - gÇme - = &((* -dś’t -)-> -d_Çme -[0]); - -523 if(( -ˇrcmp -( -Çme -, ".") == 0) || (strcmp(name, "..") == 0)) - -527 - ggood - = -check_´Ý”ty -( -Çme -); - -528 if( - g”r -) - -532 if( - ggood - != 0) - -536 - gÇme_Ën - = -ˇľ’ -( -Çme -); - -539 - gsize - = -DIRENT_LEN -( -Çme_Ën -); - -542 - gnode_dś’t_Ăw - = -m®loc -(( -node_dś’t_t -)); - -543 if(! - gnode_dś’t_Ăw -) - -545 - g”r - = -ENOMEM -; - -550 - gdś’t_Ăw - = -m®loc -( -size -); - -551 if(! - gdś’t_Ăw -) - -553 -ä“ -( -node_dś’t_Ăw -); - -554 - g”r - = -ENOMEM -; - -559 - gdś’t_Ăw --> - gd_šo - = (* -dś’t -)-> -d_šo -; - -560 - gdś’t_Ăw --> - gd_tył - = (* -dś’t -)-> -d_tył -; - -561 - gdś’t_Ăw --> - gd_»ţ’ - = -size -; - -562 -ˇrýy -((*) -dś’t_Ăw - + -DIRENT_NAME_OFFS -, -Çme -); - -565 - gnode_dś’t_Ăw --> - gdś’t - = -dś’t_Ăw -; - -566 - gnode_dś’t_Ăw --> - gĂxt - = -node_dś’t_liˇ -; - -567 - gnode_dś’t_liˇ - = -node_dś’t_Ăw -; - -571 if( - g”r -) - -573 -node_’Ś›s_ä“ -( -node_dś’t_liˇ -); - -576 * - gdś’ts - = -node_dś’t_liˇ -; - -579 -ä“ -( -dś’t_liˇ -); - -582 -munm­ -( -dś’t_d©a -, -dś’t_d©a_size -); - -585 if( - gfuÎ_Çme -) - -586 -ä“ -( -fuÎ_Çme -); - -587 if( - gcmd -) - -588 -ä“ -( -cmd -); - -591  - g”r -; - -596 -”rÜ_t - - -597 - gnode_upd©e - - -599 -node_t - * - gnode - - -602 -”rÜ_t - - g”r - = 0; - -605 * - g·th -; - -608 -io_ˇ©buf_t - - gˇ© -; - -611 -fže_t - - gpÜt -; - -614 if( -NODE_IS_ROOT -( -node -č|| ( - gnode --> - g --> - gćags - & - gFLAG_NODE_ULFS_FIXED -)) - -616  - g”r -; - -619 -mu‹x_lock -(& -Ătfs_roŮ_node --> -lock -); - -622 - g”r - = -Ęode_·th_cÚˇruů -( -node --> - --> -Ęode -, & -·th -); - -623 if( - g”r -) - -625 -mu‹x_uĆock -(& -Ătfs_roŮ_node --> -lock -); - -626  - g”r -; - -630 if( - gnode --> - g --> - gpÜt -) - -631 -PORT_DEALLOC -( -node --> - --> -pÜt -); - -634 - g”r - = -fže_lookup - - -636 -Ătfs_roŮ_node --> - --> -pÜt -, - g·th -, - gO_READ - | - gO_NOTRANS -, O_NOTRANS, - -637 0, & - gpÜt -, & - gˇ© - - -639 if( - g”r -) - -641 - gnode --> - g --> - gpÜt - = -MACH_PORT_NULL -; - -642 - g”r - = 0; - -643  - g”r -; - -649 ( - gˇ© -. - gˇ_šo - =đ -und”lyšg_node_ˇ© -. -ˇ_šo -) - -650 && ( -ˇ© -. -ˇ_fsid - =đ -und”lyšg_node_ˇ© -.st_fsid) - -653 -”r - = -ELOOP -; - -657 -PORT_DEALLOC -( -pÜt -); - -660 - g”r - = -fže_lookup - - -661 ( -Ătfs_roŮ_node --> - --> -pÜt -, - g·th -, - gO_READ -, 0, 0, & - gpÜt -, & - gˇ© -); - -665 if( - g”r -) - -667 - gpÜt - = -MACH_PORT_NULL -; - -670 - gnode --> - g --> - gpÜt - = -pÜt -; - -674 - gnode --> - g --> - gćags - &đ~ -FLAG_NODE_INVALIDATE -; - -675 - gnode --> - g --> - gćags - |đ -FLAG_NODE_ULFS_UPTODATE -; - -678 -mu‹x_uĆock -(& -Ătfs_roŮ_node --> -lock -); - -681  - g”r -; - -685 -”rÜ_t - - -686 - gnode_g‘_size - - -688 -node_t - * - gdś -, - -689 -OFFSET_T - * - goff - - -692 -”rÜ_t - - g”r - = 0; - -695 -size_t - - gsize - = 0; - -704 -node_dś’t_t - * - gdś’t_cuĽ’t - = -NULL -; - -707 -node_dś’t_t - * - gdś’t_liˇ - = -NULL -; - -714 - gbump_size - - -716 cÚˇ * - gÇme - - -720 - gsize - +đ -DIRENT_LEN -( -ˇľ’ -( -Çme -)); - -727 - g”r - = -node_’Ś›s_g‘ -( -dś -, & -dś’t_liˇ -); - -728 if( - g”r -) - -729  - g”r -; - -754 - gdś’t_cuĽ’t - = -dś’t_liˇ - ; dirent_current; - -755 - gdś’t_cuĽ’t - = -dś’t_cuĽ’t --> -Ăxt - - -757 -bump_size -( -dś’t_cuĽ’t --> -dś’t --> -d_Çme -); - -760 -node_’Ś›s_ä“ -( -dś’t_liˇ -); - -763 * - goff - = -size -; - -768 -”rÜ_t - - -769 - gnode_uĆšk_fže - - -771 -node_t - * - gdś -, - -772 * - gÇme - - -775 -”rÜ_t - - g”r - = 0; - -778 -mach_pÜt_t - - gp -; - -781 -io_ˇ©buf_t - - gˇ© -; - -784 if( - gdś --> - g --> - gpÜt - =đ -MACH_PORT_NULL -) - -786  -ENOENT -; - -789 - g”r - = -fže_lookup -( -dś --> - --> -pÜt -, -Çme -, -O_NOTRANS -, O_NOTRANS, 0, & -p -, & -ˇ© -); - -790 if( - g”r -) - -791  - g”r -; - -794 -PORT_DEALLOC -( -p -); - -797 - g”r - = -dś_uĆšk -( -dś --> - --> -pÜt -, -Çme -); - -798 if( - g”r -) - -799  - g”r -; - -801  - g”r -; - - @node.h - -26 #iâdeŕ -__NODE_H__ - - -27  - #__NODE_H__ - - - ) - -30  - ~<”rÜ.h -> - -31  - ~ - -32  - ~ - -34  - ~"Ęode.h -" - -40  - #NODE_IS_ROOT -( -n -č((Ň)-> - --> -Ęode --> -dś -č? (0č: (1)) - - ) - -43  - #FLAG_NODE_ULFS_FIXED - 0x00000001 - - ) - -44  - #FLAG_NODE_INVALIDATE - 0x00000002 - - ) - -45  - #FLAG_NODE_ULFS_UPTODATE - 0x00000004 - - ) - -48 #ifdeŕ -__USE_FILE_OFFSET64 - - -49  - #OFFSET_T - -__off64_t - - - ) - -51  - #OFFSET_T - -__off_t - - - ) - -56  - #STRING_CHUNK - 256 - - ) - -61  - sĂŠode - - -64 -Ęode_t - * - mĘode -; - -67  - mćags -; - -70 -fže_t - - mpÜt -; - -73 -node_t - * - mn˙che_´ev -, * - mn˙che_Ăxt -; - -76  -ĂŠode - - tĂŠode_t -; - -79  - snode_dś’t - - -82  -dś’t - * - mdś’t -; - -85  -node_dś’t - * - mĂxt -; - -88  -node_dś’t - - tnode_dś’t_t -; - -94  -mu‹x - -ulfs_lock -; - -100 -”rÜ_t - - -101 - gnode_ü—‹ - - -103 -Ęode_t - * - gĘode -, - -104 -node_t - ** - gnode - - -110 - gnode_deˇroy - - -112 -node_t - * - gĹ - - -116 -”rÜ_t - - -117 - gnode_ü—‹_roŮ - - -119 -node_t - ** - groŮ_node - - -123 -”rÜ_t - - -124 - gnode_š™_roŮ - - -126 -node_t - * - gnode - - -131 - gnode_’Ś›s_ä“ - - -133 -node_dś’t_t - * - gdś’ts - - -137 -”rÜ_t - - -138 - gnode_’Ś›s_g‘ - - -140 -node_t - * - gnode -, - -141 -node_dś’t_t - ** - gdś’ts - - -146 -”rÜ_t - - -147 - gnode_upd©e - - -149 -node_t - * - gnode - - -153 -”rÜ_t - - -154 - gnode_g‘_size - - -156 -node_t - * - gdś -, - -157 -OFFSET_T - * - goff - - -161 -”rÜ_t - - -162 - gnode_uĆšk_fže - - -164 -node_t - * - gdś -, - -165 * - gÇme - - - @options.c - -28  - #_GNU_SOURCE - 1 - - ) - -30  - ~<¬gp.h -> - -31  - ~<”rÜ.h -> - -33  - ~"debug.h -" - -34  - ~"ÝtiÚs.h -" - -35  - ~"n˙che.h -" - -36  - ~"node.h -" - -42  - #ARGS_DOC - "DIR" - - ) - -43  - #DOC - "Show thcÚ‹Á oŕDIR fž‹»d‡ccÜdšgŘPROPERTY.\ - DIR i nŮ słcif›d, ~/ i assumed." - - ) - -51 -”rÜ_t - - -52 - g¬gp_·rŁ_commÚ_ÝtiÚs - - -54  - gkey -, - -55 * - g¬g -, - -56  -¬gp_ˇ©e - * - gˇ©e - - -61 -”rÜ_t - - -62 - g¬gp_·rŁ_ˇ¬tup_ÝtiÚs - - -64  - gkey -, - -65 * - g¬g -, - -66  -¬gp_ˇ©e - * - gˇ©e - - -77  - g·rsšg_ˇ¬tup_ÝtiÚs_fšished -; - -80 cÚˇ  -¬gp_ÝtiÚ - - g¬gp_commÚ_ÝtiÚs -[] = - -82 { -OPT_LONG_CACHE_SIZE -, -OPT_CACHE_SIZE -, "SIZE", 0, - -84 { -OPT_LONG_PROPERTY -, -OPT_PROPERTY -, "PROPERTY", 0, - -89 cÚˇ  -¬gp_ÝtiÚ - - g¬gp_ˇ¬tup_ÝtiÚs -[] = - -95 cÚˇ  -¬gp - - g¬gp_·rŁr_commÚ_ÝtiÚs - = - -96 { -¬gp_commÚ_ÝtiÚs -, -¬gp_·rŁ_commÚ_ÝtiÚs -, 0, 0, 0}; - -99 cÚˇ  -¬gp - - g¬gp_·rŁr_ˇ¬tup_ÝtiÚs - = - -100 { -¬gp_ˇ¬tup_ÝtiÚs -, -¬gp_·rŁ_ˇ¬tup_ÝtiÚs -, 0, 0, 0}; - -103 cÚˇ  -¬gp_chžd - - g¬gp_chžd»n_ruÁime -[] = - -105 {& -¬gp_·rŁr_commÚ_ÝtiÚs -}, - -106 {& -Ătfs_ˇd_ruÁime_¬gp -}, - -111 cÚˇ  -¬gp_chžd - - g¬gp_chžd»n_ˇ¬tup -[] = - -113 {& -¬gp_·rŁr_ˇ¬tup_ÝtiÚs -}, - -114 {& -¬gp_·rŁr_commÚ_ÝtiÚs -}, - -115 {& -Ătfs_ˇd_ˇ¬tup_¬gp -}, - -120 cÚˇ * - g¬gp_´ogżm_v”siÚ - = "0.0"; - -123  -¬gp - - g¬gp_ruÁime - = - -124 {0, 0, 0, 0, -¬gp_chžd»n_ruÁime -}; - -127  -¬gp - - g¬gp_ˇ¬tup - = - -128 {0, 0, -ARGS_DOC -, -DOC -, -¬gp_chžd»n_ˇ¬tup -}; - -131 * - g´Ý”ty - = -NULL -; - -134 * - gdś - = -NULL -; - -141 -”rÜ_t - - -142 - g¬gp_·rŁ_commÚ_ÝtiÚs - - -144  - gkey -, - -145 * - g¬g -, - -146  -¬gp_ˇ©e - * - gˇ©e - - -149 -”rÜ_t - - g”r - = 0; - -152  - gkey -) - -154  - gOPT_CACHE_SIZE -: - -157 -n˙che_size - = -ˇąŢ -( -¬g -, -NULL -, 10); - -161  - gOPT_PROPERTY -: - -164 -´Ý”ty - = -ˇrdup -( -¬g -); - -165 if(! - g´Ý”ty -) - -166 -”rÜ -( -EXIT_FAILURE -, -ENOMEM -, "Could‚ot strduphe…roperty"); - -170  - gARGP_KEY_ARG -: - -173 -dś - = -ˇrdup -( -¬g -); - -174 if(! - gdś -) - -175 -”rÜ -( -EXIT_FAILURE -, -ENOMEM -, "argp_parse_common_options: " - -179  - gi - = -ˇľ’ -( -dś -) - 1; - -184 if(( - gdś -[ -i -] == '/') && (i != 0)) - -186 -dś -[ -i -] = 0; - -188 -LOG_MSG -("¬gp_·rŁ_commÚ_ÝtiÚs: Fž‹ršghdśeůÜy %s.", -dś -); - -192  - gARGP_KEY_END -: - -195 if(! -·rsšg_ˇ¬tup_ÝtiÚs_fšished -) - -198 -n˙che_»Łt -(); - -201 if(! - gdś -) - -207 - gdś - = "/var/tmp"; - -211 - g·rsšg_ˇ¬tup_ÝtiÚs_fšished - = 1; - -222 -”r - = -ARGP_ERR_UNKNOWN -; - -227  - g”r -; - -232 -”rÜ_t - - -233 - g¬gp_·rŁ_ˇ¬tup_ÝtiÚs - - -235  - gkey -, - -236 * - g¬g -, - -237  -¬gp_ˇ©e - * - gˇ©e - - -241 -”rÜ_t - - g”r - = 0; - -243  - gkey -) - -247 -”r - = -ARGP_ERR_UNKNOWN -; - -253  - g”r -; - - @options.h - -26 #iâdeŕ -__OPTIONS_H__ - - -27  - #__OPTIONS_H__ - - - ) - -32  - #OPT_CACHE_SIZE - 'c' - - ) - -34  - #OPT_PROPERTY - 'p' - - ) - -37  - #OPT_LONG_CACHE_SIZE - "˙che-size" - - ) - -38  - #OPT_LONG_PROPERTY - "´Ý”ty" - - ) - -41  - #OPT_LONG -( -o -č"--" - ) -o - -44  - #PROPERTY_PARAM - "{}" - - ) - -50  -¬gp - -¬gp_ˇ¬tup -; - -53  -¬gp - -¬gp_ruÁime -; - -56  -n˙che_size -; - -59 * -´Ý”ty -; - -62 * -dś -; - - @/usr/include/dirent.h - -58 #iâdeŕ -_DIRENT_H_ - - -59  - #_DIRENT_H_ - - - ) - -65  - ~<_tyłs.h -> - -66  - ~ - -68  - g_‹Îdś -; - -72  - m__dd_fd -; - -73  - m__dd_loc -; - -74  - m__dd_size -; - -75 * - m__dd_buf -; - -76  - m__dd_Ën -; - -77  - m__dd_Łek -; - -78  - m__dd_»wšd -; - -79  - m__dd_ćags -; - -80 -__d¬wš_±h»ad_mu‹x_t - - m__dd_lock -; - -81  -_‹Îdś - * - m__dd_td -; - -82 } - tDIR -; - -84 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -86  - #DIRBLKSIZ - 1024 - - ) - -88  - #dśfd -( -dśp -č((dśp)-> -__dd_fd -) - - ) - -91  - #DTF_HIDEW - 0x0001 - - ) - -92  - #DTF_NODUP - 0x0002 - - ) - -93  - #DTF_REWIND - 0x0004 - - ) - -94  - #__DTF_READALL - 0x0008 - - ) - -98 #iâdeŕ -KERNEL - - -100  - ~ - -102 - g__BEGIN_DECLS - - -103 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -104  - $®phasÜt -(cÚˇ *, cÚˇ *č - `__DARWIN_INODE64 -( -®phasÜt -); - -106  - $ţoŁdś -( -DIR - *č - `__DARWIN_ALIAS -( -ţoŁdś -); - -107 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -108  - `g‘dś’Ś›s -(, *, , *); - -110 -DIR - * - $Ý’dś -(cÚˇ *č - `__DARWIN_ALIAS_I -( -Ý’dś -); - -111 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -112 -DIR - * - $__Ý’dś2 -(cÚˇ *, č - `__DARWIN_ALIAS_I -( -__Ý’dś2 -); - -114  -dś’t - * - $»addś -( -DIR - *č - `__DARWIN_INODE64 -( -»addś -); - -115  - $»addś_r -( -DIR - *,  -dś’t - *, dś’**č - `__DARWIN_INODE64 -( -»addś_r -); - -116  - $»wšddś -( -DIR - *č - `__DARWIN_ALIAS_I -( -»wšddś -); - -117 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -118  - `s˙ndś -(cÚˇ *,  -dś’t - ***, - -119 (*)( -dś’t - *), (*)(cÚˇ *, cÚˇ *)č - `__DARWIN_INODE64 -( -s˙ndś -); - -121  - $Łekdś -( -DIR - *, č - `__DARWIN_ALIAS_I -( -Łekdś -); - -122  - $‹Îdś -( -DIR - *č - `__DARWIN_ALIAS_I -( -‹Îdś -); - -123 -__END_DECLS - - - @/usr/include/fcntl.h - -23  - ~ - - @/usr/include/stddef.h - -61 #iŕ! -defšed -( -__STDDEF_H__ -) - -63 #iŕ! -defšed -( -__Ăed_wch¬_t -č&& !defšed( -__Ăed_size_t -) \ - -64 && ! -defšed -( -__Ăed_±rdiff_t -č&& !defšed( -__Ăed_NULL -) \ - -65 && ! - $defšed -( -__Ăed_wšt_t -) - -66  - #__STDDEF_H__ - - - ) - -69  - ~<_tyłs.h -> - -71 #iŕ - `defšed -( -__STDDEF_H__ -č|| defšed( -__Ăed_±rdiff_t -) - -72 #iâdeŕ -_PTRDIFF_T - - -73  - #_PTRDIFF_T - - - ) - -74  -__d¬wš_±rdiff_t - - t±rdiff_t -; - -78 #iŕ - `defšed -( -__STDDEF_H__ -č|| defšed( -__Ăed_size_t -) - -79 #iâdef -_SIZE_T - - -80  - #_SIZE_T - - - ) - -83  -__d¬wš_size_t - - tsize_t -; - -87 #iŕ - `defšed -( -__STDDEF_H__ -č|| defšed( -__Ăed_wch¬_t -) - -88 #iâdef -__ýluĄlus - - -89 #iâdef -_WCHAR_T - - -90  - #_WCHAR_T - - - ) - -91  -__d¬wš_wch¬_t - - twch¬_t -; - -96 #iŕ( - `defšed -( -__STDDEF_H__ -č&& !defšed( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -))) \ - -97 || - $defšed -( -__Ăed_wšt_t -) - -98 #iâdef -_WINT_T - - -99  - #_WINT_T - - - ) - -100  -__d¬wš_wšt_t - - twšt_t -; - -104 #iŕ - `defšed -( -__STDDEF_H__ -č|| defšed( -__Ăed_NULL -) - -105 #iâdeŕ -NULL - - -106  - #NULL - -__DARWIN_NULL - - - ) - -110 #ifdeŕ -__STDDEF_H__ - - -111 #iŕ - `defšed -( -__GNUC__ -č&& (__GNUC__ =đ3 && -__GNUC_MINOR__ - >= 5 || __GNUC__ > 3) - -112 #iâdeŕ -__offŁtof - - -113  - #__offŁtof -( -tył -, -f›ld -č - `__bužtš_offŁtof -Ńył, f›ld) - - ) - -115  - #offŁtof -( -tył -, -f›ld -č - `__bužtš_offŁtof -Ńył, f›ld) - - ) - -117 #iâdeŕ -__offŁtof - - -118  - #__offŁtof -( -tył -, -f›ld -č(( -size_t -)(&(Ńył *)0)->f›ld)) - - ) - -120  - #offŁtof -( -tył -, -f›ld -č(( -size_t -)(&(Ńył *)0)->f›ld)) - - ) - -126 #undeŕ -__Ăed_±rdiff_t - - -127 #undeŕ -__Ăed_size_t - - -128 #undeŕ -__Ăed_wch¬_t - - -129 #undeŕ -__Ăed_wšt_t - - -130 #undeŕ -__Ăed_NULL - - - @/usr/include/stdio.h - -61 #iâdef -_STDIO_H_ - - -62  - #_STDIO_H_ - - - ) - -64  - ~<_tyłs.h -> - -66 #iâdeŕ -_VA_LIST - - -67  - #_VA_LIST - - - ) - -70  -__d¬wš_va_liˇ - - tva_liˇ -; - -73 #iâdef -_OFF_T - - -74  - #_OFF_T - - - ) - -75  -__d¬wš_off_t - - toff_t -; - -78 #iâdef -_SIZE_T - - -79  - #_SIZE_T - - - ) - -80  -__d¬wš_size_t - - tsize_t -; - -83 #iâdeŕ -NULL - - -84  - #NULL - -__DARWIN_NULL - - - ) - -87  -__d¬wš_off_t - - tĺos_t -; - -89  - #_FSTDIO - - - ) - -98  - s__sbuf - { - -99 * - m_baŁ -; - -100  - m_size -; - -104  - g__sFILEX -; - -132  - s__sFILE - { - -133 * - m_p -; - -134  - m_r -; - -135  - m_w -; - -136  - m_ćags -; - -137  - m_fže -; - -138  -__sbuf - - m_bf -; - -139  - m_lbfsize -; - -142 * - m_cook› -; - -143 (* - m_ţoŁ -)(*); - -144 (* - m_»ad -) (*, *, ); - -145 -ĺos_t - (* -_Łek -č(*, - mĺos_t -, ); - -146 (* - m_wr™e -)(*, const *, ); - -149  -__sbuf - - m_ub -; - -150  -__sFILEX - * - m_exŚa -; - -151  - m_ur -; - -154  - m_ubuf -[3]; - -155  - m_nbuf -[1]; - -158  -__sbuf - - m_lb -; - -161  - m_blksize -; - -162 -ĺos_t - - m_offŁt -; - -163 } - tFILE -; - -165 - g__BEGIN_DECLS - - -166 #iŕ -__DARWIN_UNIX03 - - -167 -FILE - * -__ˇdšp -; - -168 -FILE - * -__ˇdouŤ -; - -169 -FILE - * -__ˇd”˝ -; - -171 -FILE - -__sF -[]; - -173 - g__END_DECLS - - -175  - #__SLBF - 0x0001 - - ) - -176  - #__SNBF - 0x0002 - - ) - -177  - #__SRD - 0x0004 - - ) - -178  - #__SWR - 0x0008 - - ) - -180  - #__SRW - 0x0010 - - ) - -181  - #__SEOF - 0x0020 - - ) - -182  - #__SERR - 0x0040 - - ) - -183  - #__SMBF - 0x0080 - - ) - -184  - #__SAPP - 0x0100 - - ) - -185  - #__SSTR - 0x0200 - - ) - -186  - #__SOPT - 0x0400 - - ) - -187  - #__SNPT - 0x0800 - - ) - -188  - #__SOFF - 0x1000 - - ) - -189  - #__SMOD - 0x2000 - - ) - -190  - #__SALC - 0x4000 - - ) - -191  - #__SIGN - 0x8000 - - ) - -202  - #_IOFBF - 0 - - ) - -203  - #_IOLBF - 1 - - ) - -204  - #_IONBF - 2 - - ) - -206  - #BUFSIZ - 1024 - - ) - -207  - #EOF - (-1) - - ) - -215  - #FOPEN_MAX - 20 - - ) - -216  - #FILENAME_MAX - 1024 - - ) - -219 #iâdeŕ -_ANSI_SOURCE - - -220  - #P_tmpdś - "/v¬/tmp/" - - ) - -222  - #L_tm˛am - 1024 - - ) - -223  - #TMP_MAX - 308915776 - - ) - -225 #iâdeŕ -SEEK_SET - - -226  - #SEEK_SET - 0 - - ) - -228 #iâdeŕ -SEEK_CUR - - -229  - #SEEK_CUR - 1 - - ) - -231 #iâdeŕ -SEEK_END - - -232  - #SEEK_END - 2 - - ) - -235 #iŕ -__DARWIN_UNIX03 - - -236  - #ˇdš - -__ˇdšp - - - ) - -237  - #ˇdout - -__ˇdouŤ - - - ) - -238  - #ˇd”r - -__ˇd”˝ - - - ) - -240  - #ˇdš - (& -__sF -[0]) - - ) - -241  - #ˇdout - (& -__sF -[1]) - - ) - -242  - #ˇd”r - (& -__sF -[2]) - - ) - -248 -__BEGIN_DECLS - - -249  -ţ—»Ľ -( -FILE - *); - -250  -fţoŁ -( -FILE - *); - -251  -ăof -( -FILE - *); - -252  -ăĽÜ -( -FILE - *); - -253  -fćush -( -FILE - *); - -254  -fg‘c -( -FILE - *); - -255  -fg‘pos -( -FILE - * -__»ˇriů -, -ĺos_t - *); - -256 * -fg‘s -(* -__»ˇriů -, , -FILE - *); - -257 -FILE - * -fÝ’ -(cÚˇ * -__»ˇriů -, const * __restrict); - -258  - $ĺrštf -( -FILE - * -__»ˇriů -, cÚˇ * __»ˇriů, ...č - `__DARWIN_LDBL_COMPAT -( -ĺrštf -); - -259  - `ĺutc -(, -FILE - *); - -260  - $ĺuts -(cÚˇ * -__»ˇriů -, -FILE - * __»ˇriůč - `__DARWIN_ALIAS -( -ĺuts -); - -261 -size_t - - `ä—d -(* -__»ˇriů -, size_t, size_t, -FILE - * __restrict); - -262 -FILE - * - $äeÝ’ -(cÚˇ * -__»ˇriů -, const * __restrict, - -263 -FILE - * -__»ˇriů -č - `__DARWIN_ALIAS -( -äeÝ’ -); - -264  - $fs˙nf -( -FILE - * -__»ˇriů -, cÚˇ * __»ˇriů, ...č - `__DARWIN_LDBL_COMPAT -( -fs˙nf -); - -265  - `fŁek -( -FILE - *, , ); - -266  - `fŁŤos -( -FILE - *, cÚˇ -ĺos_t - *); - -267  - `á–l -( -FILE - *); - -268 -size_t - - $fwr™e -(cÚˇ * -__»ˇriů -, -size_t -, size_t, -FILE - * __»ˇriůč - `__DARWIN_ALIAS -( -fwr™e -); - -269  - `g‘c -( -FILE - *); - -270  - `g‘ch¬ -(); - -271 * - `g‘s -(*); - -272 #iŕ! - `defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -273 -__cÚˇ -  -sys_ĂĽ -; - -274 -__cÚˇ - *__cÚˇ -sys_”ľiˇ -[]; - -276  - `łĽÜ -(const *); - -277  - $´štf -(cÚˇ * -__»ˇriů -, ...č - `__DARWIN_LDBL_COMPAT -( -´štf -); - -278  - `putc -(, -FILE - *); - -279  - `putch¬ -(); - -280  - `puts -(const *); - -281  - `»move -(const *); - -282  - `»Çme - (const *, const *); - -283  - `»wšd -( -FILE - *); - -284  - $s˙nf -(cÚˇ * -__»ˇriů -, ...č - `__DARWIN_LDBL_COMPAT -( -s˙nf -); - -285  - `Łtbuf -( -FILE - * -__»ˇriů -, * __restrict); - -286  - `Łtvbuf -( -FILE - * -__»ˇriů -, * __»ˇriů, , -size_t -); - -287  - $Ąrštf -(* -__»ˇriů -, cÚˇ * __»ˇriů, ...č - `__DARWIN_LDBL_COMPAT -( -Ąrštf -); - -288  - $ss˙nf -(cÚˇ * -__»ˇriů -, cÚˇ * __»ˇriů, ...č - `__DARWIN_LDBL_COMPAT -( -ss˙nf -); - -289 -FILE - * - `tmpfže -(); - -290 * - `tm˛am -(*); - -291  - `ung‘c -(, -FILE - *); - -292  - $vĺrštf -( -FILE - * -__»ˇriů -, cÚˇ * __»ˇriů, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vĺrštf -); - -293  - $v´štf -(cÚˇ * -__»ˇriů -, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -v´štf -); - -294  - $vĄrštf -(* -__»ˇriů -, cÚˇ * __»ˇriů, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vĄrštf -); - -295 #iŕ! - `defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -296  - $aĄrštf -(**, cÚˇ *, ...č - `__DARWIN_LDBL_COMPAT -( -aĄrštf -); - -297  - $vaĄrštf -(**, cÚˇ *, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vaĄrštf -); - -299 -__END_DECLS - - -304 #iâdeŕ -_ANSI_SOURCE - - -305  - #L_ů”mid - 1024 - - ) - -307 -__BEGIN_DECLS - - -308 * - `ů”mid -(*); - -309 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -310 * - `ů”mid_r -(*); - -312 -FILE - * - `fdÝ’ -(, const *); - -313 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -314 * - `fg‘Ę -( -FILE - *, -size_t - *); - -316  - `fž’o -( -FILE - *); - -317  - `ćockfže -( -FILE - *); - -318 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -319 -__cÚˇ -  - -320 * - `fmtcheck -(const *, const *); - -321  - `ĺurge -( -FILE - *); - -323  - `fŁeko -( -FILE - *, -off_t -, ); - -324 -off_t - - `á–lo -( -FILE - *); - -325  - `árylockfže -( -FILE - *); - -326  - `fuĆockfže -( -FILE - *); - -327  - `g‘c_uĆocked -( -FILE - *); - -328  - `g‘ch¬_uĆocked -(); - -329 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -330  - `g‘w -( -FILE - *); - -332  - `pţoŁ -( -FILE - *); - -333 -FILE - * - `pÝ’ -(const *, const *); - -334  - `putc_uĆocked -(, -FILE - *); - -335  - `putch¬_uĆocked -(); - -336 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -337  - `putw -(, -FILE - *); - -338  - `Łtbufăr -( -FILE - *, *, ); - -339  - `ŁŽšebuf -( -FILE - *); - -341  - $˘´štf -(* -__»ˇriů -, -size_t -, cÚˇ * __»ˇriů, ...č - `__DARWIN_LDBL_COMPAT -( -˘´štf -); - -342 * - $‹m˛am -(cÚˇ *, cÚˇ *č - `__DARWIN_ALIAS -( -‹m˛am -); - -343  - $vfs˙nf -( -FILE - * -__»ˇriů -, cÚˇ * __»ˇriů, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vfs˙nf -); - -344  - $vs˙nf -(cÚˇ * -__»ˇriů -, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vs˙nf -); - -345  - $v˘´štf -(* -__»ˇriů -, -size_t -, cÚˇ * __»ˇriů, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -v˘´štf -); - -346  - $vss˙nf -(cÚˇ * -__»ˇriů -, cÚˇ * __»ˇriů, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vss˙nf -); - -347 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -348 -FILE - * - `zÝ’ -(const *, const *, ); - -350 -__END_DECLS - - -355 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -356 -__BEGIN_DECLS - - -357 -FILE - * - `funÝ’ -(const *, - -360 - $ĺos_t - (*)(*, -ĺos_t -, ), - -362 -__END_DECLS - - -363  - #äÝ’ -( -cook› -, -â -č - `funÝ’ -(cook›, fn, 0, 0, 0) - - ) - -364  - #fwÝ’ -( -cook› -, -â -č - `funÝ’ -(cook›, 0, fn, 0, 0) - - ) - -371 -__BEGIN_DECLS - - -372  - `__¤g‘ -( -FILE - *); - -373  - $__svfs˙nf -( -FILE - *, cÚˇ *, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -__svfs˙nf -); - -374  - `__swbuf -(, -FILE - *); - -375 -__END_DECLS - - -381  - #__sg‘c -( -p -č(--Ő)-> -_r - < 0 ? - `__¤g‘ -Őč: ()(*Ő)-> -_p -++)) - - ) - -382 #iŕ - `defšed -( -__GNUC__ -č&& defšed( -__STDC__ -) - -383  -__šlše -  - $__Ąutc -( -_c -, -FILE - * -_p -) { - -384 iŕ(-- -_p --> -_w - >đ0 || (_p->_w >đ_p-> -_lbfsize - && () -_c - != '\n')) - -385  (* -_p -->_p++ = -_c -); - -387  ( - `__swbuf -( -_c -, -_p -)); - -388 - } -} - -393  - #__Ąutc -( -c -, -p -) \ - -394 (--( -p -)-> -_w - < 0 ? \ - -395 ( -p -)-> -_w - >đŐ)-> -_lbfsize - ? \ - -396 (*( -p -)-> -_p - = ( -c -)), *(p)->_p != '\n' ? \ - -397 ()*( -p -)-> -_p -++ : \ - -398 - `__swbuf -('\n', -p -) : \ - -399 - `__swbuf -(()( -c -), -p -) : \ - -400 (*( -p -)-> -_p - = ( -c -), ()*Ő)->_p++)) - - ) - -403  - #__săof -( -p -č((Ő)-> -_ćags - & -__SEOF -č!đ0) - - ) - -404  - #__săĽÜ -( -p -č((Ő)-> -_ćags - & -__SERR -č!đ0) - - ) - -405  - #__sţ—»Ľ -( -p -č(()(Ő)-> -_ćags - &đ~( -__SERR -| -__SEOF -))) - - ) - -406  - #__sfž’o -( -p -č(Ő)-> -_fže -) - - ) - -408 #iâdeŕ -_ANSI_SOURCE - - -409 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -410  - #ăof_uĆocked -( -p -č - `__săof -Ő) - - ) - -411  - #ăĽÜ_uĆocked -( -p -č - `__săĽÜ -Ő) - - ) - -412  - #ţ—»Ľ_uĆocked -( -p -č - `__sţ—»Ľ -Ő) - - ) - -413  - #fž’o_uĆocked -( -p -č - `__sfž’o -Ő) - - ) - -416 #iâdeŕ -lšt - - -417  - #g‘c_uĆocked -( -ĺ -č - `__sg‘c -(ĺ) - - ) - -418  - #putc_uĆocked -( -x -, -ĺ -č - `__Ąutc -(x, fp) - - ) - -421  - #g‘ch¬_uĆocked -(č - `g‘c_uĆocked -( -ˇdš -) - - ) - -422  - #putch¬_uĆocked -( -x -č - `putc_uĆocked -(x, -ˇdout -) - - ) - -425 #ifdeŕ -_USE_EXTENDED_LOCALES_ - - -426  - ~ - -429 #iŕ -defšed - ( -__GNUC__ -č&& -_FORTIFY_SOURCE - > 0 && !defšed ( -__ýluĄlus -) - -431  - ~<Łcu»/_ˇdio.h -> - - @/usr/include/stdlib.h - -58 #iâdeŕ -_STDLIB_H_ - - -59  - #_STDLIB_H_ - - - ) - -61  - ~ - -63  - ~<_tyłs.h -> - -64 #iŕ! -defšed -( -_ANSI_SOURCE -) - -65  - ~ - -66 #iŕ(! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -67  - ~<®lo˙.h -> - -71 #iâdef -_SIZE_T - - -72  - #_SIZE_T - - - ) - -75  -__d¬wš_size_t - - tsize_t -; - -78 #iŕ! -defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -79 #iâdeŕ -_CT_RUNE_T - - -80  - #_CT_RUNE_T - - - ) - -81  -__d¬wš_ů_ruĂ_t - - tů_ruĂ_t -; - -84 #iâdeŕ -_RUNE_T - - -85  - #_RUNE_T - - - ) - -86  -__d¬wš_ruĂ_t - - truĂ_t -; - -90 #iâdef -__ýluĄlus - - -91 #iâdef -_WCHAR_T - - -92  - #_WCHAR_T - - - ) - -93  -__d¬wš_wch¬_t - - twch¬_t -; - -98  - mquŮ -; - -99  - m»m -; - -100 } - tdiv_t -; - -103  - mquŮ -; - -104  - m»m -; - -105 } - tldiv_t -; - -107 #iŕ! -__DARWIN_NO_LONG_LONG - - -109  - mquŮ -; - -110  - m»m -; - -111 } - tÎdiv_t -; - -114 #iâdeŕ -NULL - - -115  - #NULL - -__DARWIN_NULL - - - ) - -118  - #EXIT_FAILURE - 1 - - ) - -119  - #EXIT_SUCCESS - 0 - - ) - -121  - #RAND_MAX - 0x7fffffff - - ) - -123 #ifdeŕ -_USE_EXTENDED_LOCALES_ - - -124  - ~<_xlo˙Ë.h -> - -127 #iâdeŕ -MB_CUR_MAX - - -128 #ifdeŕ -_USE_EXTENDED_LOCALES_ - - -129  - #MB_CUR_MAX - ( - `___mb_cur_max -()) - - ) - -130 #iâdeŕ -MB_CUR_MAX_L - - -131  - #MB_CUR_MAX_L -( -x -č( - `___mb_cur_max_l -(x)) - - ) - -134  -__mb_cur_max -; - -135  - #MB_CUR_MAX - -__mb_cur_max - - - ) - -139 #iŕ! -defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) \ - -140 && -defšed -( -_USE_EXTENDED_LOCALES_ -č&& ! - $defšed -( -MB_CUR_MAX_L -) - -141  - #MB_CUR_MAX_L -( -x -č( - `___mb_cur_max_l -(x)) - - ) - -144 -__BEGIN_DECLS - - -145  - $abÜt -(č -__d—d2 -; - -146  - $abs -(č -__pu»2 -; - -147  - `©ex™ -((*)()); - -148  - `©of -(const *); - -149  - `©oi -(const *); - -150  - `©Ţ -(const *); - -151 #iŕ! -__DARWIN_NO_LONG_LONG - - -153 - `©Ţl -(const *); - -155 * - `b٬ch -(cÚˇ *, cÚˇ *, -size_t -, - -156 -size_t -, (*)(const *, const *)); - -157 * - `˙Îoc -( -size_t -, size_t); - -158 -div_t - - $div -(, č -__pu»2 -; - -159  - $ex™ -(č -__d—d2 -; - -160  - `ä“ -(*); - -161 * - `g‘’v -(const *); - -162  - $Ďbs -(č -__pu»2 -; - -163 -ldiv_t - - $ldiv -(, č -__pu»2 -; - -164 #iŕ! -__DARWIN_NO_LONG_LONG - - -166 - `Îabs -(); - -167 -Îdiv_t - - `Îdiv -(, ); - -169 * - `m®loc -( -size_t -); - -170  - `mbËn -(cÚˇ *, -size_t -); - -171 -size_t - - `mbˇowcs -( -wch¬_t - * -__»ˇriů - , const * __restrict, size_t); - -172  - `mbtowc -( -wch¬_t - * -__»ˇriů -, cÚˇ * __»ˇriů, -size_t -); - -173  - `qsÜt -(*, -size_t -, size_t, - -175  - `żnd -(); - -176 * - `»®loc -(*, -size_t -); - -177  - `¤Şd -(); - -178  - $ˇąod -(cÚˇ *, **č - `__DARWIN_ALIAS -( -ˇąod -); - -179  - $ˇąof -(cÚˇ *, **č - `__DARWIN_ALIAS -( -ˇąof -); - -180  - `ˇąŢ -(const *, **, ); - -182 - $ˇąŢd -(cÚˇ *, **č - `__DARWIN_LDBL_COMPAT -( -ˇąŢd -); - -183 #iŕ! -__DARWIN_NO_LONG_LONG - - -185 - `ˇąŢl -(const *, **, ); - -188 - `ˇąoul -(const *, **, ); - -189 #iŕ! -__DARWIN_NO_LONG_LONG - - -191 - `ˇąouÎ -(const *, **, ); - -193  - $syˇem -(cÚˇ *č - `__DARWIN_ALIAS_C -( -syˇem -); - -194 -size_t - - `wcˇombs -(* -__»ˇriů -, cÚˇ -wch¬_t - * __restrict, size_t); - -195  - `wůomb -(*, -wch¬_t -); - -197 #iâdeŕ -_ANSI_SOURCE - - -198  - $_Ex™ -(č -__d—d2 -; - -199  - `a64l -(const *); - -200  - `dżnd48 -(); - -201 * - `ecvt -(, , * -__»ˇriů -, *__restrict); - -202  - `”Şd48 -([3]); - -203 * - `fcvt -(, , * -__»ˇriů -, *__restrict); - -204 * - `gcvt -(, , *); - -205  - `g‘subÝt -(**, * const *, **); - -206  - `gżÁ± -(); - -207 #iŕ -__DARWIN_UNIX03 - - -208 * - `𙎩e -(, *, -size_t -); - -210 * - `𙎩e -(, *, ); - -212  - `jżnd48 -([3]); - -213 * - `l64a -(); - -214  - `lcÚg48 -([7]); - -215  - `ĚŞd48 -(); - -216 * - `mk‹mp -(*); - -217  - `mkˇemp -(*); - -218  - `mżnd48 -(); - -219  - `ÄŞd48 -([3]); - -220  - `posix_Ý’± -(); - -221 * - `±˘ame -(); - -222  - $pu‹nv -(*č - `__DARWIN_ALIAS -( -pu‹nv -); - -223  - `żndom -(); - -224  - `żnd_r -(*); - -225 #iŕ( -__DARWIN_UNIX03 - && ! - `defšed -( -_POSIX_C_SOURCE -)č|| defšed( -_DARWIN_C_SOURCE -č|| defšed( -_DARWIN_BETTER_REALPATH -) - -226 * - $»®·th -(cÚˇ * -__»ˇriů -, * __»ˇriůč - `__DARWIN_EXTSN -( -»®·th -); - -228 * - $»®·th -(cÚˇ * -__»ˇriů -, * __»ˇriůč - `__DARWIN_ALIAS -( -»®·th -); - -231 * - `Łed48 -([3]); - -232  - $Ł‹nv -(cÚˇ *, cÚˇ *, č - `__DARWIN_ALIAS -( -Ł‹nv -); - -233 #iŕ -__DARWIN_UNIX03 - - -234  - $Łtkey -(cÚˇ *č - `__DARWIN_ALIAS -( -Łtkey -); - -236  - `Łtkey -(const *); - -238 * - `Łtˇ©e -(const *); - -239  - `¤Şd48 -(); - -240 #iŕ -__DARWIN_UNIX03 - - -241  - `¤Şdom -(); - -243  - `¤Şdom -(); - -245  - `uĆock± -(); - -246 #iŕ -__DARWIN_UNIX03 - - -247  - $unŁ‹nv -(cÚˇ *č - `__DARWIN_ALIAS -( -unŁ‹nv -); - -249  - `unŁ‹nv -(const *); - -253 #iŕ! - `defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -254  - ~ - -256 #iâdeŕ -_DEV_T - - -257  -__d¬wš_dev_t - - tdev_t -; - -258  - #_DEV_T - - - ) - -261 #iâdef -_MODE_T - - -262  -__d¬wš_mode_t - - tmode_t -; - -263  - #_MODE_T - - - ) - -266 -u_št32_t - - -267 - `¬c4żndom -(); - -268  - `¬c4żndom_addżndom -(* -d© -,  -d©Ën -); - -269  - `¬c4żndom_ˇś -(); - -272 * - `cg‘˙p -(*, const *, ); - -273  - `cg‘ţoŁ -(); - -274  - `cg‘’t -(**, **, const *); - -275  - `cg‘fśˇ -(**, **); - -276  - `cg‘m©ch -(const *, const *); - -277  - `cg‘Ăxt -(**, **); - -278  - `cg‘num -(*, const *, *); - -279  - `cg‘Łt -(const *); - -280  - `cg‘ˇr -(*, const *, **); - -281  - `cg‘uˇr -(*, const *, **); - -283  - $d«mÚ -(, č - $__DARWIN_1050 -( -d«mÚ -č -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 -; - -284 * - `devÇme -( -dev_t -, -mode_t -); - -285 * - `devÇme_r -( -dev_t -, -mode_t -, * -buf -,  -Ën -); - -286 * - `g‘bsize -(*, *); - -287  - `g‘lßdavg -([], ); - -289 * - `g‘´ogÇme -(); - -291  - `h—psÜt -(*, -size_t -, size_t, - -293  - `m”gesÜt -(*, -size_t -, size_t, - -295  - `qsÜt_r -(*, -size_t -, size_t, *, - -297  - `żdixsÜt -(const **, , const *, - -299  - `ŁŤrogÇme -(const *); - -300  - `¤adixsÜt -(const **, , const *, - -302  - `¤Şddev -(); - -303  - `¤Şdomdev -(); - -304 * - `»®locf -(*, -size_t -); - -305 #iŕ! -__DARWIN_NO_LONG_LONG - - -307 - `ˇąoq -(const *, **, ); - -309 - `ˇąouq -(const *, **, ); - -311 * -subÝŹrg -; - -312 * - `v®loc -( -size_t -); - -316 #iŕ! - `defšed -( -__ýluĄlus -č&& defšed( -__WCHAR_MAX__ -) && __WCHAR_MAX__ <= 0xffffU - -317 #´agm¨ -GCC - -poisÚ - -mbˇowcs - -mbtowc - -wcˇombs - -wůomb - - -319 -__END_DECLS - - -321 #ifdeŕ -_USE_EXTENDED_LOCALES_ - - -322  - ~ - - @/usr/include/sys/mman.h - -76 #iâdef -_SYS_MMAN_H_ - - -77  - #_SYS_MMAN_H_ - - - ) - -79  - ~ - -80  - ~ - -82  - ~ - -88 #iâdef -_MODE_T - - -89  -__d¬wš_mode_t - - tmode_t -; - -90  - #_MODE_T - - - ) - -93 #iâdeŕ -_OFF_T - - -94  -__d¬wš_off_t - - toff_t -; - -95  - #_OFF_T - - - ) - -98 #iâdeŕ -_SIZE_T - - -99  - #_SIZE_T - - - ) - -100  -__d¬wš_size_t - - tsize_t -; - -107  - #PROT_NONE - 0x00 - - ) - -108  - #PROT_READ - 0x01 - - ) - -109  - #PROT_WRITE - 0x02 - - ) - -110  - #PROT_EXEC - 0x04 - - ) - -116  - #MAP_SHARED - 0x0001 - - ) - -117  - #MAP_PRIVATE - 0x0002 - - ) - -118 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -119  - #MAP_COPY - -MAP_PRIVATE - - - ) - -125  - #MAP_FIXED - 0x0010 - - ) - -126 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -127  - #MAP_RENAME - 0x0020 - - ) - -128  - #MAP_NORESERVE - 0x0040 - - ) - -129  - #MAP_RESERVED0080 - 0x0080 - - ) - -130  - #MAP_NOEXTEND - 0x0100 - - ) - -131  - #MAP_HASSEMAPHORE - 0x0200 - - ) - -132  - #MAP_NOCACHE - 0x0400 - - ) - -138  - #MCL_CURRENT - 0x0001 - - ) - -139  - #MCL_FUTURE - 0x0002 - - ) - -144  - #MAP_FAILED - ((*)-1č - - ) - -149  - #MS_ASYNC - 0x0001 - - ) - -150  - #MS_INVALIDATE - 0x0002 - - ) - -151  - #MS_SYNC - 0x0010 - - ) - -153 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -154  - #MS_KILLPAGES - 0x0004 - - ) - -155  - #MS_DEACTIVATE - 0x0008 - - ) - -160  - #MAP_FILE - 0x0000 - - ) - -161  - #MAP_ANON - 0x1000 - - ) - -168  - #POSIX_MADV_NORMAL - 0 - - ) - -169  - #POSIX_MADV_RANDOM - 1 - - ) - -170  - #POSIX_MADV_SEQUENTIAL - 2 - - ) - -171  - #POSIX_MADV_WILLNEED - 3 - - ) - -172  - #POSIX_MADV_DONTNEED - 4 - - ) - -174 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -175  - #MADV_NORMAL - -POSIX_MADV_NORMAL - - - ) - -176  - #MADV_RANDOM - -POSIX_MADV_RANDOM - - - ) - -177  - #MADV_SEQUENTIAL - -POSIX_MADV_SEQUENTIAL - - - ) - -178  - #MADV_WILLNEED - -POSIX_MADV_WILLNEED - - - ) - -179  - #MADV_DONTNEED - -POSIX_MADV_DONTNEED - - - ) - -180  - #MADV_FREE - 5 - - ) - -185  - #MINCORE_INCORE - 0x1 - - ) - -186  - #MINCORE_REFERENCED - 0x2 - - ) - -187  - #MINCORE_MODIFIED - 0x4 - - ) - -188  - #MINCORE_REFERENCED_OTHER - 0x8 - - ) - -189  - #MINCORE_MODIFIED_OTHER - 0x10 - - ) - -194 -__BEGIN_DECLS - - -196  -mlock®l -(); - -197  -muĆock®l -(); - -199  -mlock -(cÚˇ *, -size_t -); - -200 #iâdeŕ -_MMAP - - -201  - #_MMAP - - - ) - -203 * - $mm­ -(*, -size_t -, , , , -off_t -č - `__DARWIN_ALIAS -( -mm­ -); - -206  - $m´Ůeů -(*, -size_t -, č - `__DARWIN_ALIAS -( -m´Ůeů -); - -208  - $msync -(*, -size_t -, č - `__DARWIN_ALIAS_C -( -msync -); - -210  - `muĆock -(cÚˇ *, -size_t -); - -212  - $munm­ -(*, -size_t -č - `__DARWIN_ALIAS -( -munm­ -); - -214  - `shm_Ý’ -(const *, , ...); - -215  - `shm_uĆšk -(const *); - -217  - `posix_madviŁ -(*, -size_t -, ); - -219 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -220  - `madviŁ -(*, -size_t -, ); - -221  - `mšcÜe -(cÚˇ *, -size_t -, *); - -222  - `mšh”™ -(*, -size_t -, ); - -224 -__END_DECLS - - - @/usr/include/sys/stat.h - -70 #iâdeŕ -_SYS_STAT_H_ - - -71  - #_SYS_STAT_H_ - - - ) - -73  - ~ - -74  - ~ - -77  - #__Ăed_ˇruů_timeĄec - - - ) - -78  - ~ - -85 #iâdeŕ -_BLKCNT_T - - -86  -__d¬wš_blkút_t - - tblkút_t -; - -87  - #_BLKCNT_T - - - ) - -90 #iâdeŕ -_BLKSIZE_T - - -91  -__d¬wš_blksize_t - - tblksize_t -; - -92  - #_BLKSIZE_T - - - ) - -95 #iâdeŕ -_DEV_T - - -96  -__d¬wš_dev_t - - tdev_t -; - -97  - #_DEV_T - - - ) - -100 #iâdef -_INO_T - - -101  -__d¬wš_šo_t - - tšo_t -; - -102  - #_INO_T - - - ) - -105 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -106 #iâdef -_INO64_T - - -107  -__d¬wš_šo64_t - - tšo64_t -; - -108  - #_INO64_T - - - ) - -112 #iâdef -_MODE_T - - -113  -__d¬wš_mode_t - - tmode_t -; - -114  - #_MODE_T - - - ) - -117 #iâdeŕ -_NLINK_T - - -118  -__ušt16_t - - tĆšk_t -; - -119  - #_NLINK_T - - - ) - -122 #iâdeŕ -_UID_T - - -123  -__d¬wš_uid_t - - tuid_t -; - -124  - #_UID_T - - - ) - -127 #iâdeŕ -_GID_T - - -128  -__d¬wš_gid_t - - tgid_t -; - -129  - #_GID_T - - - ) - -132 #iâdeŕ -_OFF_T - - -133  -__d¬wš_off_t - - toff_t -; - -134  - #_OFF_T - - - ) - -137 #iâdef -_TIME_T - - -138  - #_TIME_T - - - ) - -139  -__d¬wš_time_t - - ttime_t -; - -143 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -152  - soˇ© - { - -153 -__ušt16_t - - mˇ_dev -; - -154 -šo_t - - mˇ_šo -; - -155 -mode_t - - mˇ_mode -; - -156 -Ćšk_t - - mˇ_Ćšk -; - -157 -__ušt16_t - - mˇ_uid -; - -158 -__ušt16_t - - mˇ_gid -; - -159 -__ušt16_t - - mˇ_rdev -; - -160 -__št32_t - - mˇ_size -; - -161  -timeĄec - - mˇ_©imeĄec -; - -162  -timeĄec - - mˇ_mtimeĄec -; - -163  -timeĄec - - mˇ_ůimeĄec -; - -164 -__št32_t - - mˇ_blksize -; - -165 -__št32_t - - mˇ_blocks -; - -166 -__ušt32_t - - mˇ_ćags -; - -167 -__ušt32_t - - mˇ_g’ -; - -170  - #__DARWIN_STRUCT_STAT64_TIMES - \ - -171  -timeĄec - -ˇ_©imeĄec -; \ - -172  -timeĄec - -ˇ_mtimeĄec -; \ - -173  -timeĄec - -ˇ_ůimeĄec -; \ - -174  -timeĄec - -ˇ_bśthtimeĄec -; - - ) - -178  - #__DARWIN_STRUCT_STAT64_TIMES - \ - -179 -time_t - -ˇ_©ime -; \ - -180  -ˇ_©im’Łc -; \ - -181 -time_t - -ˇ_mtime -; \ - -182  -ˇ_mtim’Łc -; \ - -183 -time_t - -ˇ_ůime -; \ - -184  -ˇ_ůim’Łc -; \ - -185 -time_t - -ˇ_bśthtime -; \ - -186  -ˇ_bśthtim’Łc -; - - ) - -200  - #__DARWIN_STRUCT_STAT64 - { \ - -201 -dev_t - -ˇ_dev -; \ - -202 -mode_t - -ˇ_mode -; \ - -203 -Ćšk_t - -ˇ_Ćšk -; \ - -204 -__d¬wš_šo64_t - -ˇ_šo -; \ - -205 -uid_t - -ˇ_uid -; \ - -206 -gid_t - -ˇ_gid -; \ - -207 -dev_t - -ˇ_rdev -; \ - -208 -__DARWIN_STRUCT_STAT64_TIMES - \ - -209 -off_t - -ˇ_size -; \ - -210 -blkút_t - -ˇ_blocks -; \ - -211 -blksize_t - -ˇ_blksize -; \ - -212 -__ušt32_t - -ˇ_ćags -; \ - -213 -__ušt32_t - -ˇ_g’ -; \ - -214 -__št32_t - -ˇ_lĄ¬e -; \ - -215 -__št64_t - -ˇ_qĄ¬e -[2]; \ - -216 } - - ) - -222 #iŕ -__DARWIN_64_BIT_INO_T - - -224  -ˇ© - - g__DARWIN_STRUCT_STAT64 -; - -228  - sˇ© - { - -229 -dev_t - - mˇ_dev -; - -230 -šo_t - - mˇ_šo -; - -231 -mode_t - - mˇ_mode -; - -232 -Ćšk_t - - mˇ_Ćšk -; - -233 -uid_t - - mˇ_uid -; - -234 -gid_t - - mˇ_gid -; - -235 -dev_t - - mˇ_rdev -; - -236 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -237  -timeĄec - - mˇ_©imeĄec -; - -238  -timeĄec - - mˇ_mtimeĄec -; - -239  -timeĄec - - mˇ_ůimeĄec -; - -241 -time_t - - mˇ_©ime -; - -242  - mˇ_©im’Łc -; - -243 -time_t - - mˇ_mtime -; - -244  - mˇ_mtim’Łc -; - -245 -time_t - - mˇ_ůime -; - -246  - mˇ_ůim’Łc -; - -248 -off_t - - mˇ_size -; - -249 -blkút_t - - mˇ_blocks -; - -250 -blksize_t - - mˇ_blksize -; - -251 -__ušt32_t - - mˇ_ćags -; - -252 -__ušt32_t - - mˇ_g’ -; - -253 -__št32_t - - mˇ_lĄ¬e -; - -254 -__št64_t - - mˇ_qĄ¬e -[2]; - -259 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -261  -ˇ©64 - - g__DARWIN_STRUCT_STAT64 -; - -268 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -269  - #ˇ_©ime - -ˇ_©imeĄec -. -tv_Łc - - - ) - -270  - #ˇ_mtime - -ˇ_mtimeĄec -. -tv_Łc - - - ) - -271  - #ˇ_ůime - -ˇ_ůimeĄec -. -tv_Łc - - - ) - -272  - #ˇ_bśthtime - -ˇ_bśthtimeĄec -. -tv_Łc - - - ) - -279 #iâdeŕ -S_IFMT - - -281  - #S_IFMT - 0170000 - - ) - -282  - #S_IFIFO - 0010000 - - ) - -283  - #S_IFCHR - 0020000 - - ) - -284  - #S_IFDIR - 0040000 - - ) - -285  - #S_IFBLK - 0060000 - - ) - -286  - #S_IFREG - 0100000 - - ) - -287  - #S_IFLNK - 0120000 - - ) - -288  - #S_IFSOCK - 0140000 - - ) - -289 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -290  - #S_IFWHT - 0160000 - - ) - -291  - #S_IFXATTR - 0200000 - - ) - -296  - #S_IRWXU - 0000700 - - ) - -297  - #S_IRUSR - 0000400 - - ) - -298  - #S_IWUSR - 0000200 - - ) - -299  - #S_IXUSR - 0000100 - - ) - -301  - #S_IRWXG - 0000070 - - ) - -302  - #S_IRGRP - 0000040 - - ) - -303  - #S_IWGRP - 0000020 - - ) - -304  - #S_IXGRP - 0000010 - - ) - -306  - #S_IRWXO - 0000007 - - ) - -307  - #S_IROTH - 0000004 - - ) - -308  - #S_IWOTH - 0000002 - - ) - -309  - #S_IXOTH - 0000001 - - ) - -311  - #S_ISUID - 0004000 - - ) - -312  - #S_ISGID - 0002000 - - ) - -313  - #S_ISVTX - 0001000 - - ) - -315 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -316  - #S_ISTXT - -S_ISVTX - - - ) - -317  - #S_IREAD - -S_IRUSR - - - ) - -318  - #S_IWRITE - -S_IWUSR - - - ) - -319  - #S_IEXEC - -S_IXUSR - - - ) - -329  - #S_ISBLK -( -m -č(((mč& 0170000č=đ0060000č - - ) - -330  - #S_ISCHR -( -m -č(((mč& 0170000č=đ0020000č - - ) - -331  - #S_ISDIR -( -m -č(((mč& 0170000č=đ0040000č - - ) - -332  - #S_ISFIFO -( -m -č(((mč& 0170000č=đ0010000č - - ) - -333  - #S_ISREG -( -m -č(((mč& 0170000č=đ0100000č - - ) - -334  - #S_ISLNK -( -m -č(((mč& 0170000č=đ0120000č - - ) - -335  - #S_ISSOCK -( -m -č(((mč& 0170000č=đ0140000č - - ) - -336 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -337  - #S_ISWHT -( -m -č(((mč& 0170000č=đ0160000č - - ) - -338  - #S_ISXATTR -( -m -č(((mč& 0200000č=đ0200000č - - ) - -356  - #S_TYPEISMQ -( -buf -č(0č - - ) - -357  - #S_TYPEISSEM -( -buf -č(0č - - ) - -358  - #S_TYPEISSHM -( -buf -č(0č - - ) - -374  - #S_TYPEISTMO -( -buf -č(0č - - ) - -377 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -378  - #ACCESSPERMS - ( -S_IRWXU -| -S_IRWXG -| -S_IRWXO -č - - ) - -380  - #ALLPERMS - ( -S_ISUID -| -S_ISGID -| -S_ISTXT -| -S_IRWXU -| -S_IRWXG -| -S_IRWXO -) - - ) - -382  - #DEFFILEMODE - ( -S_IRUSR -| -S_IWUSR -| -S_IRGRP -| -S_IWGRP -| -S_IROTH -| -S_IWOTH -) - - ) - -384  - #S_BLKSIZE - 512 - - ) - -391  - #UF_SETTABLE - 0x0000fffŕ - - ) - -392  - #UF_NODUMP - 0x00000001 - - ) - -393  - #UF_IMMUTABLE - 0x00000002 - - ) - -394  - #UF_APPEND - 0x00000004 - - ) - -395  - #UF_OPAQUE - 0x00000008 - - ) - -402  - #UF_HIDDEN - 0x00008000 - - ) - -407  - #SF_SETTABLE - 0xffff0000 - - ) - -408  - #SF_ARCHIVED - 0x00010000 - - ) - -409  - #SF_IMMUTABLE - 0x00020000 - - ) - -410  - #SF_APPEND - 0x00040000 - - ) - -422 -__BEGIN_DECLS - - -424  - $chmod -(cÚˇ *, -mode_t -č - `__DARWIN_ALIAS -( -chmod -); - -425  - $fchmod -(, -mode_t -č - `__DARWIN_ALIAS -( -fchmod -); - -426  - $fˇ© -(,  -ˇ© - *č - `__DARWIN_INODE64 -( -fˇ© -); - -427  - $lˇ© -(cÚˇ *,  -ˇ© - *č - `__DARWIN_INODE64 -( -lˇ© -); - -428  - `mkdś -(cÚˇ *, -mode_t -); - -429  - `mkfifo -(cÚˇ *, -mode_t -); - -430  - $ˇ© -(cÚˇ *,  -ˇ© - *č - `__DARWIN_INODE64 -(stat); - -431  - `mknod -(cÚˇ *, -mode_t -, -dev_t -); - -432 -mode_t - - `umask -(mode_t); - -434 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -435 #iâdeŕ -_FILESEC_T - - -436  -_fžeŁc -; - -437  -_fžeŁc - * - tfžeŁc_t -; - -438  - #_FILESEC_T - - - ) - -440  - `chćags -(cÚˇ *, -__ušt32_t -); - -441  - `chmodx_Ĺ -(cÚˇ *, -fžeŁc_t -); - -442  - `fchćags -(, -__ušt32_t -); - -443  - `fchmodx_Ĺ -(, -fžeŁc_t -); - -444  - $fˇ©x_Ĺ -(,  -ˇ© - *, -fžeŁc_t -č - `__DARWIN_INODE64 -( -fˇ©x_Ĺ -); - -445  - `lchćags -(cÚˇ *, -__ušt32_t -); - -446  - `lchmod -(cÚˇ *, -mode_t -); - -447  - $lˇ©x_Ĺ -(cÚˇ *,  -ˇ© - *, -fžeŁc_t -č - `__DARWIN_INODE64 -( -lˇ©x_Ĺ -); - -448  - `mkdśx_Ĺ -(cÚˇ *, -fžeŁc_t -); - -449  - `mkfifox_Ĺ -(cÚˇ *, -fžeŁc_t -); - -450  - $ˇ©x_Ĺ -(cÚˇ *,  -ˇ© - *, -fžeŁc_t -č - `__DARWIN_INODE64 -( -ˇ©x_Ĺ -); - -451  - `umaskx_Ĺ -( -fžeŁc_t -); - -453  - `fˇ©x64_Ĺ -(,  -ˇ©64 - *, -fžeŁc_t -); - -454  - `lˇ©x64_Ĺ -(cÚˇ *,  -ˇ©64 - *, -fžeŁc_t -); - -455  - `ˇ©x64_Ĺ -(cÚˇ *,  -ˇ©64 - *, -fžeŁc_t -); - -456  - `fˇ©64 -(,  -ˇ©64 - *); - -457  - `lˇ©64 -(cÚˇ *,  -ˇ©64 - *); - -458  - `ˇ©64 -(cÚˇ *,  -ˇ©64 - *); - -461 -__END_DECLS - - - @/usr/include/sys/time.h - -64 #iâdeŕ -_SYS_TIME_H_ - - -65  - #_SYS_TIME_H_ - - - ) - -67  - ~ - -68  - ~ - -74  - #__Ăed_fd_Łt - - - ) - -75  - #__Ăed_ˇruů_timeĄec - - - ) - -76  - #__Ăed_ˇruů_timev® - - - ) - -77  - ~ - -79 #iâdef -_TIME_T - - -80  - #_TIME_T - - - ) - -81  -__d¬wš_time_t - - ttime_t -; - -84 #iâdeŕ -_SUSECONDS_T - - -85  - #_SUSECONDS_T - - - ) - -86  -__d¬wš_suŁcÚds_t - - tsuŁcÚds_t -; - -93  - s™im”v® - { - -94  -timev® - - m™_š‹rv® -; - -95  -timev® - - m™_v®ue -; - -102  - #ITIMER_REAL - 0 - - ) - -103  - #ITIMER_VIRTUAL - 1 - - ) - -104  - #ITIMER_PROF - 2 - - ) - -112 #iâdef -FD_SETSIZE - - -113  - #FD_SETSIZE - -__DARWIN_FD_SETSIZE - - - ) - -115 #iâdeŕ -FD_SET - - -116  - #FD_SET -( -n -, -p -č - `__DARWIN_FD_SET -Ň,…) - - ) - -118 #iâdef -FD_CLR - - -119  - #FD_CLR -( -n -, -p -č - `__DARWIN_FD_CLR -Ň,…) - - ) - -121 #iâdeŕ -FD_ISSET - - -122  - #FD_ISSET -( -n -, -p -č - `__DARWIN_FD_ISSET -Ň,…) - - ) - -124 #iâdeŕ -FD_ZERO - - -125  - #FD_ZERO -( -p -č - `__DARWIN_FD_ZERO -Ő) - - ) - -128 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -130 #iâdeŕ -FD_COPY - - -131  - #FD_COPY -( -f -, -t -č - `__DARWIN_FD_COPY -(f,) - - ) - -135  - #TIMEVAL_TO_TIMESPEC -( -tv -, -ts -) { \ - -136 ( -ts -)-> -tv_Łc - = ( -tv -)->tv_sec; \ - -137 ( -ts -)-> -tv_nŁc - = ( -tv -)-> -tv_uŁc - * 1000; \ - -138 } - - ) - -139  - #TIMESPEC_TO_TIMEVAL -( -tv -, -ts -) { \ - -140 ( -tv -)-> -tv_Łc - = ( -ts -)->tv_sec; \ - -141 ( -tv -)-> -tv_uŁc - = ( -ts -)-> -tv_nŁc - / 1000; \ - -142 } - - ) - -144  - stimezÚe - { - -145  - mtz_mšu‹sweˇ -; - -146  - mtz_dˇtime -; - -148  - #DST_NONE - 0 - - ) - -149  - #DST_USA - 1 - - ) - -150  - #DST_AUST - 2 - - ) - -151  - #DST_WET - 3 - - ) - -152  - #DST_MET - 4 - - ) - -153  - #DST_EET - 5 - - ) - -154  - #DST_CAN - 6 - - ) - -157  - #tim”ţ—r -( -tvp -čŃvp)-> -tv_Łc - = (tvp)-> -tv_uŁc - = 0 - - ) - -158  - #tim”isŁt -( -tvp -č(Ńvp)-> -tv_Łc - || (tvp)-> -tv_uŁc -) - - ) - -159  - #tim”cmp -( -tvp -, -uvp -, -cmp -) \ - -160 ((( -tvp -)-> -tv_Łc - =đ( -uvp -)->tv_sec) ? \ - -161 (( -tvp -)-> -tv_uŁc - - `cmp - ( -uvp -)->tv_usec) : \ - -162 (( -tvp -)-> -tv_Łc - - `cmp - ( -uvp -)->tv_Łc)) - - ) - -163  - #tim”add -( -tvp -, -uvp -, -vvp -) \ - -165 ( -vvp -)-> -tv_Łc - = ( -tvp -)->tv_Łř+ ( -uvp -)->tv_sec; \ - -166 ( -vvp -)-> -tv_uŁc - = ( -tvp -)->tv_uŁř+ ( -uvp -)->tv_usec; \ - -167 iŕ(( -vvp -)-> -tv_uŁc - >= 1000000) { \ - -168 ( -vvp -)-> -tv_Łc -++; \ - -169 ( -vvp -)-> -tv_uŁc - -= 1000000; \ - -171 } 0) - - ) - -172  - #tim”sub -( -tvp -, -uvp -, -vvp -) \ - -174 ( -vvp -)-> -tv_Łc - = ( -tvp -)->tv_Łř- ( -uvp -)->tv_sec; \ - -175 ( -vvp -)-> -tv_uŁc - = ( -tvp -)->tv_uŁř- ( -uvp -)->tv_usec; \ - -176 iŕ(( -vvp -)-> -tv_uŁc - < 0) { \ - -177 ( -vvp -)-> -tv_Łc ---; \ - -178 ( -vvp -)-> -tv_uŁc - += 1000000; \ - -180 } 0) - - ) - -182  - #timev®cmp -( -l -, -r -, -cmp -č - `tim”cmp -Ö,„, cmpč - - ) - -187  - sţockšfo - { - -188  - mhz -; - -189  - mtick -; - -190  - mtickadj -; - -191  - mˇ©hz -; - -192  - m´ofhz -; - -197 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -198  - ~ - -201 - g__BEGIN_DECLS - - -203 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -204  -adjtime -(cÚˇ  -timev® - *, timeval *); - -205  -futimes -(, cÚˇ  -timev® - *); - -206  -lutimes -(cÚˇ *, cÚˇ  -timev® - *); - -207  -ىimeofday -(cÚˇ  -timev® - *, cÚˇ  -timezÚe - *); - -210  -g‘™im” -(,  -™im”v® - *); - -211  -g‘timeofday -( -timev® - * -__»ˇriů -, * __restrict); - -213  - ~ - -215  -Łt™im” -(, cÚˇ  -™im”v® - * -__»ˇriů -, - -216  -™im”v® - * -__»ˇriů -); - -217  -utimes -(cÚˇ *, cÚˇ  -timev® - *); - -219 - g__END_DECLS - - - @/usr/include/sys/types.h - -69 #iâdeŕ -_SYS_TYPES_H_ - - -70  - #_SYS_TYPES_H_ - - - ) - -72  - ~ - -74 #iâdeŕ -__ASSEMBLER__ - - -75  - ~ - -78  - ~ - -79  - ~ - -81  - ~ - -83 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -84  - tu_ch¬ -; - -85  - tu_shÜt -; - -86  - tu_št -; - -87 #iâdeŕ -_U_LONG - - -88  - tu_lÚg -; - -89  - #_U_LONG - - - ) - -91  - tushÜt -; - -92  - tušt -; - -95  -u_št64_t - - tu_quad_t -; - -96  -št64_t - - tquad_t -; - -97  -quad_t - * - tqaddr_t -; - -99 * - t˙ddr_t -; - -100  -št32_t - - tdaddr_t -; - -102 #iâdeŕ -_DEV_T - - -103  -__d¬wš_dev_t - - tdev_t -; - -104  - #_DEV_T - - - ) - -107  -u_št32_t - - tfix±_t -; - -109 #iâdeŕ -_BLKCNT_T - - -110  -__d¬wš_blkút_t - - tblkút_t -; - -111  - #_BLKCNT_T - - - ) - -114 #iâdeŕ -_BLKSIZE_T - - -115  -__d¬wš_blksize_t - - tblksize_t -; - -116  - #_BLKSIZE_T - - - ) - -119 #iâdeŕ -_GID_T - - -120  -__d¬wš_gid_t - - tgid_t -; - -121  - #_GID_T - - - ) - -124 #iâdeŕ -_IN_ADDR_T - - -125  - #_IN_ADDR_T - - - ) - -126  -__ušt32_t - - tš_addr_t -; - -129 #iâdeŕ -_IN_PORT_T - - -130  - #_IN_PORT_T - - - ) - -131  -__ušt16_t - - tš_pÜt_t -; - -134 #iâdef -_INO_T - - -135  -__d¬wš_šo_t - - tšo_t -; - -136  - #_INO_T - - - ) - -139 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -140 #iâdef -_INO64_T - - -141  -__d¬wš_šo64_t - - tšo64_t -; - -142  - #_INO64_T - - - ) - -146 #iâdeŕ -_KEY_T - - -147  - #_KEY_T - - - ) - -148  -__št32_t - - tkey_t -; - -151 #iâdef -_MODE_T - - -152  -__d¬wš_mode_t - - tmode_t -; - -153  - #_MODE_T - - - ) - -156 #iâdeŕ -_NLINK_T - - -157  -__ušt16_t - - tĆšk_t -; - -158  - #_NLINK_T - - - ) - -161 #iâdeŕ -_ID_T - - -162  - #_ID_T - - - ) - -163  -__d¬wš_id_t - - tid_t -; - -166 #iâdeŕ -_PID_T - - -167  -__d¬wš_pid_t - - tpid_t -; - -168  - #_PID_T - - - ) - -171 #iâdeŕ -_OFF_T - - -172  -__d¬wš_off_t - - toff_t -; - -173  - #_OFF_T - - - ) - -176  -št32_t - - tŁgsz_t -; - -177  -št32_t - - tswblk_t -; - -179 #iâdeŕ -_UID_T - - -180  -__d¬wš_uid_t - - tuid_t -; - -181  - #_UID_T - - - ) - -184 #iâdeŕ -_ID_T - - -185  -__d¬wš_id_t - - tid_t -; - -186  - #_ID_T - - - ) - -189 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -191 #iŕ -defšed -( -__ýluĄlus -) - -197  -šlše - -__št32_t - - $majÜ -( -__ušt32_t - -_x -) - -199  ( -__št32_t -)((( -__ušt32_t -) -_x - >> 24) & 0xff); - -200 - } -} - -202  -šlše - -__št32_t - - $mšÜ -( -__ušt32_t - -_x -) - -204  ( -__št32_t -)(( -_x -) & 0xffffff); - -205 - } -} - -207  -šlše - -dev_t - - $makedev -( -__ušt32_t - -_majÜ -, __ušt32_ -_mšÜ -) - -209  ( -dev_t -)((( -_majÜ -č<< 24č| ( -_mšÜ -)); - -210 - } -} - -214  - #majÜ -( -x -č(( -št32_t -)((( -u_št32_t -)(xč>> 24č& 0xff)) - - ) - -215  - #mšÜ -( -x -č(( -št32_t -)((xč& 0xffffff)) - - ) - -216  - #makedev -( -x -, -y -č(( -dev_t -)(((xč<< 24č| (y))) - - ) - -221 #iâdef -_CLOCK_T - - -222  - #_CLOCK_T - - - ) - -223  -__d¬wš_ţock_t - - tţock_t -; - -226 #iâdeŕ -_SIZE_T - - -227  - #_SIZE_T - - - ) - -230  -__d¬wš_size_t - - tsize_t -; - -233 #iâdef -_SSIZE_T - - -234  - #_SSIZE_T - - - ) - -235  -__d¬wš_ssize_t - - tssize_t -; - -238 #iâdef -_TIME_T - - -239  - #_TIME_T - - - ) - -240  -__d¬wš_time_t - - ttime_t -; - -243 #iâdeŕ -_USECONDS_T - - -244  - #_USECONDS_T - - - ) - -245  -__d¬wš_uŁcÚds_t - - tuŁcÚds_t -; - -248 #iâdeŕ -_SUSECONDS_T - - -249  - #_SUSECONDS_T - - - ) - -250  -__d¬wš_suŁcÚds_t - - tsuŁcÚds_t -; - -253 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -259  - #__Ăed_fd_Łt - - - ) - -260  - ~ - -262  - #NBBY - -__DARWIN_NBBY - - - ) - -263  - #NFDBITS - -__DARWIN_NFDBITS - - - ) - -264  - #howmŞy -( -x -, -y -č - `__DARWIN_howmŞy -(x, yč - - ) - -265  -__št32_t - - tfd_mask -; - -273 #iâdef -FD_SETSIZE - - -274  - #FD_SETSIZE - -__DARWIN_FD_SETSIZE - - - ) - -276 #iâdeŕ -FD_SET - - -277  - #FD_SET -( -n -, -p -č - `__DARWIN_FD_SET -Ň,…) - - ) - -279 #iâdeŕ -FD_CLR - - -280  - #FD_CLR -( -n -, -p -č - `__DARWIN_FD_CLR -Ň,…) - - ) - -282 #iâdeŕ -FD_ISSET - - -283  - #FD_ISSET -( -n -, -p -č - `__DARWIN_FD_ISSET -Ň,…) - - ) - -285 #iâdeŕ -FD_ZERO - - -286  - #FD_ZERO -( -p -č - `__DARWIN_FD_ZERO -Ő) - - ) - -288 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -289 #iâdeŕ -FD_COPY - - -290  - #FD_COPY -( -f -, -t -č - `__DARWIN_FD_COPY -(f,) - - ) - -295 #iŕ -defšed -( -__STDC__ -č&& defšed( -KERNEL -) - -301  - g´oc -; - -302  - gpg˝ -; - -303  - guüed -; - -304  - gru§ge -; - -305  - gfže -; - -306  - gbuf -; - -307  - g‰y -; - -308  - guio -; - -314 #iâdeŕ -__POSIX_LIB__ - - -316 #iâdeŕ -_PTHREAD_ATTR_T - - -317  - #_PTHREAD_ATTR_T - - - ) - -318  -__d¬wš_±h»ad_©Ś_t - - t±h»ad_©Ś_t -; - -320 #iâdeŕ -_PTHREAD_COND_T - - -321  - #_PTHREAD_COND_T - - - ) - -322  -__d¬wš_±h»ad_cÚd_t - - t±h»ad_cÚd_t -; - -324 #iâdeŕ -_PTHREAD_CONDATTR_T - - -325  - #_PTHREAD_CONDATTR_T - - - ) - -326  -__d¬wš_±h»ad_cÚd©Ś_t - - t±h»ad_cÚd©Ś_t -; - -328 #iâdeŕ -_PTHREAD_MUTEX_T - - -329  - #_PTHREAD_MUTEX_T - - - ) - -330  -__d¬wš_±h»ad_mu‹x_t - - t±h»ad_mu‹x_t -; - -332 #iâdeŕ -_PTHREAD_MUTEXATTR_T - - -333  - #_PTHREAD_MUTEXATTR_T - - - ) - -334  -__d¬wš_±h»ad_mu‹x©Ś_t - - t±h»ad_mu‹x©Ś_t -; - -336 #iâdeŕ -_PTHREAD_ONCE_T - - -337  - #_PTHREAD_ONCE_T - - - ) - -338  -__d¬wš_±h»ad_Úű_t - - t±h»ad_Úű_t -; - -340 #iâdeŕ -_PTHREAD_RWLOCK_T - - -341  - #_PTHREAD_RWLOCK_T - - - ) - -342  -__d¬wš_±h»ad_rwlock_t - - t±h»ad_rwlock_t -; - -344 #iâdeŕ -_PTHREAD_RWLOCKATTR_T - - -345  - #_PTHREAD_RWLOCKATTR_T - - - ) - -346  -__d¬wš_±h»ad_rwlock©Ś_t - - t±h»ad_rwlock©Ś_t -; - -348 #iâdeŕ -_PTHREAD_T - - -349  - #_PTHREAD_T - - - ) - -350  -__d¬wš_±h»ad_t - - t±h»ad_t -; - -355 #iâdeŕ -_PTHREAD_KEY_T - - -356  - #_PTHREAD_KEY_T - - - ) - -357  -__d¬wš_±h»ad_key_t - - t±h»ad_key_t -; - -361 #iâdeŕ -_FSBLKCNT_T - - -362  - #_FSBLKCNT_T - - - ) - -363  -__d¬wš_fsblkút_t - - tfsblkút_t -; - -366 #iâdeŕ -_FSFILCNT_T - - -367  - #_FSFILCNT_T - - - ) - -368  -__d¬wš_fsfžút_t - - tfsfžút_t -; - - @/usr/include/unistd.h - -68 #iâdeŕ -_UNISTD_H_ - - -69  - #_UNISTD_H_ - - - ) - -71  - ~<_tyłs.h -> - -72  - ~ - -74 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -75 #iâdeŕ -_DEV_T - - -76  - #_DEV_T - - - ) - -77  -__d¬wš_dev_t - - tdev_t -; - -81 #iâdeŕ -_GID_T - - -82  - #_GID_T - - - ) - -83  -__d¬wš_gid_t - - tgid_t -; - -86 #iâdeŕ -_INTPTR_T - - -87  - #_INTPTR_T - - - ) - -88  -__d¬wš_šŤŚ_t - - tšŤŚ_t -; - -91 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -92 #iâdeŕ -_MODE_T - - -93  - #_MODE_T - - - ) - -94  -__d¬wš_mode_t - - tmode_t -; - -98 #iâdeŕ -_OFF_T - - -99  - #_OFF_T - - - ) - -100  -__d¬wš_off_t - - toff_t -; - -103 #iâdeŕ -_PID_T - - -104  - #_PID_T - - - ) - -105  -__d¬wš_pid_t - - tpid_t -; - -108 #iâdeŕ -_SIZE_T - - -109  - #_SIZE_T - - - ) - -112  -__d¬wš_size_t - - tsize_t -; - -115 #iâdef -_SSIZE_T - - -116  - #_SSIZE_T - - - ) - -117  -__d¬wš_ssize_t - - tssize_t -; - -120 #iâdeŕ -_UID_T - - -121  - #_UID_T - - - ) - -122  -__d¬wš_uid_t - - tuid_t -; - -125 #iâdeŕ -_USECONDS_T - - -126  - #_USECONDS_T - - - ) - -127  -__d¬wš_uŁcÚds_t - - tuŁcÚds_t -; - -130 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -131 #iâdeŕ -_UUID_T - - -132  - #_UUID_T - - - ) - -133  -__d¬wš_uuid_t - - tuuid_t -; - -137  - #STDIN_FILENO - 0 - - ) - -138  - #STDOUT_FILENO - 1 - - ) - -139  - #STDERR_FILENO - 2 - - ) - -141 #iâdeŕ -NULL - - -142  - #NULL - -__DARWIN_NULL - - - ) - -147  - #_XOPEN_VERSION - 600 - - ) - -148  - #_XOPEN_XCU_VERSION - 4 - - ) - -152  - #_POSIX_ADVISORY_INFO - (-1č - - ) - -153  - #_POSIX_ASYNCHRONOUS_IO - (-1č - - ) - -154  - #_POSIX_BARRIERS - (-1č - - ) - -155  - #_POSIX_CHOWN_RESTRICTED - 200112L - - ) - -156  - #_POSIX_CLOCK_SELECTION - (-1č - - ) - -157  - #_POSIX_CPUTIME - (-1č - - ) - -158  - #_POSIX_FSYNC - 200112L - - ) - -159  - #_POSIX_IPV6 - 200112L - - ) - -160  - #_POSIX_JOB_CONTROL - 200112L - - ) - -161  - #_POSIX_MAPPED_FILES - 200112L - - ) - -162  - #_POSIX_MEMLOCK - (-1č - - ) - -163  - #_POSIX_MEMLOCK_RANGE - (-1č - - ) - -164  - #_POSIX_MEMORY_PROTECTION - 200112L - - ) - -165  - #_POSIX_MESSAGE_PASSING - (-1č - - ) - -166  - #_POSIX_MONOTONIC_CLOCK - (-1č - - ) - -167  - #_POSIX_NO_TRUNC - 200112L - - ) - -168  - #_POSIX_PRIORITIZED_IO - (-1č - - ) - -169  - #_POSIX_PRIORITY_SCHEDULING - (-1č - - ) - -170  - #_POSIX_RAW_SOCKETS - (-1č - - ) - -171  - #_POSIX_READER_WRITER_LOCKS - 200112L - - ) - -172  - #_POSIX_REALTIME_SIGNALS - (-1č - - ) - -173  - #_POSIX_REGEXP - 200112L - - ) - -174  - #_POSIX_SAVED_IDS - 200112L - - ) - -175  - #_POSIX_SEMAPHORES - (-1č - - ) - -176  - #_POSIX_SHARED_MEMORY_OBJECTS - (-1č - - ) - -177  - #_POSIX_SHELL - 200112L - - ) - -178  - #_POSIX_SPAWN - (-1č - - ) - -179  - #_POSIX_SPIN_LOCKS - (-1č - - ) - -180  - #_POSIX_SPORADIC_SERVER - (-1č - - ) - -181  - #_POSIX_SYNCHRONIZED_IO - (-1č - - ) - -182  - #_POSIX_THREAD_ATTR_STACKADDR - 200112L - - ) - -183  - #_POSIX_THREAD_ATTR_STACKSIZE - 200112L - - ) - -184  - #_POSIX_THREAD_CPUTIME - (-1č - - ) - -185  - #_POSIX_THREAD_PRIO_INHERIT - (-1č - - ) - -186  - #_POSIX_THREAD_PRIO_PROTECT - (-1č - - ) - -187  - #_POSIX_THREAD_PRIORITY_SCHEDULING - (-1č - - ) - -188  - #_POSIX_THREAD_PROCESS_SHARED - 200112L - - ) - -189  - #_POSIX_THREAD_SAFE_FUNCTIONS - 200112L - - ) - -190  - #_POSIX_THREAD_SPORADIC_SERVER - (-1č - - ) - -191  - #_POSIX_THREADS - 200112L - - ) - -192  - #_POSIX_TIMEOUTS - (-1č - - ) - -193  - #_POSIX_TIMERS - (-1č - - ) - -194  - #_POSIX_TRACE - (-1č - - ) - -195  - #_POSIX_TRACE_EVENT_FILTER - (-1č - - ) - -196  - #_POSIX_TRACE_INHERIT - (-1č - - ) - -197  - #_POSIX_TRACE_LOG - (-1č - - ) - -198  - #_POSIX_TYPED_MEMORY_OBJECTS - (-1č - - ) - -199 #iâdeŕ -_POSIX_VDISABLE - - -200  - #_POSIX_VDISABLE - 0xfŕ - - ) - -203  - #_POSIX2_C_BIND - 200112L - - ) - -204  - #_POSIX2_C_DEV - 200112L - - ) - -205  - #_POSIX2_CHAR_TERM - 200112L - - ) - -206  - #_POSIX2_FORT_DEV - (-1č - - ) - -207  - #_POSIX2_FORT_RUN - 200112L - - ) - -208  - #_POSIX2_LOCALEDEF - 200112L - - ) - -209  - #_POSIX2_PBS - (-1) - - ) - -210  - #_POSIX2_PBS_ACCOUNTING - (-1) - - ) - -211  - #_POSIX2_PBS_CHECKPOINT - (-1) - - ) - -212  - #_POSIX2_PBS_LOCATE - (-1) - - ) - -213  - #_POSIX2_PBS_MESSAGE - (-1) - - ) - -214  - #_POSIX2_PBS_TRACK - (-1) - - ) - -215  - #_POSIX2_SW_DEV - 200112L - - ) - -216  - #_POSIX2_UPE - 200112L - - ) - -218  - #_V6_ILP32_OFF32 - (-1) - - ) - -219  - #_V6_ILP32_OFFBIG - (1) - - ) - -220  - #_V6_LP64_OFF64 - (-1) - - ) - -221  - #_V6_LPBIG_OFFBIG - (-1) - - ) - -223  - #_XBS5_ILP32_OFF32 - -_V6_ILP32_OFF32 - - - ) - -224  - #_XBS5_ILP32_OFFBIG - -_V6_ILP32_OFFBIG - - - ) - -225  - #_XBS5_LP64_OFF64 - -_V6_LP64_OFF64 - - - ) - -226  - #_XBS5_LPBIG_OFFBIG - -_V6_LPBIG_OFFBIG - - - ) - -228  - #_XOPEN_CRYPT - (1) - - ) - -229  - #_XOPEN_ENH_I18N - (1č - - ) - -230  - #_XOPEN_LEGACY - (-1č - - ) - -231  - #_XOPEN_REALTIME - (-1č - - ) - -232  - #_XOPEN_REALTIME_THREADS - (-1č - - ) - -233  - #_XOPEN_SHM - (1) - - ) - -234  - #_XOPEN_STREAMS - (-1) - - ) - -235  - #_XOPEN_UNIX - (1) - - ) - -238  - #F_ULOCK - 0 - - ) - -239  - #F_LOCK - 1 - - ) - -240  - #F_TLOCK - 2 - - ) - -241  - #F_TEST - 3 - - ) - -244  - #_SC_ARG_MAX - 1 - - ) - -245  - #_SC_CHILD_MAX - 2 - - ) - -246  - #_SC_CLK_TCK - 3 - - ) - -247  - #_SC_NGROUPS_MAX - 4 - - ) - -248  - #_SC_OPEN_MAX - 5 - - ) - -249  - #_SC_JOB_CONTROL - 6 - - ) - -250  - #_SC_SAVED_IDS - 7 - - ) - -251  - #_SC_VERSION - 8 - - ) - -252  - #_SC_BC_BASE_MAX - 9 - - ) - -253  - #_SC_BC_DIM_MAX - 10 - - ) - -254  - #_SC_BC_SCALE_MAX - 11 - - ) - -255  - #_SC_BC_STRING_MAX - 12 - - ) - -256  - #_SC_COLL_WEIGHTS_MAX - 13 - - ) - -257  - #_SC_EXPR_NEST_MAX - 14 - - ) - -258  - #_SC_LINE_MAX - 15 - - ) - -259  - #_SC_RE_DUP_MAX - 16 - - ) - -260  - #_SC_2_VERSION - 17 - - ) - -261  - #_SC_2_C_BIND - 18 - - ) - -262  - #_SC_2_C_DEV - 19 - - ) - -263  - #_SC_2_CHAR_TERM - 20 - - ) - -264  - #_SC_2_FORT_DEV - 21 - - ) - -265  - #_SC_2_FORT_RUN - 22 - - ) - -266  - #_SC_2_LOCALEDEF - 23 - - ) - -267  - #_SC_2_SW_DEV - 24 - - ) - -268  - #_SC_2_UPE - 25 - - ) - -269  - #_SC_STREAM_MAX - 26 - - ) - -270  - #_SC_TZNAME_MAX - 27 - - ) - -271  - #_SC_ASYNCHRONOUS_IO - 28 - - ) - -272  - #_SC_PAGESIZE - 29 - - ) - -273  - #_SC_MEMLOCK - 30 - - ) - -274  - #_SC_MEMLOCK_RANGE - 31 - - ) - -275  - #_SC_MEMORY_PROTECTION - 32 - - ) - -276  - #_SC_MESSAGE_PASSING - 33 - - ) - -277  - #_SC_PRIORITIZED_IO - 34 - - ) - -278  - #_SC_PRIORITY_SCHEDULING - 35 - - ) - -279  - #_SC_REALTIME_SIGNALS - 36 - - ) - -280  - #_SC_SEMAPHORES - 37 - - ) - -281  - #_SC_FSYNC - 38 - - ) - -282  - #_SC_SHARED_MEMORY_OBJECTS - 39 - - ) - -283  - #_SC_SYNCHRONIZED_IO - 40 - - ) - -284  - #_SC_TIMERS - 41 - - ) - -285  - #_SC_AIO_LISTIO_MAX - 42 - - ) - -286  - #_SC_AIO_MAX - 43 - - ) - -287  - #_SC_AIO_PRIO_DELTA_MAX - 44 - - ) - -288  - #_SC_DELAYTIMER_MAX - 45 - - ) - -289  - #_SC_MQ_OPEN_MAX - 46 - - ) - -290  - #_SC_MAPPED_FILES - 47 - - ) - -291  - #_SC_RTSIG_MAX - 48 - - ) - -292  - #_SC_SEM_NSEMS_MAX - 49 - - ) - -293  - #_SC_SEM_VALUE_MAX - 50 - - ) - -294  - #_SC_SIGQUEUE_MAX - 51 - - ) - -295  - #_SC_TIMER_MAX - 52 - - ) - -296 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -297  - #_SC_NPROCESSORS_CONF - 57 - - ) - -298  - #_SC_NPROCESSORS_ONLN - 58 - - ) - -300  - #_SC_2_PBS - 59 - - ) - -301  - #_SC_2_PBS_ACCOUNTING - 60 - - ) - -302  - #_SC_2_PBS_CHECKPOINT - 61 - - ) - -303  - #_SC_2_PBS_LOCATE - 62 - - ) - -304  - #_SC_2_PBS_MESSAGE - 63 - - ) - -305  - #_SC_2_PBS_TRACK - 64 - - ) - -306  - #_SC_ADVISORY_INFO - 65 - - ) - -307  - #_SC_BARRIERS - 66 - - ) - -308  - #_SC_CLOCK_SELECTION - 67 - - ) - -309  - #_SC_CPUTIME - 68 - - ) - -310  - #_SC_FILE_LOCKING - 69 - - ) - -311  - #_SC_GETGR_R_SIZE_MAX - 70 - - ) - -312  - #_SC_GETPW_R_SIZE_MAX - 71 - - ) - -313  - #_SC_HOST_NAME_MAX - 72 - - ) - -314  - #_SC_LOGIN_NAME_MAX - 73 - - ) - -315  - #_SC_MONOTONIC_CLOCK - 74 - - ) - -316  - #_SC_MQ_PRIO_MAX - 75 - - ) - -317  - #_SC_READER_WRITER_LOCKS - 76 - - ) - -318  - #_SC_REGEXP - 77 - - ) - -319  - #_SC_SHELL - 78 - - ) - -320  - #_SC_SPAWN - 79 - - ) - -321  - #_SC_SPIN_LOCKS - 80 - - ) - -322  - #_SC_SPORADIC_SERVER - 81 - - ) - -323  - #_SC_THREAD_ATTR_STACKADDR - 82 - - ) - -324  - #_SC_THREAD_ATTR_STACKSIZE - 83 - - ) - -325  - #_SC_THREAD_CPUTIME - 84 - - ) - -326  - #_SC_THREAD_DESTRUCTOR_ITERATIONS - 85 - - ) - -327  - #_SC_THREAD_KEYS_MAX - 86 - - ) - -328  - #_SC_THREAD_PRIO_INHERIT - 87 - - ) - -329  - #_SC_THREAD_PRIO_PROTECT - 88 - - ) - -330  - #_SC_THREAD_PRIORITY_SCHEDULING - 89 - - ) - -331  - #_SC_THREAD_PROCESS_SHARED - 90 - - ) - -332  - #_SC_THREAD_SAFE_FUNCTIONS - 91 - - ) - -333  - #_SC_THREAD_SPORADIC_SERVER - 92 - - ) - -334  - #_SC_THREAD_STACK_MIN - 93 - - ) - -335  - #_SC_THREAD_THREADS_MAX - 94 - - ) - -336  - #_SC_TIMEOUTS - 95 - - ) - -337  - #_SC_THREADS - 96 - - ) - -338  - #_SC_TRACE - 97 - - ) - -339  - #_SC_TRACE_EVENT_FILTER - 98 - - ) - -340  - #_SC_TRACE_INHERIT - 99 - - ) - -341  - #_SC_TRACE_LOG - 100 - - ) - -342  - #_SC_TTY_NAME_MAX - 101 - - ) - -343  - #_SC_TYPED_MEMORY_OBJECTS - 102 - - ) - -344  - #_SC_V6_ILP32_OFF32 - 103 - - ) - -345  - #_SC_V6_ILP32_OFFBIG - 104 - - ) - -346  - #_SC_V6_LP64_OFF64 - 105 - - ) - -347  - #_SC_V6_LPBIG_OFFBIG - 106 - - ) - -348  - #_SC_IPV6 - 118 - - ) - -349  - #_SC_RAW_SOCKETS - 119 - - ) - -350  - #_SC_SYMLOOP_MAX - 120 - - ) - -351  - #_SC_ATEXIT_MAX - 107 - - ) - -352  - #_SC_IOV_MAX - 56 - - ) - -353  - #_SC_PAGE_SIZE - -_SC_PAGESIZE - - - ) - -354  - #_SC_XOPEN_CRYPT - 108 - - ) - -355  - #_SC_XOPEN_ENH_I18N - 109 - - ) - -356  - #_SC_XOPEN_LEGACY - 110 - - ) - -357  - #_SC_XOPEN_REALTIME - 111 - - ) - -358  - #_SC_XOPEN_REALTIME_THREADS - 112 - - ) - -359  - #_SC_XOPEN_SHM - 113 - - ) - -360  - #_SC_XOPEN_STREAMS - 114 - - ) - -361  - #_SC_XOPEN_UNIX - 115 - - ) - -362  - #_SC_XOPEN_VERSION - 116 - - ) - -363  - #_SC_XOPEN_XCU_VERSION - 121 - - ) - -364  - #_SC_XBS5_ILP32_OFF32 - 122 - - ) - -365  - #_SC_XBS5_ILP32_OFFBIG - 123 - - ) - -366  - #_SC_XBS5_LP64_OFF64 - 124 - - ) - -367  - #_SC_XBS5_LPBIG_OFFBIG - 125 - - ) - -368  - #_SC_SS_REPL_MAX - 126 - - ) - -369  - #_SC_TRACE_EVENT_NAME_MAX - 127 - - ) - -370  - #_SC_TRACE_NAME_MAX - 128 - - ) - -371  - #_SC_TRACE_SYS_MAX - 129 - - ) - -372  - #_SC_TRACE_USER_EVENT_MAX - 130 - - ) - -373  - #_SC_PASS_MAX - 131 - - ) - -375 #iâdeŕ -_CS_PATH - - -376  - #_CS_PATH - 1 - - ) - -378  - #_CS_POSIX_V6_ILP32_OFF32_CFLAGS - 2 - - ) - -379  - #_CS_POSIX_V6_ILP32_OFF32_LDFLAGS - 3 - - ) - -380  - #_CS_POSIX_V6_ILP32_OFF32_LIBS - 4 - - ) - -381  - #_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS - 5 - - ) - -382  - #_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS - 6 - - ) - -383  - #_CS_POSIX_V6_ILP32_OFFBIG_LIBS - 7 - - ) - -384  - #_CS_POSIX_V6_LP64_OFF64_CFLAGS - 8 - - ) - -385  - #_CS_POSIX_V6_LP64_OFF64_LDFLAGS - 9 - - ) - -386  - #_CS_POSIX_V6_LP64_OFF64_LIBS - 10 - - ) - -387  - #_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS - 11 - - ) - -388  - #_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS - 12 - - ) - -389  - #_CS_POSIX_V6_LPBIG_OFFBIG_LIBS - 13 - - ) - -390  - #_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS - 14 - - ) - -393  - #_CS_XBS5_ILP32_OFF32_CFLAGS - 20 - - ) - -394  - #_CS_XBS5_ILP32_OFF32_LDFLAGS - 21 - - ) - -395  - #_CS_XBS5_ILP32_OFF32_LIBS - 22 - - ) - -396  - #_CS_XBS5_ILP32_OFF32_LINTFLAGS - 23 - - ) - -397  - #_CS_XBS5_ILP32_OFFBIG_CFLAGS - 24 - - ) - -398  - #_CS_XBS5_ILP32_OFFBIG_LDFLAGS - 25 - - ) - -399  - #_CS_XBS5_ILP32_OFFBIG_LIBS - 26 - - ) - -400  - #_CS_XBS5_ILP32_OFFBIG_LINTFLAGS - 27 - - ) - -401  - #_CS_XBS5_LP64_OFF64_CFLAGS - 28 - - ) - -402  - #_CS_XBS5_LP64_OFF64_LDFLAGS - 29 - - ) - -403  - #_CS_XBS5_LP64_OFF64_LIBS - 30 - - ) - -404  - #_CS_XBS5_LP64_OFF64_LINTFLAGS - 31 - - ) - -405  - #_CS_XBS5_LPBIG_OFFBIG_CFLAGS - 32 - - ) - -406  - #_CS_XBS5_LPBIG_OFFBIG_LDFLAGS - 33 - - ) - -407  - #_CS_XBS5_LPBIG_OFFBIG_LIBS - 34 - - ) - -408  - #_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS - 35 - - ) - -410  - #_CS_DARWIN_USER_DIR - 65536 - - ) - -411  - #_CS_DARWIN_USER_TEMP_DIR - 65537 - - ) - -412  - #_CS_DARWIN_USER_CACHE_DIR - 65538 - - ) - -414 -__BEGIN_DECLS - - -416  - $_ex™ -(č -__d—d2 -; - -417  - `acűss -(const *, ); - -419 - `®¬m -(); - -420  - `chdś -(const *); - -421  - `chown -(cÚˇ *, -uid_t -, -gid_t -); - -422  - $ţoŁ -(č - `__DARWIN_ALIAS_C -( -ţoŁ -); - -423 -size_t - - $cÚfˇr -(, *, -size_t -č - `__DARWIN_ALIAS -( -cÚfˇr -); - -424 * - `üy± -(const *, const *); - -425 * - `ů”mid -(*); - -426  - `dup -(); - -427  - `dup2 -(, ); - -428 #iŕ -__DARWIN_UNIX03 - - -429  - $’üy± -(*, č - `__DARWIN_ALIAS -( -’üy± -); - -431  - `’üy± -(*, ); - -433  - `exeţ -(const *, const *, ...); - -434  - `exeţe -(const *, const *, ...); - -435  - `exeţp -(const *, const *, ...); - -436  - `execv -(const *, * const *); - -437  - `execve -(const *, * const *, * const *); - -438  - `execvp -(const *, * const *); - -439  - `fchown -(, -uid_t -, -gid_t -); - -440  - `fchdś -(); - -441 -pid_t - - `fÜk -(); - -442  - `ĺ©hcÚf -(, ); - -443  - $fsync -(č - `__DARWIN_ALIAS_C -( -fsync -); - -444  - `árun˙‹ -(, -off_t -); - -445 * - `g‘cwd -(*, -size_t -); - -446 -gid_t - - `g‘egid -(); - -447 -uid_t - - `g‘euid -(); - -448 -gid_t - - `g‘gid -(); - -449  - `g‘groups -(, -gid_t - []); - -450  - `g‘hoˇid -(); - -451  - `g‘hoˇÇme -(*, -size_t -); - -452 * - `g‘logš -(); - -453  - `g‘logš_r -(*, -size_t -); - -454  - $g‘Ýt -(, * cÚˇ [], cÚˇ *č - `__DARWIN_ALIAS -( -g‘Ýt -); - -455 -pid_t - - `g‘pgid -(pid_t); - -456 -pid_t - - `g‘pg˝ -(); - -457 -pid_t - - `g‘pid -(); - -458 -pid_t - - `g‘µid -(); - -459 -pid_t - - `g‘sid -(pid_t); - -460 -uid_t - - `g‘uid -(); - -461 * - `g‘wd -(*); - -462  - `i§‰y -(); - -463  - $lchown -(cÚˇ *, -uid_t -, -gid_t -č - `__DARWIN_ALIAS -( -lchown -); - -464  - `lšk -(const *, const *); - -465  - $lockf -(, , -off_t -č - `__DARWIN_ALIAS_C -( -lockf -); - -466 -off_t - - `lŁek -(, off_t, ); - -467  - $niű -(č - `__DARWIN_ALIAS -( -niű -); - -468  - `·thcÚf -(const *, ); - -469  - $·uŁ -(č - `__DARWIN_ALIAS_C -( -·uŁ -); - -470  - `pťe -([2]); - -471 -ssize_t - - $´—d -(, *, -size_t -, -off_t -č - `__DARWIN_ALIAS_C -( -´—d -); - -472 -ssize_t - - $pwr™e -(, cÚˇ *, -size_t -, -off_t -č - `__DARWIN_ALIAS_C -( -pwr™e -); - -473 -ssize_t - - $»ad -(, *, -size_t -č - `__DARWIN_ALIAS_C -( -»ad -); - -474 -ssize_t - - `»adlšk -(cÚˇ * -__»ˇriů -, * __»ˇriů, -size_t -); - -475  - `rmdś -(const *); - -476  - `Ł‹gid -( -gid_t -); - -477  - `Ł‹uid -( -uid_t -); - -478  - `Łtgid -( -gid_t -); - -479  - `ŁŤgid -( -pid_t -,…id_t); - -480 #iŕ -__DARWIN_UNIX03 - - -481 -pid_t - - $ŁŤg˝ -(č - `__DARWIN_ALIAS -( -ŁŤg˝ -); - -483  - `ŁŤg˝ -( -pid_t - -pid -,…id_ -pg˝ -); - -485  - $ŁŚegid -( -gid_t -, gid_tč - `__DARWIN_ALIAS -( -ŁŚegid -); - -486  - $ŁŚeuid -( -uid_t -, uid_tč - `__DARWIN_ALIAS -( -ŁŚeuid -); - -487 -pid_t - - `Łtsid -(); - -488  - `Łtuid -( -uid_t -); - -490 - $¦“p -(č - `__DARWIN_ALIAS_C -( -¦“p -); - -491  - `swab -(cÚˇ * -__»ˇriů -, * __»ˇriů, -ssize_t -); - -492  - `symlšk -(const *, const *); - -493  - `sync -(); - -494  - `syscÚf -(); - -495 -pid_t - - `tcg‘pg˝ -(); - -496  - `tcŁŤg˝ -(, -pid_t -); - -497  - `Śun˙‹ -(cÚˇ *, -off_t -); - -498 * - `‰yÇme -(); - -499 #iŕ -__DARWIN_UNIX03 - - -500  - $‰yÇme_r -(, *, -size_t -č - `__DARWIN_ALIAS -( -‰yÇme_r -); - -502 * - `‰yÇme_r -(, *, -size_t -); - -504 -uŁcÚds_t - - -505 - `u®¬m -( -uŁcÚds_t -, useconds_t); - -506  - `uĆšk -(const *); - -507  - $u¦“p -( -uŁcÚds_t -č - `__DARWIN_ALIAS_C -( -u¦“p -); - -508 -pid_t - - `vfÜk -(); - -509 -ssize_t - - $wr™e -(, cÚˇ *, -size_t -č - `__DARWIN_ALIAS_C -( -wr™e -); - -511 * -ÝŹrg -; - -512  -Ýtšd -, -Ý‹Ľ -, -ÝtÝt -; - -514 #if ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -515  - ~ - -517  - $_Ex™ -(č -__d—d2 -; - -518  - `acűssx_Ĺ -(cÚˇ  -acűssx_desüťtÜ - *, -size_t -, *, -uid_t -); - -519  - `aců -(const *); - -520  - `add_´ofž -(*, -size_t -, , ); - -521 * - `brk -(const *); - -522  - `chroŮ -(const *); - -523  - `’duŁrsh–l -(); - -524  - `execvP -(const *, const *, * const *); - -525 * - `fćagˇoˇr -(); - -526  - `g‘dŹbËsize -(); - -527  - `g‘domašÇme -(*, ); - -528  - `g‘grou¶iˇ -(const *, , *, *); - -529 -mode_t - - `g‘mode -(const *, mode_t); - -530  - $g‘·gesize -(č -__pu»2 -; - -531 * - `g‘·ss -(const *); - -532  - `g‘ł”eid -(, -uid_t - *, -gid_t - *); - -533  - `g‘pgid -( -pid_t - -_pid -); - -534  - `g‘sgroups_Ĺ -(*, -uuid_t -); - -535  - `g‘sid -( -pid_t - -_pid -); - -536 * - `g‘uŁrsh–l -(); - -537  - `g‘wgroups_Ĺ -(*, -uuid_t -); - -538  - `š™groups -(const *, ); - -539  - `śuŁrok -(, , const *, const *); - -540  - `śuŁrok_§ -(const *, , , const *, const *); - -541  - `isŁtugid -(); - -542 * - `mkd‹mp -(*); - -543  - `mknod -(cÚˇ *, -mode_t -, -dev_t -); - -544  - `mkˇemp -(*); - -545  - `mkˇemps -(*, ); - -546 * - `mk‹mp -(*); - -547  - `nfssvc -(, *); - -548  - `´ofž -(*, -size_t -, , ); - -549  - `±h»ad_Łtugid_Ĺ -( -uid_t -, -gid_t -); - -550  - `±h»ad_g‘ugid_Ĺ -Đ -uid_t - *, -gid_t - *); - -551  - `rcmd -(**, , const *, const *, const *, *); - -552  - `rcmd_af -(**, , const *, const *, const *, *, - -554  - `»boŮ -(); - -555  - `»voke -(const *); - -556  - `ĽesvpÜt -(*); - -557  - `ĽesvpÜt_af -(*, ); - -558  - `ruŁrok -(const *, , const *, const *); - -559 * - `sbrk -(); - -560  - `ŁtdomašÇme -(const *, ); - -561  - `Łtgroups -(, cÚˇ -gid_t - *); - -562  - `Łthoˇid -(); - -563  - `ŁthoˇÇme -(const *, ); - -564 #iŕ -__DARWIN_UNIX03 - - -565  - $Łtkey -(cÚˇ *č - `__DARWIN_ALIAS -( -Łtkey -); - -567  - `Łtkey -(const *); - -569  - `ŁŽogš -(const *); - -570 * - `Łtmode -(const *); - -571  - `ŁŚgid -( -gid_t -); - -572  - `ŁŚuid -( -uid_t -); - -573  - `Łtsgroups_Ĺ -(, cÚˇ -uuid_t -); - -574  - `ŁtuŁrsh–l -(); - -575  - `Łtwgroups_Ĺ -(, cÚˇ -uuid_t -); - -576  - `ˇąofćags -(**, *, *); - -577  - `sw­Ú -(const *); - -578  - `sys˙Î -(, ...); - -579  - `‰y¦Ů -(); - -580  - `und–‘e -(const *); - -581  - `unwh™eout -(const *); - -582 * - `v®loc -( -size_t -); - -584 * -subÝŹrg -; - -585  - `g‘subÝt -(**, * const *, **); - -588 #ifdeŕ -__LP64__ - - -589  - $g‘©Śliˇ -(cÚˇ *,*,*, -size_t -,č - `__DARWIN_ALIAS -( -g‘©Śliˇ -); - -590  - $ŁŹ‰ľiˇ -(cÚˇ *,*,*, -size_t -,č - `__DARWIN_ALIAS -( -ŁŹ‰ľiˇ -); - -591  - `exchŞged©a -(const *,const *,); - -592  - `g‘dś’Ś›§‰r -(,*,*, -size_t -,*,*,*,); - -593  - `٬chfs -(const *,*,*,,,*); - -595  - `fsůl -(const *,,*,); - -597  - $g‘©Śliˇ -(cÚˇ *,*,*, -size_t -,č - `__DARWIN_ALIAS -( -g‘©Śliˇ -); - -598  - $ŁŹ‰ľiˇ -(cÚˇ *,*,*, -size_t -,č - `__DARWIN_ALIAS -( -ŁŹ‰ľiˇ -); - -599  - `exchŞged©a -(const *,const *,); - -600  - `g‘dś’Ś›§‰r -(,*,*, -size_t -,*,*,*,); - -601  - `٬chfs -(const *,*,*,,,*); - -603  - `fsůl -(const *,,*,); - -606  -ÝŚeŁt -; - -609 -__END_DECLS - - - @/usr/include/_types.h - -24 #iâdeŕ -__TYPES_H_ - - -25  - #__TYPES_H_ - - - ) - -27  - ~ - -29  - t__d¬wš_Ć_™em -; - -30  - t__d¬wš_wůżns_t -; - -31 #ifdeŕ -__LP64__ - - -32  -__ušt32_t - - t__d¬wš_wůył_t -; - -34  - t__d¬wš_wůył_t -; - -37 #ifdeŕ -__WCHAR_MAX__ - - -38  - #__DARWIN_WCHAR_MAX - -__WCHAR_MAX__ - - - ) - -40  - #__DARWIN_WCHAR_MAX - 0x7fffffff - - ) - -43 #iŕ -__DARWIN_WCHAR_MAX - > 0xffffU - -44  - #__DARWIN_WCHAR_MIN - (-0x7ffffffŕ- 1) - - ) - -46  - #__DARWIN_WCHAR_MIN - 0 - - ) - -48  - #__DARWIN_WEOF - (( -__d¬wš_wšt_t -)-1) - - ) - - @/usr/include/_xlocale.h - -24 #iâdeŕ -__XLOCALE_H_ - - -25  - #__XLOCALE_H_ - - - ) - -27  - ~ - -29 -__BEGIN_DECLS - - -30  -___mb_cur_max -(); - -31  -___mb_cur_max_l -( -lo˙Ë_t -); - -32 - g__END_DECLS - - - @/usr/include/alloca.h - -24 #iâdeŕ -_ALLOCA_H_ - - -25  - #_ALLOCA_H_ - - - ) - -27  - ~ - -28  - ~<_tyłs.h -> - -30 #iâdef -_SIZE_T - - -31  - #_SIZE_T - - - ) - -32  -__d¬wš_size_t - - tsize_t -; - -35 -__BEGIN_DECLS - - -36 * -®lo˙ -( -size_t -); - -37 - g__END_DECLS - - -39 #iŕ -defšed -( -__GNUC__ -) && __GNUC__ >= 3 - -41 #undeŕ -®lo˙ - - -42 #undeŕ -__®lo˙ - - -43  - #®lo˙ -( -size -č - `__®lo˙ -(size) - - ) - -44  - #__®lo˙ -( -size -č - `__bužtš_®lo˙ -(size) - - ) - - @/usr/include/available.h - -65 #iâdeŕ -_AVAILABLE_H_ - - -66  - #_AVAILABLE_H_ - - - ) - -72  - #__MAC_OS_X_VERSION_10_0 - 1000 - - ) - -73  - #__MAC_OS_X_VERSION_10_1 - 1010 - - ) - -74  - #__MAC_OS_X_VERSION_10_2 - 1020 - - ) - -75  - #__MAC_OS_X_VERSION_10_3 - 1030 - - ) - -76  - #__MAC_OS_X_VERSION_10_4 - 1040 - - ) - -77  - #__MAC_OS_X_VERSION_10_5 - 1050 - - ) - -84 #iâdeŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - - -85 #ifdeŕ -__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - - -86  - #__MAC_OS_X_VERSION_MIN_REQUIRED - -__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - - - ) - -88 #iŕ -__µc64__ - || -__i386__ - || -__x86_64__ - - -89  - #__MAC_OS_X_VERSION_MIN_REQUIRED - -__MAC_OS_X_VERSION_10_4 - - - ) - -91  - #__MAC_OS_X_VERSION_MIN_REQUIRED - -__MAC_OS_X_VERSION_10_1 - - - ) - -99 #iâdeŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - - -100 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - > -__MAC_OS_X_VERSION_10_5 - - -101  - #__MAC_OS_X_VERSION_MAX_ALLOWED - -__MAC_OS_X_VERSION_MIN_REQUIRED - - - ) - -103  - #__MAC_OS_X_VERSION_MAX_ALLOWED - -__MAC_OS_X_VERSION_10_5 - - - ) - -110 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_MIN_REQUIRED - - -111 #”rÜ -__MAC_OS_X_VERSION_MAX_ALLOWED - -muˇ - -be - >đ -__MAC_OS_X_VERSION_MIN_REQUIRED - - -113 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_0 - - -114 #”rÜ -__MAC_OS_X_VERSION_MIN_REQUIRED - -muˇ - -be - >đ -__MAC_OS_X_VERSION_10_0 - - -120 #iŕ -defšed -( -__GNUC__ -č&& ((__GNUC__ >đ4č|| ((__GNUC__ =đ3č&& ( -__GNUC_MINOR__ - >đ1))č&& ( -__MAC_OS_X_VERSION_MIN_REQUIRED - >= 1020) - -121  - #__DARWIN_WEAK_IMPORT_ATTRIBUTE - - `__©Śibu‹__ -(( -w—k_impÜt -)) - - ) - -122 #–iŕ -defšed -( -__MWERKS__ -č&& (__MWERKS__ >đ0x3205č&& ( -__MAC_OS_X_VERSION_MIN_REQUIRED - >= 1020) - -123  - #__DARWIN_WEAK_IMPORT_ATTRIBUTE - - `__©Śibu‹__ -(( -w—k_impÜt -)) - - ) - -125  - #__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -131 #iŕ -defšed -( -__GNUC__ -č&& ((__GNUC__ >đ4č|| ((__GNUC__ =đ3č&& ( -__GNUC_MINOR__ - >= 1))) - -132  - #__DARWIN_DEPRECATED_ATTRIBUTE - - `__©Śibu‹__ -(( -d•»˙‹d -)) - - ) - -134  - #__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -140 #iŕ -defšed -( -__GNUC__ -č&& ((__GNUC__ >đ4č|| ((__GNUC__ =đ3č&& ( -__GNUC_MINOR__ - >= 1))) - -141  - #__DARWIN_UNAVAILABLE_ATTRIBUTE - - `__©Śibu‹__ -(( -uÇvažabË -)) - - ) - -143  - #__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -153  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -161  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -168  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -180 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_10_1 - - -181  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - -__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -182 #–iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_1 - - -183  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - -__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -185  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -194 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_1 - - -195  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -197  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED - -__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -206 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_1 - - -207  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -209  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 - -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -217 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_1 - - -218  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -220  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -234 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_10_2 - - -235  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - -__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -236 #–iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_2 - - -237  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - -__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -239  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -248 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_2 - - -249  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -251  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED - -__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -260 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_2 - - -261  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -263  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -272 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_2 - - -273  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -275  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - -__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -283 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_2 - - -284  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -286  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -298 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_10_3 - - -299  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - -__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -300 #–iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_3 - - -301  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - -__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -303  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - - - ) - -312 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_3 - - -313  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -315  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED - -__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - - - ) - -324 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_3 - - -325  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -327  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -336 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_3 - - -337  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -339  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -348 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_3 - - -349  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -351  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -359 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_3 - - -360  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -362  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER - - - ) - -375 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_10_4 - - -376  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - -__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -377 #–iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_4 - - -378  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - -__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -380  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - - - ) - -389 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -390  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -392  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED - -__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - - - ) - -401 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -402  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -404  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -413 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -414  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -416  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -425 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -426  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -428  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -437 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -438  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -440  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - - - ) - -448 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -449  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -451  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER - - - ) - -463 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_10_5 - - -464  - #__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER - -__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -465 #–iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_5 - - -466  - #__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER - -__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -468  - #__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER - - - ) - -477 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -478  - #__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -480  - #__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED - -__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER - - - ) - -489 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -490  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -492  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -501 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -502  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -504  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -513 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -514  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -516  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -525 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -526  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -528  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - - - ) - -537 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -538  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -540  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - - - ) - -548 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -549  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -551  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER - - - ) - - @/usr/include/machine/endian.h - -31 #iâdeŕ -_BSD_MACHINE_ENDIAN_H_ - - -32  - #_BSD_MACHINE_ENDIAN_H_ - - - ) - -34 #iŕ -defšed - ( -__µc__ -č|| defšed( -__µc64__ -) - -35  - ~"µc/’dźn.h -" - -36 #–iŕ -defšed - ( -__i386__ -č|| defšed( -__x86_64__ -) - -37  - ~"i386/’dźn.h -" - -38 #–iŕ -defšed - ( -__¬m__ -) - -39  - ~"¬m/’dźn.h -" - -41 #”rÜ -¬ch™eůu» - -nŮ - -suµÜ‹d - - - @/usr/include/machine/types.h - -31 #iâdeŕ -_BSD_MACHINE_TYPES_H_ - - -32  - #_BSD_MACHINE_TYPES_H_ - - - ) - -34 #iŕ -defšed - ( -__µc__ -č|| defšed ( -__µc64__ -) - -35  - ~"µc/tyłs.h -" - -36 #–iŕ -defšed - ( -__i386__ -č|| defšed( -__x86_64__ -) - -37  - ~"i386/tyłs.h -" - -38 #–iŕ -defšed - ( -__¬m__ -) - -39  - ~"¬m/tyłs.h -" - -41 #”rÜ -¬ch™eůu» - -nŮ - -suµÜ‹d - - - @/usr/include/secure/_stdio.h - -24 #iâdeŕ -_STDIO_H_ - - -25 #”rÜ -”rÜ - "Never use directly; include instead." - -28 #iâdeŕ -_SECURE__STDIO_H_ - - -29  - #_SECURE__STDIO_H_ - - - ) - -31  - ~<Łcu»/_commÚ.h -> - -33 #iŕ -_USE_FORTIFY_LEVEL - > 0 - -35 #undeŕ -Ąrštf - - -36 #undeŕ -vĄrštf - - -37 #undeŕ -˘´štf - - -38 #undeŕ -v˘´štf - - -42  - $__Ąrštf_chk - (* -__»ˇriů -, , -size_t -, - -43 cÚˇ * -__»ˇriů -, ...) - -44 - `__DARWIN_LDBL_COMPAT - ( -__Ąrštf_chk -); - -46  - #Ąrštf -( -ˇr -, ...) \ - -47 - `__bužtš___Ąrštf_chk - ( -ˇr -, 0, - `__d¬wš_obsz -(ˇr), -__VA_ARGS__ -) - - ) - -49  - $__˘´štf_chk - (* -__»ˇriů -, -size_t -, , size_t, - -50 cÚˇ * -__»ˇriů -, ...) - -51 - `__DARWIN_LDBL_COMPAT - ( -__˘´štf_chk -); - -53  - #˘´štf -( -ˇr -, -Ën -, ...) \ - -54 - `__bužtš___˘´štf_chk - ( -ˇr -, -Ën -, 0, - `__d¬wš_obsz -(ˇr), -__VA_ARGS__ -) - - ) - -56  - $__vĄrštf_chk - (* -__»ˇriů -, , -size_t -, - -57 cÚˇ * -__»ˇriů -, -va_liˇ - -¬g -) - -58 - `__DARWIN_LDBL_COMPAT - ( -__vĄrštf_chk -); - -60  - #vĄrštf -( -ˇr -, -fÜm© -, -­ -) \ - -61 - `__bužtš___vĄrštf_chk - ( -ˇr -, 0, - `__d¬wš_obsz -(ˇr), -fÜm© -, -­ -) - - ) - -63  - $__v˘´štf_chk - (* -__»ˇriů -, -size_t -, , size_t, - -64 cÚˇ * -__»ˇriů -, -va_liˇ - -¬g -) - -65 - `__DARWIN_LDBL_COMPAT - ( -__v˘´štf_chk -); - -67  - #v˘´štf -( -ˇr -, -Ën -, -fÜm© -, -­ -) \ - -68 - `__bužtš___v˘´štf_chk - ( -ˇr -, -Ën -, 0, - `__d¬wš_obsz -(ˇr), -fÜm© -, -­ -) - - ) - - @/usr/include/sys/_select.h - -36 #iâdeŕ -_SYS__SELECT_H_ - - -37  - #_SYS__SELECT_H_ - - - ) - -39  - $ŁËů -(, -fd_Łt - * -__»ˇriů -, fd_set * __restrict, - -40 -fd_Łt - * -__»ˇriů -,  -timev® - * __restrict) - -41 #iŕ - `defšed -( -_DARWIN_C_SOURCE -č|| defšed( -_DARWIN_UNLIMITED_SELECT -) - -42 - $__DARWIN_EXTSN_C -( -ŁËů -) - -44 #iŕ - `defšed -( -__LP64__ -č&& ! -__DARWIN_NON_CANCELABLE - - -45 - $__DARWIN_1050 -( -ŁËů -) - -47 - $__DARWIN_ALIAS_C -( -ŁËů -) - - @/usr/include/sys/_structs.h - -29  - ~ - -30  - ~ - -32 #ifdeŕ -__Ăed_ucÚ‹xt_t - - -33 #iâdeŕ -__Ăed_ˇruů_ucÚ‹xt - - -34  - #__Ăed_ˇruů_ucÚ‹xt - - - ) - -38 #ifdeŕ -__Ăed_ucÚ‹xt64_t - - -39 #iâdeŕ -__Ăed_ˇruů_ucÚ‹xt64 - - -40  - #__Ăed_ˇruů_ucÚ‹xt64 - - - ) - -44 #ifdeŕ -__Ăed_ˇruů_ucÚ‹xt - - -45 #iâdeŕ -__Ăed_ˇruů_mcÚ‹xt - - -46  - #__Ăed_ˇruů_mcÚ‹xt - - - ) - -50 #ifdeŕ -__Ăed_ˇruů_ucÚ‹xt64 - - -51 #iâdeŕ -__Ăed_ˇruů_mcÚ‹xt64 - - -52  - #__Ăed_ˇruů_mcÚ‹xt64 - - - ) - -56 #iŕ -defšed -( -__Ăed_ˇruů_mcÚ‹xt -č|| defšed( -__Ăed_ˇruů_mcÚ‹xt64 -) - -57  - ~ - -60 #iŕ -defšed -( -__Ăed_ˇack_t -č|| defšed( -__Ăed_ˇruů_ucÚ‹xt -č|| defšed( -__Ăed_ˇruů_ucÚ‹xt64 -) - -61 #iâdeŕ -__Ăed_ˇruů_sig®tˇack - - -62  - #__Ăed_ˇruů_sig®tˇack - - - ) - -66 #ifdeŕ -__Ăed_ˇruů_sig®tˇack - - -67 #undeŕ -__Ăed_ˇruů_sig®tˇack - - -69 #iâdeŕ -_STRUCT_SIGALTSTACK - - -70 #iŕ -__DARWIN_UNIX03 - - -71  - #_STRUCT_SIGALTSTACK -  -__d¬wš_sig®tˇack - - - ) - -73  - #_STRUCT_SIGALTSTACK -  -sig®tˇack - - - ) - -75 - g_STRUCT_SIGALTSTACK - - -77 * - gss_Ą -; - -78 -__d¬wš_size_t - - gss_size -; - -79  - gss_ćags -; - -84 #ifdeŕ -__Ăed_ˇruů_timeĄec - - -85 #undeŕ -__Ăed_ˇruů_timeĄec - - -86 #iâdeŕ -_STRUCT_TIMESPEC - - -87  - #_STRUCT_TIMESPEC -  -timeĄec - - - ) - -88 - g_STRUCT_TIMESPEC - - -90 -__d¬wš_time_t - - gtv_Łc -; - -91  - gtv_nŁc -; - -96 #ifdeŕ -__Ăed_ˇruů_timev® - - -97 #undeŕ -__Ăed_ˇruů_timev® - - -98 #iâdeŕ -_STRUCT_TIMEVAL - - -99  - #_STRUCT_TIMEVAL -  -timev® - - - ) - -100 - g_STRUCT_TIMEVAL - - -102 -__d¬wš_time_t - - gtv_Łc -; - -103 -__d¬wš_suŁcÚds_t - - gtv_uŁc -; - -108 #ifdeŕ -__Ăed_ˇruů_timev®32 - - -109 #undeŕ -__Ăed_ˇruů_timev®32 - - -110 #iâdeŕ -_STRUCT_TIMEVAL32 - - -111  - #_STRUCT_TIMEVAL32 -  -timev®32 - - - ) - -112 - g_STRUCT_TIMEVAL32 - - -114 -__št32_t - - gtv_Łc -; - -115 -__št32_t - - gtv_uŁc -; - -120 #ifdeŕ -__Ăed_ˇruů_ucÚ‹xt - - -121 #undeŕ -__Ăed_ˇruů_ucÚ‹xt - - -122 #iâdeŕ -_STRUCT_UCONTEXT - - -123 #iŕ -__DARWIN_UNIX03 - - -124  - #_STRUCT_UCONTEXT -  -__d¬wš_ucÚ‹xt - - - ) - -126  - #_STRUCT_UCONTEXT -  -ucÚ‹xt - - - ) - -128 - g_STRUCT_UCONTEXT - - -130  - guc_Úˇack -; - -131 -__d¬wš_sigŁt_t - - guc_sigmask -; - -132 -_STRUCT_SIGALTSTACK - - guc_ˇack -; - -133 -_STRUCT_UCONTEXT - * - guc_lšk -; - -134 -__d¬wš_size_t - - guc_mcsize -; - -135 -_STRUCT_MCONTEXT - * - guc_mcÚ‹xt -; - -136 #ifdeŕ -_XOPEN_SOURCE - - -137 -_STRUCT_MCONTEXT - - g__mcÚ‹xt_d©a -; - -143 #ifdeŕ -__Ăed_ˇruů_ucÚ‹xt64 - - -144 #undeŕ -__Ăed_ˇruů_ucÚ‹xt64 - - -145 #iâdeŕ -_STRUCT_UCONTEXT64 - - -146 #iŕ -__DARWIN_UNIX03 - - -147  - #_STRUCT_UCONTEXT64 -  -__d¬wš_ucÚ‹xt64 - - - ) - -149  - #_STRUCT_UCONTEXT64 -  -ucÚ‹xt64 - - - ) - -151 - g_STRUCT_UCONTEXT64 - - -153  - guc_Úˇack -; - -154 -__d¬wš_sigŁt_t - - guc_sigmask -; - -155 -_STRUCT_SIGALTSTACK - - guc_ˇack -; - -156 -_STRUCT_UCONTEXT64 - * - guc_lšk -; - -157 -__d¬wš_size_t - - guc_mcsize -; - -158 -_STRUCT_MCONTEXT64 - * - guc_mcÚ‹xt64 -; - -164 #ifdeŕ -__Ăed_fd_Łt - - -165 #undeŕ -__Ăed_fd_Łt - - -166 #iâdeŕ -_FD_SET - - -167  - #_FD_SET - - - ) - -174 #ifdeŕ -FD_SETSIZE - - -175  - #__DARWIN_FD_SETSIZE - -FD_SETSIZE - - - ) - -177  - #__DARWIN_FD_SETSIZE - 1024 - - ) - -179  - #__DARWIN_NBBY - 8 - - ) - -180  - #__DARWIN_NFDBITS - (( -__št32_t -č* -__DARWIN_NBBY -č - - ) - -181  - #__DARWIN_howmŞy -( -x -, -y -č(((xč+ ((yč- 1)č/ (y)č - - ) - -183 -__BEGIN_DECLS - - -184  - sfd_Łt - { - -185 -__št32_t - - mfds_b™s -[ -__DARWIN_howmŞy -( -__DARWIN_FD_SETSIZE -, -__DARWIN_NFDBITS -)]; - -186 } - tfd_Łt -; - -187 -__END_DECLS - - -190  -__šlše -  - -191 - $__d¬wš_fd_isŁt -( -_n -,  -fd_Łt - * -_p -) - -193  ( -_p --> -fds_b™s -[ -_n -/ -__DARWIN_NFDBITS -] & (1<<(_n % __DARWIN_NFDBITS))); - -194 - } -} - -196  - #__DARWIN_FD_SET -( -n -, -p -čdŘ{  -__fd - = (n); (Ő)-> -fds_b™s -[__fd/ -__DARWIN_NFDBITS -] |đ(1<<(__fd % __DARWIN_NFDBITS))); } 0) - - ) - -197  - #__DARWIN_FD_CLR -( -n -, -p -čdŘ{  -__fd - = (n); (Ő)-> -fds_b™s -[__fd/ -__DARWIN_NFDBITS -] &đ~(1<<(__fd % __DARWIN_NFDBITS))); } 0) - - ) - -198  - #__DARWIN_FD_ISSET -( -n -, -p -č - `__d¬wš_fd_isŁt -(Ň), (p)) - - ) - -200 #iŕ -__GNUC__ - > 3 || __GNUC__ =đ3 && -__GNUC_MINOR__ - >= 3 - -205  - #__DARWIN_FD_ZERO -( -p -č - `__bužtš_bz”o -Ő, (*Ő))) - - ) - -207  - #__DARWIN_FD_ZERO -( -p -č - `bz”o -Ő, (*Ő))) - - ) - -210  - #__DARWIN_FD_COPY -( -f -, -t -č - `bcÝy -(f,, (*(f))) - - ) - -214 #ifdeŕ -__Ăed_ˇack_t - - -215 #undeŕ -__Ăed_ˇack_t - - -216 #iâdeŕ -_STACK_T - - -217  - #_STACK_T - - - ) - -218  -_STRUCT_SIGALTSTACK - - tˇack_t -; - -222 #ifdeŕ -__Ăed_ucÚ‹xt_t - - -223 #undeŕ -__Ăed_ucÚ‹xt_t - - -225 #iâdeŕ -_UCONTEXT_T - - -226  - #_UCONTEXT_T - - - ) - -227  -_STRUCT_UCONTEXT - - tucÚ‹xt_t -; - -231 #ifdeŕ -__Ăed_ucÚ‹xt64_t - - -232 #undeŕ -__Ăed_ucÚ‹xt64_t - - -233 #iâdeŕ -_UCONTEXT64_T - - -234  - #_UCONTEXT64_T - - - ) - -235  -_STRUCT_UCONTEXT64 - - tucÚ‹xt64_t -; - - @/usr/include/sys/_types.h - -29 #iâdeŕ -_SYS__TYPES_H_ - - -30  - #_SYS__TYPES_H_ - - - ) - -32  - ~ - -33  - ~ - -36 #iŕ -defšed -( -__LP64__ -) - -37  - #__PTHREAD_SIZE__ - 1168 - - ) - -38  - #__PTHREAD_ATTR_SIZE__ - 56 - - ) - -39  - #__PTHREAD_MUTEXATTR_SIZE__ - 8 - - ) - -40  - #__PTHREAD_MUTEX_SIZE__ - 56 - - ) - -41  - #__PTHREAD_CONDATTR_SIZE__ - 8 - - ) - -42  - #__PTHREAD_COND_SIZE__ - 40 - - ) - -43  - #__PTHREAD_ONCE_SIZE__ - 8 - - ) - -44  - #__PTHREAD_RWLOCK_SIZE__ - 192 - - ) - -45  - #__PTHREAD_RWLOCKATTR_SIZE__ - 16 - - ) - -47  - #__PTHREAD_SIZE__ - 596 - - ) - -48  - #__PTHREAD_ATTR_SIZE__ - 36 - - ) - -49  - #__PTHREAD_MUTEXATTR_SIZE__ - 8 - - ) - -50  - #__PTHREAD_MUTEX_SIZE__ - 40 - - ) - -51  - #__PTHREAD_CONDATTR_SIZE__ - 4 - - ) - -52  - #__PTHREAD_COND_SIZE__ - 24 - - ) - -53  - #__PTHREAD_ONCE_SIZE__ - 4 - - ) - -54  - #__PTHREAD_RWLOCK_SIZE__ - 124 - - ) - -55  - #__PTHREAD_RWLOCKATTR_SIZE__ - 12 - - ) - -58  - s__d¬wš_±h»ad_hŞdËr_»c - - -60 (* - m__routše -)(*); - -61 * - m__¬g -; - -62  -__d¬wš_±h»ad_hŞdËr_»c - * - m__Ăxt -; - -64  - s_Ýaque_±h»ad_©Ś_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_ATTR_SIZE__ -]; }; - -65  - s_Ýaque_±h»ad_cÚd_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_COND_SIZE__ -]; }; - -66  - s_Ýaque_±h»ad_cÚd©Ś_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_CONDATTR_SIZE__ -]; }; - -67  - s_Ýaque_±h»ad_mu‹x_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_MUTEX_SIZE__ -]; }; - -68  - s_Ýaque_±h»ad_mu‹x©Ś_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_MUTEXATTR_SIZE__ -]; }; - -69  - s_Ýaque_±h»ad_Úű_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_ONCE_SIZE__ -]; }; - -70  - s_Ýaque_±h»ad_rwlock_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_RWLOCK_SIZE__ -]; }; - -71  - s_Ýaque_±h»ad_rwlock©Ś_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_RWLOCKATTR_SIZE__ -]; }; - -72  - s_Ýaque_±h»ad_t - {  - m__sig -;  -__d¬wš_±h»ad_hŞdËr_»c - * - m__ţ—nup_ˇack -;  - m__Ýaque -[ -__PTHREAD_SIZE__ -]; }; - -80 #ifdeŕ -__ýluĄlus - - -81 #ifdeŕ -__GNUG__ - - -82  - #__DARWIN_NULL - -__nuÎ - - - ) - -84 #ifdeŕ -__LP64__ - - -85  - #__DARWIN_NULL - (0L) - - ) - -87  - #__DARWIN_NULL - 0 - - ) - -91  - #__DARWIN_NULL - ((*)0) - - ) - -94  -__št64_t - - t__d¬wš_blkút_t -; - -95  -__št32_t - - t__d¬wš_blksize_t -; - -96  -__št32_t - - t__d¬wš_dev_t -; - -97  - t__d¬wš_fsblkút_t -; - -98  - t__d¬wš_fsfžút_t -; - -99  -__ušt32_t - - t__d¬wš_gid_t -; - -100  -__ušt32_t - - t__d¬wš_id_t -; - -101  -__ušt64_t - - t__d¬wš_šo64_t -; - -102 #iŕ -__DARWIN_64_BIT_INO_T - - -103  -__d¬wš_šo64_t - - t__d¬wš_šo_t -; - -105  -__ušt32_t - - t__d¬wš_šo_t -; - -107  -__d¬wš_Çtużl_t - - t__d¬wš_mach_pÜt_Çme_t -; - -108  -__d¬wš_mach_pÜt_Çme_t - - t__d¬wš_mach_pÜt_t -; - -109  -__ušt16_t - - t__d¬wš_mode_t -; - -110  -__št64_t - - t__d¬wš_off_t -; - -111  -__št32_t - - t__d¬wš_pid_t -; - -112  -_Ýaque_±h»ad_©Ś_t - - -113 - t__d¬wš_±h»ad_©Ś_t -; - -114  -_Ýaque_±h»ad_cÚd_t - - -115 - t__d¬wš_±h»ad_cÚd_t -; - -116  -_Ýaque_±h»ad_cÚd©Ś_t - - -117 - t__d¬wš_±h»ad_cÚd©Ś_t -; - -118  - t__d¬wš_±h»ad_key_t -; - -119  -_Ýaque_±h»ad_mu‹x_t - - -120 - t__d¬wš_±h»ad_mu‹x_t -; - -121  -_Ýaque_±h»ad_mu‹x©Ś_t - - -122 - t__d¬wš_±h»ad_mu‹x©Ś_t -; - -123  -_Ýaque_±h»ad_Úű_t - - -124 - t__d¬wš_±h»ad_Úű_t -; - -125  -_Ýaque_±h»ad_rwlock_t - - -126 - t__d¬wš_±h»ad_rwlock_t -; - -127  -_Ýaque_±h»ad_rwlock©Ś_t - - -128 - t__d¬wš_±h»ad_rwlock©Ś_t -; - -129  -_Ýaque_±h»ad_t - - -130 * - t__d¬wš_±h»ad_t -; - -131  -__ušt32_t - - t__d¬wš_sigŁt_t -; - -132  -__št32_t - - t__d¬wš_suŁcÚds_t -; - -133  -__ušt32_t - - t__d¬wš_uid_t -; - -134  -__ušt32_t - - t__d¬wš_uŁcÚds_t -; - -135  - t__d¬wš_uuid_t -[16]; - - @/usr/include/sys/appleapiopts.h - -29 #iâdeŕ -__SYS_APPLEAPIOPTS_H__ - - -30  - #__SYS_APPLEAPIOPTS_H__ - - - ) - -33 #iâdeŕ -__APPLE_API_STANDARD - - -34  - #__APPLE_API_STANDARD - - - ) - -37 #iâdeŕ -__APPLE_API_STABLE - - -38  - #__APPLE_API_STABLE - - - ) - -41 #iâdeŕ -__APPLE_API_STRICT_CONFORMANCE - - -43 #iâdeŕ -__APPLE_API_EVOLVING - - -44  - #__APPLE_API_EVOLVING - - - ) - -47 #iâdeŕ -__APPLE_API_UNSTABLE - - -48  - #__APPLE_API_UNSTABLE - - - ) - -51 #iâdeŕ -__APPLE_API_PRIVATE - - -52  - #__APPLE_API_PRIVATE - - - ) - -55 #iâdeŕ -__APPLE_API_OBSOLETE - - -56  - #__APPLE_API_OBSOLETE - - - ) - - @/usr/include/sys/cdefs.h - -67 #iâdef -_CDEFS_H_ - - -68  - #_CDEFS_H_ - - - ) - -70 #iŕ -defšed -( -__ýluĄlus -) - -71  - #__BEGIN_DECLS - "C" { - - ) - -72  - #__END_DECLS - } - - ) - -74  - #__BEGIN_DECLS - - - ) - -75  - #__END_DECLS - - - ) - -85 #iŕ -defšed -( -__STDC__ -č|| defšed( -__ýluĄlus -) - -86  - #__P -( -´Ůos -č´Ůo  - - ) - -87  - #__CONCAT -( -x -, -y -čx ## - ) -y - -88  - #__STRING -( -x -č#x - - ) - -90  - #__cÚˇ - cÚˇ - - ) - -91  - #__sigĂd - sigĂd - - ) - -92  - #__vŢ©že - vŢ©že - - ) - -93 #iŕ -defšed -( -__ýluĄlus -) - -94  - #__šlše - -šlše - - - ) - -96 #iâdeŕ -__GNUC__ - - -97  - #__šlše - - - ) - -102  - #__P -( -´Ůos -č(č - - ) - -103  - #__CONCAT -( -x -, -y -čx - ) -y - -104  - #__STRING -( -x -č"x" - - ) - -106 #iâdeŕ -__GNUC__ - - -107  - #__cÚˇ - - - ) - -108  - #__šlše - - - ) - -109  - #__sigĂd - - - ) - -110  - #__vŢ©že - - - ) - -121 #iâdef -NO_ANSI_KEYWORDS - - -122 cÚˇ -__cÚˇ - - - ) - -123  - #šlše - -__šlše - - - ) - -124 sigĂd -__sigĂd - - - ) - -125 vŢ©ž -__vŢ©že - - - ) - -137 #iŕ -defšed -( -__MWERKS__ -) && (__MWERKS__ > 0x2400) - -139 #–iŕ -__GNUC__ - > 2 || __GNUC__ =đ2 && -__GNUC_MINOR__ - >= 5 - -140  - #__d—d2 - - `__©Śibu‹__ -(( -__nÜ‘uş__ -)) - - ) - -141  - #__pu»2 - - `__©Śibu‹__ -(( -__cÚˇ__ -)) - - ) - -142 #iŕ -__GNUC__ - =đ2 && -__GNUC_MINOR__ - >= 5 && __GNUC_MINOR__ < 7 - -143  - #__unuŁd - - - ) - -145  - #__unuŁd - - `__©Śibu‹__ -(( -__unuŁd__ -)) - - ) - -148  - #__©Śibu‹__ -( -x -č - - ) - -149 #iŕ -defšed -( -__GNUC__ -č&& !defšed( -__STRICT_ANSI__ -) - -151  - #__d—d - -__vŢ©že - - - ) - -152  - #__pu» - -__cÚˇ - - - ) - -157 #iâdeŕ -__d—d - - -158  - #__d—d - - - ) - -159  - #__pu» - - - ) - -161 #iâdeŕ -__d—d2 - - -162  - #__d—d2 - - - ) - -163  - #__pu»2 - - - ) - -164  - #__unuŁd - - - ) - -173 #iŕ!( -__GNUC__ - =đ2 && -__GNUC_MINOR__ - == 95) - -174 #iŕ -__STDC_VERSION__ - < 199901 - -175  - #__»ˇriů - - - ) - -177  - #__»ˇriů - -»ˇriů - - - ) - -189 #iŕ -__GNUC__ - > 2 || __GNUC__ =đ2 && -__GNUC_MINOR__ - >= 7 - -190  - #__´štćike -( -fmŹrg -, -fśˇv¬¬g -) \ - -191 - `__©Śibu‹__ -(( - `__fÜm©__ - ( -__´štf__ -, -fmŹrg -, -fśˇv¬¬g -))) - - ) - -192  - #__s˙nćike -( -fmŹrg -, -fśˇv¬¬g -) \ - -193 - `__©Śibu‹__ -(( - `__fÜm©__ - ( -__s˙nf__ -, -fmŹrg -, -fśˇv¬¬g -))) - - ) - -195  - #__´štćike -( -fmŹrg -, -fśˇv¬¬g -) - - ) - -196  - #__s˙nćike -( -fmŹrg -, -fśˇv¬¬g -) - - ) - -199  - #__IDSTRING -( -Çme -, -ˇršg -čcÚˇ Çme[] -__unuŁd - = - ) -string - -201 #iâdeŕ -__COPYRIGHT - - -202  - #__COPYRIGHT -( -s -č - `__IDSTRING -( -cÝyright -,s) - - ) - -205 #iâdeŕ -__RCSID - - -206  - #__RCSID -( -s -č - `__IDSTRING -( -rcsid -,s) - - ) - -209 #iâdeŕ -__SCCSID - - -210  - #__SCCSID -( -s -č - `__IDSTRING -( -sccsid -,s) - - ) - -213 #iâdeŕ -__PROJECT_VERSION - - -214  - #__PROJECT_VERSION -( -s -č - `__IDSTRING -( -´ojeů_v”siÚ -,s) - - ) - -272 #iŕ! -defšed -( -__DARWIN_UNIX03 -) - -273 #iŕ -defšed -( -_DARWIN_C_SOURCE -č|| defšed( -_XOPEN_SOURCE -č|| defšed( -_POSIX_C_SOURCE -č|| defšed( -__LP64__ -č|| (defšed( -__¬m__ -č&& !defšed( -KERNEL -)) - -274 #iŕ -defšed -( -_NONSTD_SOURCE -) - -277  - #__DARWIN_UNIX03 - 1 - - ) - -278 #–iŕ -defšed -( -_NONSTD_SOURCE -č|| defšed( -KERNEL -) - -279  - #__DARWIN_UNIX03 - 0 - - ) - -281 #iŕ -defšed -( -__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) < 1050) - -282  - #__DARWIN_UNIX03 - 0 - - ) - -284  - #__DARWIN_UNIX03 - 1 - - ) - -289 #iŕ! -defšed -( -__DARWIN_64_BIT_INO_T -) - -290 #iŕ -defšed -( -_DARWIN_USE_64_BIT_INODE -) - -291  - #__DARWIN_64_BIT_INO_T - 1 - - ) - -292 #–iŕ -defšed -( -_DARWIN_NO_64_BIT_INODE -č|| defšed( -KERNEL -) - -293  - #__DARWIN_64_BIT_INO_T - 0 - - ) - -295  - #__DARWIN_64_BIT_INO_T - 0 - - ) - -299 #iŕ! -defšed -( -__DARWIN_NON_CANCELABLE -) - -300  - #__DARWIN_NON_CANCELABLE - 0 - - ) - -303 #iŕ! -defšed -( -__DARWIN_VERS_1050 -) - -304 #iŕ! -defšed -( -KERNEL -č&& defšed( -__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1050) - -305  - #__DARWIN_VERS_1050 - 1 - - ) - -307  - #__DARWIN_VERS_1050 - 0 - - ) - -314 #iŕ -__DARWIN_UNIX03 - - -315 #iŕ! -defšed -( -__LP64__ -č&& !defšed( -__¬m__ -) - -316  - #__DARWIN_SUF_UNIX03 - "$UNIX2003" - - ) - -317  - #__DARWIN_SUF_UNIX03_SET - 1 - - ) - -319  - #__DARWIN_SUF_UNIX03 - - - ) - -320  - #__DARWIN_SUF_UNIX03_SET - 0 - - ) - -323 #iŕ -__DARWIN_64_BIT_INO_T - - -324  - #__DARWIN_SUF_64_BIT_INO_T - "$INODE64" - - ) - -326  - #__DARWIN_SUF_64_BIT_INO_T - - - ) - -329 #iŕ -__DARWIN_NON_CANCELABLE - - -330  - #__DARWIN_SUF_NON_CANCELABLE - "$NOCANCEL" - - ) - -332  - #__DARWIN_SUF_NON_CANCELABLE - - - ) - -335 #iŕ -__DARWIN_VERS_1050 - - -336  - #__DARWIN_SUF_1050 - "$1050" - - ) - -338  - #__DARWIN_SUF_1050 - - - ) - -342  - #__DARWIN_SUF_UNIX03 - - - ) - -343  - #__DARWIN_SUF_UNIX03_SET - 0 - - ) - -344  - #__DARWIN_SUF_64_BIT_INO_T - - - ) - -345  - #__DARWIN_SUF_NON_CANCELABLE - - - ) - -346  - #__DARWIN_SUF_1050 - - - ) - -349  - #__DARWIN_SUF_EXTSN - "$DARWIN_EXTSN" - - ) - -354  - #__DARWIN_ALIAS -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_UNIX03 -) - - ) - -355  - #__DARWIN_ALIAS_C -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_NON_CANCELABLE - -__DARWIN_SUF_UNIX03 -) - - ) - -356  - #__DARWIN_ALIAS_I -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_64_BIT_INO_T - -__DARWIN_SUF_UNIX03 -) - - ) - -357  - #__DARWIN_INODE64 -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_64_BIT_INO_T -) - - ) - -359  - #__DARWIN_1050 -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_1050 -) - - ) - -360  - #__DARWIN_1050ALIAS -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_1050 - -__DARWIN_SUF_UNIX03 -) - - ) - -361  - #__DARWIN_1050ALIAS_C -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_1050 - -__DARWIN_SUF_NON_CANCELABLE - -__DARWIN_SUF_UNIX03 -) - - ) - -362  - #__DARWIN_1050ALIAS_I -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_1050 - -__DARWIN_SUF_64_BIT_INO_T - -__DARWIN_SUF_UNIX03 -) - - ) - -363  - #__DARWIN_1050INODE64 -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_1050 - -__DARWIN_SUF_64_BIT_INO_T -) - - ) - -365  - #__DARWIN_EXTSN -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_EXTSN -) - - ) - -366  - #__DARWIN_EXTSN_C -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_EXTSN - -__DARWIN_SUF_NON_CANCELABLE -) - - ) - -389 #iŕ -defšed -( -_POSIX_C_SOURCE -) && _POSIX_C_SOURCE == 1L - -390 #undeŕ -_POSIX_C_SOURCE - - -391  - #_POSIX_C_SOURCE - 199009L - - ) - -395 #iŕ -defšed -( -_POSIX_C_SOURCE -) && _POSIX_C_SOURCE == 2L - -396 #undeŕ -_POSIX_C_SOURCE - - -397  - #_POSIX_C_SOURCE - 199209L - - ) - -401 #ifdeŕ -_XOPEN_SOURCE - - -402 #iŕ -_XOPEN_SOURCE - - 0L >= 600L - -403 #undeŕ -_POSIX_C_SOURCE - - -404  - #_POSIX_C_SOURCE - 200112L - - ) - -405 #–iŕ -_XOPEN_SOURCE - - 0L >= 500L - -406 #undeŕ -_POSIX_C_SOURCE - - -407  - #_POSIX_C_SOURCE - 199506L - - ) - -415 #iŕ -defšed -( -_POSIX_SOURCE -č&& !defšed( -_POSIX_C_SOURCE -) - -416  - #_POSIX_C_SOURCE - 198808L - - ) - -424  - #__DARWIN_NO_LONG_LONG - ( - `defšed -( -__STRICT_ANSI__ -) \ - -425 && ( -__STDC_VERSION__ --0 < 199901L) \ - -426 && ! - `defšed -( -__GNUG__ -)) - - ) - -434 #iŕ -defšed -( -__µc__ -) - -435 #iŕ -defšed -( -__LDBL_MANT_DIG__ -č&& defšed( -__DBL_MANT_DIG__ -) && \ - -436 -__LDBL_MANT_DIG__ - > -__DBL_MANT_DIG__ - - -437 #iŕ -__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ --0 < 1040 - -438  - #__DARWIN_LDBL_COMPAT -( -x -č - `__asm -("_" - `__STRING -(xč"$LDBLStub") - - ) - -440  - #__DARWIN_LDBL_COMPAT -( -x -č - `__asm -("_" - `__STRING -(xč"$LDBL128") - - ) - -442  - #__DARWIN_LDBL_COMPAT2 -( -x -č - `__asm -("_" - `__STRING -(xč"$LDBL128") - - ) - -443  - #__DARWIN_LONG_DOUBLE_IS_DOUBLE - 0 - - ) - -445  - #__DARWIN_LDBL_COMPAT -( -x -č - - ) - -446  - #__DARWIN_LDBL_COMPAT2 -( -x -č - - ) - -447  - #__DARWIN_LONG_DOUBLE_IS_DOUBLE - 1 - - ) - -449 #–iŕ -defšed -( -__i386__ -č|| defšed( -__µc64__ -č|| defšed( -__x86_64__ -č|| defšed ( -__¬m__ -) - -450  - #__DARWIN_LDBL_COMPAT -( -x -č - - ) - -451  - #__DARWIN_LDBL_COMPAT2 -( -x -č - - ) - -452  - #__DARWIN_LONG_DOUBLE_IS_DOUBLE - 0 - - ) - -454 #”rÜ -Unknown - -¬ch™eůu» - - -460 #iŕ -__GNUC__ - >= 3 - -461  - #__d•»˙‹d - - `__©Śibu‹__ -(( -d•»˙‹d -)) - - ) - -463  - #__d•»˙‹d - - - ) - -474 #iŕ -__DARWIN_LONG_DOUBLE_IS_DOUBLE - - -475  - #_DARWIN_FEATURE_LONG_DOUBLE_IS_DOUBLE - 1 - - ) - -482 #iŕ -__DARWIN_UNIX03 - - -483  - #_DARWIN_FEATURE_UNIX_CONFORMANCE - 3 - - ) - -490 #iŕ -__DARWIN_64_BIT_INO_T - - -491  - #_DARWIN_FEATURE_64_BIT_INODE - 1 - - ) - - @/usr/include/sys/dirent.h - -75 #iâdeŕ -_SYS_DIRENT_H - - -76  - #_SYS_DIRENT_H - - - ) - -78  - ~ - -79  - ~ - -81 #iâdef -_INO_T - - -82  -__d¬wš_šo_t - - tšo_t -; - -83  - #_INO_T - - - ) - -87  - #__DARWIN_MAXNAMLEN - 255 - - ) - -89 #´agm¨ -·ck -(4) - -91 #iŕ! -__DARWIN_64_BIT_INO_T - - -92  - sdś’t - { - -93 -šo_t - - md_šo -; - -94 -__ušt16_t - - md_»ţ’ -; - -95 -__ušt8_t - - md_tył -; - -96 -__ušt8_t - - md_ÇmËn -; - -97  - md_Çme -[ -__DARWIN_MAXNAMLEN - + 1]; - -101 #´agm¨ -·ck -() - -103  - #__DARWIN_MAXPATHLEN - 1024 - - ) - -105  - #__DARWIN_STRUCT_DIRENTRY - { \ - -106 -__ušt64_t - -d_šo -; \ - -107 -__ušt64_t - -d_Łekoff -; \ - -108 -__ušt16_t - -d_»ţ’ -; \ - -109 -__ušt16_t - -d_ÇmËn -; \ - -110 -__ušt8_t - -d_tył -; \ - -111  -d_Çme -[ -__DARWIN_MAXPATHLEN -]; \ - -112 } - - ) - -114 #iŕ -__DARWIN_64_BIT_INO_T - - -115  -dś’t - - g__DARWIN_STRUCT_DIRENTRY -; - -120 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -121  - #d_fž’o - -d_šo - - - ) - -122  - #MAXNAMLEN - -__DARWIN_MAXNAMLEN - - - ) - -126  - #DT_UNKNOWN - 0 - - ) - -127  - #DT_FIFO - 1 - - ) - -128  - #DT_CHR - 2 - - ) - -129  - #DT_DIR - 4 - - ) - -130  - #DT_BLK - 6 - - ) - -131  - #DT_REG - 8 - - ) - -132  - #DT_LNK - 10 - - ) - -133  - #DT_SOCK - 12 - - ) - -134  - #DT_WHT - 14 - - ) - -139  - #IFTODT -( -mode -č(((modeč& 0170000č>> 12) - - ) - -140  - #DTTOIF -( -dśtył -č((dśtyłč<< 12) - - ) - - @/usr/include/sys/fcntl.h - -70 #iâdeŕ -_SYS_FCNTL_H_ - - -71  - #_SYS_FCNTL_H_ - - - ) - -78  - ~ - -79  - ~ - -82 #iâdeŕ -_SIZE_T - - -83  - #_SIZE_T - - - ) - -84  -__d¬wš_size_t - - tsize_t -; - -87 #iâdef -_MODE_T - - -88  -__d¬wš_mode_t - - tmode_t -; - -89  - #_MODE_T - - - ) - -92 #iâdeŕ -_OFF_T - - -93  -__d¬wš_off_t - - toff_t -; - -94  - #_OFF_T - - - ) - -97 #iâdeŕ -_PID_T - - -98  -__d¬wš_pid_t - - tpid_t -; - -99  - #_PID_T - - - ) - -110  - #O_RDONLY - 0x0000 - - ) - -111  - #O_WRONLY - 0x0001 - - ) - -112  - #O_RDWR - 0x0002 - - ) - -113  - #O_ACCMODE - 0x0003 - - ) - -123 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -124  - #FREAD - 0x0001 - - ) - -125  - #FWRITE - 0x0002 - - ) - -127  - #O_NONBLOCK - 0x0004 - - ) - -128  - #O_APPEND - 0x0008 - - ) - -129  - #O_SYNC - 0x0080 - - ) - -130 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -131  - #O_SHLOCK - 0x0010 - - ) - -132  - #O_EXLOCK - 0x0020 - - ) - -133  - #O_ASYNC - 0x0040 - - ) - -134  - #O_FSYNC - -O_SYNC - - - ) - -135  - #O_NOFOLLOW - 0x0100 - - ) - -137  - #O_CREAT - 0x0200 - - ) - -138  - #O_TRUNC - 0x0400 - - ) - -139  - #O_EXCL - 0x0800 - - ) - -140 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -141  - #O_EVTONLY - 0x8000 - - ) - -145  - #O_NOCTTY - 0x20000 - - ) - -148 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -149  - #O_DIRECTORY - 0x100000 - - ) - -150  - #O_SYMLINK - 0x200000 - - ) - -161 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -162  - #FAPPEND - -O_APPEND - - - ) - -163  - #FASYNC - -O_ASYNC - - - ) - -164  - #FFSYNC - -O_FSYNC - - - ) - -165  - #FNONBLOCK - -O_NONBLOCK - - - ) - -166  - #FNDELAY - -O_NONBLOCK - - - ) - -167  - #O_NDELAY - -O_NONBLOCK - - - ) - -174 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -175  - #CPF_OVERWRITE - 1 - - ) - -176  - #CPF_IGNORE_MODE - 2 - - ) - -177  - #CPF_MASK - ( -CPF_OVERWRITE -| -CPF_IGNORE_MODE -) - - ) - -185  - #F_DUPFD - 0 - - ) - -186  - #F_GETFD - 1 - - ) - -187  - #F_SETFD - 2 - - ) - -188  - #F_GETFL - 3 - - ) - -189  - #F_SETFL - 4 - - ) - -190  - #F_GETOWN - 5 - - ) - -191  - #F_SETOWN - 6 - - ) - -192  - #F_GETLK - 7 - - ) - -193  - #F_SETLK - 8 - - ) - -194  - #F_SETLKW - 9 - - ) - -195 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -196  - #F_CHKCLEAN - 41 - - ) - -197  - #F_PREALLOCATE - 42 - - ) - -198  - #F_SETSIZE - 43 - - ) - -199  - #F_RDADVISE - 44 - - ) - -200  - #F_RDAHEAD - 45 - - ) - -201  - #F_READBOOTSTRAP - 46 - - ) - -202  - #F_WRITEBOOTSTRAP - 47 - - ) - -203  - #F_NOCACHE - 48 - - ) - -204  - #F_LOG2PHYS - 49 - - ) - -205  - #F_GETPATH - 50 - - ) - -206  - #F_FULLFSYNC - 51 - - ) - -207  - #F_PATHPKG_CHECK - 52 - - ) - -208  - #F_FREEZE_FS - 53 - - ) - -209  - #F_THAW_FS - 54 - - ) - -210  - #F_GLOBAL_NOCACHE - 55 - - ) - -213  - #F_ADDSIGS - 59 - - ) - -215  - #F_MARKDEPENDENCY - 60 - - ) - -218  - #FCNTL_FS_SPECIFIC_BASE - 0x00010000 - - ) - -223  - #FD_CLOEXEC - 1 - - ) - -226  - #F_RDLCK - 1 - - ) - -227  - #F_UNLCK - 2 - - ) - -228  - #F_WRLCK - 3 - - ) - -234 #iâdeŕ -SEEK_SET - - -235  - #SEEK_SET - 0 - - ) - -236  - #SEEK_CUR - 1 - - ) - -237  - #SEEK_END - 2 - - ) - -244 #iâdeŕ -S_IFMT - - -246  - #S_IFMT - 0170000 - - ) - -247  - #S_IFIFO - 0010000 - - ) - -248  - #S_IFCHR - 0020000 - - ) - -249  - #S_IFDIR - 0040000 - - ) - -250  - #S_IFBLK - 0060000 - - ) - -251  - #S_IFREG - 0100000 - - ) - -252  - #S_IFLNK - 0120000 - - ) - -253  - #S_IFSOCK - 0140000 - - ) - -254 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -255  - #S_IFWHT - 0160000 - - ) - -256  - #S_IFXATTR - 0200000 - - ) - -261  - #S_IRWXU - 0000700 - - ) - -262  - #S_IRUSR - 0000400 - - ) - -263  - #S_IWUSR - 0000200 - - ) - -264  - #S_IXUSR - 0000100 - - ) - -266  - #S_IRWXG - 0000070 - - ) - -267  - #S_IRGRP - 0000040 - - ) - -268  - #S_IWGRP - 0000020 - - ) - -269  - #S_IXGRP - 0000010 - - ) - -271  - #S_IRWXO - 0000007 - - ) - -272  - #S_IROTH - 0000004 - - ) - -273  - #S_IWOTH - 0000002 - - ) - -274  - #S_IXOTH - 0000001 - - ) - -276  - #S_ISUID - 0004000 - - ) - -277  - #S_ISGID - 0002000 - - ) - -278  - #S_ISVTX - 0001000 - - ) - -280 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -281  - #S_ISTXT - -S_ISVTX - - - ) - -282  - #S_IREAD - -S_IRUSR - - - ) - -283  - #S_IWRITE - -S_IWUSR - - - ) - -284  - #S_IEXEC - -S_IXUSR - - - ) - -288 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -291  - #F_ALLOCATECONTIG - 0x00000002 - - ) - -292  - #F_ALLOCATEALL - 0x00000004 - - ) - -296  - #F_PEOFPOSMODE - 3 - - ) - -298  - #F_VOLPOSMODE - 4 - - ) - -305  - sćock - { - -306 -off_t - - ml_ˇ¬t -; - -307 -off_t - - ml_Ën -; - -308 -pid_t - - ml_pid -; - -309  - ml_tył -; - -310  - ml_wh’ű -; - -314 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -319  - sżdvisÜy - { - -320 -off_t - - mż_offŁt -; - -321  - mż_couÁ -; - -329  - sfsigÇtu»s - { - -330 -off_t - - mfs_fže_ˇ¬t -; - -331 * - mfs_blob_ˇ¬t -; - -332 -size_t - - mfs_blob_size -; - -333 } - tfsigÇtu»s_t -; - -336  - #LOCK_SH - 0x01 - - ) - -337  - #LOCK_EX - 0x02 - - ) - -338  - #LOCK_NB - 0x04 - - ) - -339  - #LOCK_UN - 0x08 - - ) - -343  - sfˇÜe - { - -344  - mfˇ_ćags -; - -345  - mfˇ_posmode -; - -346 -off_t - - mfˇ_offŁt -; - -347 -off_t - - mfˇ_Ëngth -; - -348 -off_t - - mfˇ_by‹§Îoc -; - -349 } - tfˇÜe_t -; - -353  - sfbo١ż±żnsăr - { - -354 -off_t - - mfbt_offŁt -; - -355 -size_t - - mfbt_Ëngth -; - -356 * - mfbt_bufăr -; - -357 } - tfbo١ż±żnsăr_t -; - -377 #´agm¨ -·ck -(4) - -379  - slog2phys - { - -380  - ml2p_ćags -; - -381 -off_t - - ml2p_cÚtigby‹s -; - -382 -off_t - - ml2p_devoffŁt -; - -385 #´agm¨ -·ck -() - -387  - #O_POPUP - 0x80000000 - - ) - -388  - #O_ALERT - 0x20000000 - - ) - -394 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -395 #iâdeŕ -_FILESEC_T - - -396  - g_fžeŁc -; - -397  -_fžeŁc - * - tfžeŁc_t -; - -398  - #_FILESEC_T - - - ) - -401 - mFILESEC_OWNER - = 1, - -402 - mFILESEC_GROUP - = 2, - -403 - mFILESEC_UUID - = 3, - -404 - mFILESEC_MODE - = 4, - -405 - mFILESEC_ACL - = 5, - -406 - mFILESEC_GRPUUID - = 6, - -409 - mFILESEC_ACL_RAW - = 100, - -410 - mFILESEC_ACL_ALLOCSIZE - = 101 - -411 } - tfžeŁc_´Ý”ty_t -; - -414  - #FILESEC_GUID - -FILESEC_UUID - - - ) - -417 -__BEGIN_DECLS - - -418  - $Ý’ -(cÚˇ *, , ...č - `__DARWIN_ALIAS_C -( -Ý’ -); - -419  - $ü—t -(cÚˇ *, -mode_t -č - `__DARWIN_ALIAS_C -( -ü—t -); - -420  - $fúŽ -(, , ...č - `__DARWIN_ALIAS_C -( -fúŽ -); - -421 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -422  - `Ý’x_Ĺ -(cÚˇ *, , -fžeŁc_t -); - -423  - `ćock -(, ); - -424 -fžeŁc_t - - `fžeŁc_š™ -(); - -425 -fžeŁc_t - - `fžeŁc_dup -(filesec_t); - -426  - `fžeŁc_ä“ -( -fžeŁc_t -); - -427  - `fžeŁc_g‘_´Ý”ty -( -fžeŁc_t -, -fžeŁc_´Ý”ty_t -, *); - -428  - `fžeŁc_Łt_´Ý”ty -( -fžeŁc_t -, -fžeŁc_´Ý”ty_t -, const *); - -429  - `fžeŁc_qu”y_´Ý”ty -( -fžeŁc_t -, -fžeŁc_´Ý”ty_t -, *); - -430  - #_FILESEC_UNSET_PROPERTY - ((*)0) - - ) - -431  - #_FILESEC_REMOVE_ACL - ((*)1) - - ) - -433 -__END_DECLS - - - @/usr/include/sys/select.h - -63 #iâdeŕ -_SYS_SELECT_H_ - - -64  - #_SYS_SELECT_H_ - - - ) - -66  - ~ - -67  - ~ - -68  - ~ - -75  - #__Ăed_fd_Łt - - - ) - -76  - #__Ăed_ˇruů_timeĄec - - - ) - -77  - #__Ăed_ˇruů_timev® - - - ) - -78  - ~ - -85 #iâdef -_TIME_T - - -86  - #_TIME_T - - - ) - -87  -__d¬wš_time_t - - ttime_t -; - -90 #iâdeŕ -_SUSECONDS_T - - -91  - #_SUSECONDS_T - - - ) - -92  -__d¬wš_suŁcÚds_t - - tsuŁcÚds_t -; - -95 #iâdeŕ -_SIGSET_T - - -96  - #_SIGSET_T - - - ) - -97  -__d¬wš_sigŁt_t - - tsigŁt_t -; - -112 #iâdef -FD_SETSIZE - - -113  - #FD_SETSIZE - -__DARWIN_FD_SETSIZE - - - ) - -115 #iâdeŕ -FD_SET - - -116  - #FD_SET -( -n -, -p -č - `__DARWIN_FD_SET -Ň,…) - - ) - -118 #iâdeŕ -FD_CLR - - -119  - #FD_CLR -( -n -, -p -č - `__DARWIN_FD_CLR -Ň,…) - - ) - -121 #iâdeŕ -FD_ISSET - - -122  - #FD_ISSET -( -n -, -p -č - `__DARWIN_FD_ISSET -Ň,…) - - ) - -124 #iâdeŕ -FD_ZERO - - -125  - #FD_ZERO -( -p -č - `__DARWIN_FD_ZERO -Ő) - - ) - -127 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -128 #iâdeŕ -FD_COPY - - -129  - #FD_COPY -( -f -, -t -č - `__DARWIN_FD_COPY -(f,) - - ) - -134 - g__BEGIN_DECLS - - -136 #iâdeŕ -__MWERKS__ - - -137  - $pŁËů -(, -fd_Łt - * -__»ˇriů -, fd_set * __restrict, - -138 -fd_Łt - * -__»ˇriů -, cÚˇ  -timeĄec - * __restrict, - -139 cÚˇ -sigŁt_t - * -__»ˇriů -) - -140 #iŕ - `defšed -( -_DARWIN_C_SOURCE -č|| defšed( -_DARWIN_UNLIMITED_SELECT -) - -141 - $__DARWIN_EXTSN_C -( -pŁËů -) - -143 #iŕ - `defšed -( -__LP64__ -č&& ! -__DARWIN_NON_CANCELABLE - - -144 - $__DARWIN_1050 -( -pŁËů -) - -146 - $__DARWIN_ALIAS_C -( -pŁËů -) - -152  - ~ - -154 -__END_DECLS - - - @/usr/include/sys/unistd.h - -64 #iâdeŕ -_SYS_UNISTD_H_ - - -65  - #_SYS_UNISTD_H_ - - - ) - -67  - ~ - -75 #ifdef -_NOT_AVAILABLE - - -76  - #_POSIX_SAVED_IDS - - - ) - -79  - #_POSIX_VERSION - 200112L - - ) - -80  - #_POSIX2_VERSION - 200112L - - ) - -84 #iâdeŕ -_POSIX_VDISABLE - - -85  - #_POSIX_VDISABLE - (()'\377') - - ) - -88  - #_POSIX_THREAD_KEYS_MAX - 128 - - ) - -91  - #F_OK - 0 - - ) - -92  - #X_OK - (1<<0č - - ) - -93  - #W_OK - (1<<1č - - ) - -94  - #R_OK - (1<<2č - - ) - -96 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -102  - #_READ_OK - (1<<9č - - ) - -103  - #_WRITE_OK - (1<<10č - - ) - -104  - #_EXECUTE_OK - (1<<11č - - ) - -105  - #_DELETE_OK - (1<<12č - - ) - -106  - #_APPEND_OK - (1<<13č - - ) - -107  - #_RMFILE_OK - (1<<14č - - ) - -108  - #_RATTR_OK - (1<<15č - - ) - -109  - #_WATTR_OK - (1<<16č - - ) - -110  - #_REXT_OK - (1<<17č - - ) - -111  - #_WEXT_OK - (1<<18č - - ) - -112  - #_RPERM_OK - (1<<19č - - ) - -113  - #_WPERM_OK - (1<<20č - - ) - -114  - #_CHOWN_OK - (1<<21č - - ) - -116  - #_ACCESS_EXTENDED_MASK - ( -_READ_OK - | -_WRITE_OK - | -_EXECUTE_OK - | \ - -117 -_DELETE_OK - | -_APPEND_OK - | \ - -118 -_RMFILE_OK - | -_REXT_OK - | \ - -119 -_WEXT_OK - | -_RATTR_OK - | -_WATTR_OK - | -_RPERM_OK - | \ - -120 -_WPERM_OK - | -_CHOWN_OK -) - - ) - -124 #iâdeŕ -SEEK_SET - - -125  - #SEEK_SET - 0 - - ) - -126  - #SEEK_CUR - 1 - - ) - -127  - #SEEK_END - 2 - - ) - -130 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -132  - #L_SET - -SEEK_SET - - - ) - -133  - #L_INCR - -SEEK_CUR - - - ) - -134  - #L_XTND - -SEEK_END - - - ) - -137 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -138  - sacűssx_desüťtÜ - { - -139  - mad_Çme_offŁt -; - -140  - mad_ćags -; - -141  - mad_·d -[2]; - -143  - #ACCESSX_MAX_DESCRIPTORS - 100 - - ) - -144  - #ACCESSX_MAX_TABLESIZE - (16 * 1024) - - ) - -148  - #_PC_LINK_MAX - 1 - - ) - -149  - #_PC_MAX_CANON - 2 - - ) - -150  - #_PC_MAX_INPUT - 3 - - ) - -151  - #_PC_NAME_MAX - 4 - - ) - -152  - #_PC_PATH_MAX - 5 - - ) - -153  - #_PC_PIPE_BUF - 6 - - ) - -154  - #_PC_CHOWN_RESTRICTED - 7 - - ) - -155  - #_PC_NO_TRUNC - 8 - - ) - -156  - #_PC_VDISABLE - 9 - - ) - -158 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -159  - #_PC_NAME_CHARS_MAX - 10 - - ) - -160  - #_PC_CASE_SENSITIVE - 11 - - ) - -161  - #_PC_CASE_PRESERVING - 12 - - ) - -162  - #_PC_EXTENDED_SECURITY_NP - 13 - - ) - -163  - #_PC_AUTH_OPAQUE_NP - 14 - - ) - -166  - #_PC_2_SYMLINKS - 15 - - ) - -167  - #_PC_ALLOC_SIZE_MIN - 16 - - ) - -168  - #_PC_ASYNC_IO - 17 - - ) - -169  - #_PC_FILESIZEBITS - 18 - - ) - -170  - #_PC_PRIO_IO - 19 - - ) - -171  - #_PC_REC_INCR_XFER_SIZE - 20 - - ) - -172  - #_PC_REC_MAX_XFER_SIZE - 21 - - ) - -173  - #_PC_REC_MIN_XFER_SIZE - 22 - - ) - -174  - #_PC_REC_XFER_ALIGN - 23 - - ) - -175  - #_PC_SYMLINK_MAX - 24 - - ) - -176  - #_PC_SYNC_IO - 25 - - ) - -179  - #_CS_PATH - 1 - - ) - - @/usr/include/sys/wait.h - -64 #iâdeŕ -_SYS_WAIT_H_ - - -65  - #_SYS_WAIT_H_ - - - ) - -67  - ~ - -68  - ~ - -80 - mP_ALL -, - -81 - mP_PID -, - -82 - mP_PGID - - -83 } - tidtył_t -; - -89 #iâdeŕ -_PID_T - - -90  -__d¬wš_pid_t - - tpid_t -; - -91  - #_PID_T - - - ) - -94 #iâdeŕ -_ID_T - - -95  -__d¬wš_id_t - - tid_t -; - -96  - #_ID_T - - - ) - -116  - ~ - -117  - ~ - -128  - #WNOHANG - 0x00000001 - - ) - -129  - #WUNTRACED - 0x00000002 - - ) - -135 #iŕ -defšed -( -_POSIX_C_SOURCE -č&& !defšed( -_DARWIN_C_SOURCE -) - -136  - #_W_INT -( -i -č(i) - - ) - -138  - #_W_INT -( -w -č(*(*)&(w)č - - ) - -139  - #WCOREFLAG - 0200 - - ) - -143  - #_WSTATUS -( -x -č( - `_W_INT -(xč& 0177) - - ) - -144  - #_WSTOPPED - 0177 - - ) - -150 #iŕ -__DARWIN_UNIX03 - - -151  - #WEXITSTATUS -( -x -č(( - `_W_INT -(xč>> 8č& 0x000000ff) - - ) - -153  - #WEXITSTATUS -( -x -č( - `_W_INT -(xč>> 8) - - ) - -156  - #WSTOPSIG -( -x -č( - `_W_INT -(xč>> 8) - - ) - -157  - #WIFCONTINUED -( -x -č( - `_WSTATUS -(xč=đ -_WSTOPPED - && - `WSTOPSIG -(xč=đ0x13) - - ) - -158  - #WIFSTOPPED -( -x -č( - `_WSTATUS -(xč=đ -_WSTOPPED - && - `WSTOPSIG -(xč!đ0x13) - - ) - -159  - #WIFEXITED -( -x -č( - `_WSTATUS -(xč=đ0) - - ) - -160  - #WIFSIGNALED -( -x -č( - `_WSTATUS -(xč!đ -_WSTOPPED - && _WSTATUS(xč!đ0) - - ) - -161  - #WTERMSIG -( -x -č( - `_WSTATUS -(x)) - - ) - -162 #iŕ(! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -163  - #WCOREDUMP -( -x -č( - `_W_INT -(xč& -WCOREFLAG -) - - ) - -165  - #W_EXITCODE -( -»t -, -sig -č(Ô‘č<< 8 | (sig)) - - ) - -166  - #W_STOPCODE -( -sig -č((sigč<< 8 | -_WSTOPPED -) - - ) - -175  - #WEXITED - 0x00000004 - - ) - -176 #iŕ -__DARWIN_UNIX03 - - -178  - #WSTOPPED - 0x00000008 - - ) - -180  - #WCONTINUED - 0x00000010 - - ) - -181  - #WNOWAIT - 0x00000020 - - ) - -184 #iŕ(! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -190  - #WAIT_ANY - (-1č - - ) - -191  - #WAIT_MYPGRP - 0 - - ) - -193  - ~ - -201  - uwa™ - { - -202  - mw_ˇ©us -; - -207 #iŕ -__DARWIN_BYTE_ORDER - =đ -__DARWIN_LITTLE_ENDIAN - - -208  - mw_T”msig -:7, - -209 - mw_CÜedump -:1, - -210 - mw_R‘code -:8, - -211 - mw_FžËr -:16; - -213 #iŕ -__DARWIN_BYTE_ORDER - =đ -__DARWIN_BIG_ENDIAN - - -214  - mw_FžËr -:16, - -215 - mw_R‘code -:8, - -216 - mw_CÜedump -:1, - -217 - mw_T”msig -:7; - -219 } - mw_T -; - -226 #iŕ -__DARWIN_BYTE_ORDER - =đ -__DARWIN_LITTLE_ENDIAN - - -227  - mw_StÝv® -:8, - -228 - mw_StÝsig -:8, - -229 - mw_FžËr -:16; - -231 #iŕ -__DARWIN_BYTE_ORDER - =đ -__DARWIN_BIG_ENDIAN - - -232  - mw_FžËr -:16, - -233 - mw_StÝsig -:8, - -234 - mw_StÝv® -:8; - -236 } - mw_S -; - -238  - #w_‹rmsig - -w_T -. -w_T”msig - - - ) - -239  - #w_cÜedump - -w_T -. -w_CÜedump - - - ) - -240  - #w_»tcode - -w_T -. -w_R‘code - - - ) - -241  - #w_ˇÝv® - -w_S -. -w_StÝv® - - - ) - -242  - #w_ˇÝsig - -w_S -. -w_StÝsig - - - ) - -246 #iŕ!( -__DARWIN_UNIX03 - - 0) - -251  - #WSTOPPED - -_WSTOPPED - - - ) - -254 -__BEGIN_DECLS - - -255 -pid_t - - $wa™ -(*č - `__DARWIN_ALIAS_C -( -wa™ -); - -256 -pid_t - - $wa™pid -( -pid_t -, *, č - `__DARWIN_ALIAS_C -( -wa™pid -); - -257 #iâdeŕ -_ANSI_SOURCE - - -258  - $wa™id -( -idtył_t -, -id_t -, -sigšfo_t - *, č - `__DARWIN_ALIAS_C -( -wa™id -); - -260 #iŕ (! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -261 -pid_t - - `wa™3 -(*, ,  -ru§ge - *); - -262 -pid_t - - `wa™4 -Őid_t, *, ,  -ru§ge - *); - -264 -__END_DECLS - - - @/usr/include/time.h - -63 #iâdeŕ -_TIME_H_ - - -64  - #_TIME_H_ - - - ) - -66  - ~<_tyłs.h -> - -68  - #__Ăed_ˇruů_timeĄec - - - ) - -69  - ~<_ˇruůs.h -> - -71 #iâdeŕ -NULL - - -72  - #NULL - -__DARWIN_NULL - - - ) - -75 #iâdef -_CLOCK_T - - -76  - #_CLOCK_T - - - ) - -77  -__d¬wš_ţock_t - - tţock_t -; - -80 #iâdef -_SIZE_T - - -81  - #_SIZE_T - - - ) - -82  -__d¬wš_size_t - - tsize_t -; - -85 #iâdef -_TIME_T - - -86  - #_TIME_T - - - ) - -87  -__d¬wš_time_t - - ttime_t -; - -90  - stm - { - -91  - mtm_Łc -; - -92  - mtm_mš -; - -93  - mtm_hour -; - -94  - mtm_mday -; - -95  - mtm_mÚ -; - -96  - mtm_y—r -; - -97  - mtm_wday -; - -98  - mtm_yday -; - -99  - mtm_isdˇ -; - -100  - mtm_gmtoff -; - -101 * - mtm_zÚe -; - -104 #iŕ -__DARWIN_UNIX03 - - -105  - #CLOCKS_PER_SEC - 1000000 - - ) - -107  - ~ - -109  - #CLOCKS_PER_SEC - ( -__DARWIN_CLK_TCK -) - - ) - -112 #iâdeŕ -_ANSI_SOURCE - - -113 * -tzÇme -[]; - -116  -g‘d©e_”r -; - -117 #iŕ -__DARWIN_UNIX03 - - -118  -timezÚe - -__DARWIN_ALIAS -(timezone); - -120  -daylight -; - -122 -__BEGIN_DECLS - - -123 * -asůime -(cÚˇ  -tm - *); - -124 -ţock_t - - $ţock -(č - `__DARWIN_ALIAS -( -ţock -); - -125 * - `ůime -(cÚˇ -time_t - *); - -126  - `difáime -( -time_t -,ime_t); - -127  -tm - * - `g‘d©e -(const *); - -128  -tm - * - `gmtime -(cÚˇ -time_t - *); - -129  -tm - * - `lo˙Éime -(cÚˇ -time_t - *); - -130 -time_t - - $mktime -( -tm - *č - `__DARWIN_ALIAS -( -mktime -); - -131 -size_t - - $ˇráime -(* -__»ˇriů -, -size_t -, cÚˇ * __»ˇriů, cÚˇ  -tm - * __»ˇriůč - `__DARWIN_ALIAS -( -ˇráime -); - -132 * - $ˇ˝time -(cÚˇ * -__»ˇriů -, cÚˇ * __»ˇriů,  -tm - * __»ˇriůč - `__DARWIN_ALIAS -( -ˇ˝time -); - -133 -time_t - - `time -(time_t *); - -135 #iâdeŕ -_ANSI_SOURCE - - -136  - `tzŁt -(); - -140 * - `asůime_r -(cÚˇ  -tm - * -__»ˇriů -, * __restrict); - -141 * - `ůime_r -(cÚˇ -time_t - *, *); - -142  -tm - * - `gmtime_r -(cÚˇ -time_t - * -__»ˇriů -, tm * __restrict); - -143  -tm - * - `lo˙Éime_r -(cÚˇ -time_t - * -__»ˇriů -, tm * __restrict); - -145 #iŕ! - `defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -146 -time_t - - `posix2time -(time_t); - -147 #iŕ! -__DARWIN_UNIX03 - - -148 * - `timezÚe -(, ); - -150  - `tzŁtw®l -(); - -151 -time_t - - `time2posix -(time_t); - -152 -time_t - - `tim–o˙l -( -tm - * const); - -153 -time_t - - `timegm -( -tm - * const); - -156 #iŕ! - `defšed -( -_ANSI_SOURCE -) - -157  - $Çno¦“p -(cÚˇ  -timeĄec - *, timeĄeř*č - `__DARWIN_ALIAS_C -( -Çno¦“p -); - -159 -__END_DECLS - - -161 #ifdeŕ -_USE_EXTENDED_LOCALES_ - - -162  - ~ - - @/usr/include/xlocale/_stdio.h - -24 #iâdeŕ -_XLOCALE__STDIO_H_ - - -25  - #_XLOCALE__STDIO_H_ - - - ) - -27 -__BEGIN_DECLS - - -28  - $aĄrštf_l -(**, -lo˙Ë_t -, const *, ...) - -29 - `__DARWIN_LDBL_COMPAT2 -( -aĄrštf_l -); - -30  - $ĺrštf_l -( -FILE - * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, ...) - -31 - `__DARWIN_LDBL_COMPAT2 -( -ĺrštf_l -); - -32  - $fs˙nf_l -( -FILE - * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, ...) - -33 - `__DARWIN_LDBL_COMPAT2 -( -fs˙nf_l -); - -34  - $´štf_l -( -lo˙Ë_t -, cÚˇ * -__»ˇriů -, ...) - -35 - `__DARWIN_LDBL_COMPAT2 -( -´štf_l -); - -36  - $s˙nf_l -( -lo˙Ë_t -, cÚˇ * -__»ˇriů -, ...) - -37 - `__DARWIN_LDBL_COMPAT2 -( -s˙nf_l -); - -38  - $˘´štf_l -(* -__»ˇriů -, -size_t -, -lo˙Ë_t -, - -39 cÚˇ * -__»ˇriů -, ...č - `__DARWIN_LDBL_COMPAT2 -( -˘´štf_l -); - -40  - $Ąrštf_l -(* -__»ˇriů -, -lo˙Ë_t -, const * __restrict, ...) - -41 - `__DARWIN_LDBL_COMPAT2 -( -Ąrštf_l -); - -42  - $ss˙nf_l -(cÚˇ * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, - -43 ...č - `__DARWIN_LDBL_COMPAT2 -( -ss˙nf_l -); - -44  - $vaĄrštf_l -(**, -lo˙Ë_t -, cÚˇ *, -va_liˇ -) - -45 - `__DARWIN_LDBL_COMPAT2 -( -vaĄrštf_l -); - -46  - $vĺrštf_l -( -FILE - * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, - -47 -va_liˇ -č - `__DARWIN_LDBL_COMPAT2 -( -vĺrštf_l -); - -48  - $vfs˙nf_l -( -FILE - * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, - -49 -va_liˇ -č - `__DARWIN_LDBL_COMPAT2 -( -vfs˙nf_l -); - -50  - $v´štf_l -( -lo˙Ë_t -, cÚˇ * -__»ˇriů -, -va_liˇ -) - -51 - `__DARWIN_LDBL_COMPAT2 -( -v´štf_l -); - -52  - $vs˙nf_l -( -lo˙Ë_t -, cÚˇ * -__»ˇriů -, -va_liˇ -) - -53 - `__DARWIN_LDBL_COMPAT2 -( -vs˙nf_l -); - -54  - $v˘´štf_l -(* -__»ˇriů -, -size_t -, -lo˙Ë_t -, - -55 cÚˇ * -__»ˇriů -, -va_liˇ -) - -56 - `__DARWIN_LDBL_COMPAT2 -( -v˘´štf_l -); - -57  - $vĄrštf_l -(* -__»ˇriů -, -lo˙Ë_t -, const * __restrict, - -58 -va_liˇ -č - `__DARWIN_LDBL_COMPAT2 -( -vĄrštf_l -); - -59  - $vss˙nf_l -(cÚˇ * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, - -60 -va_liˇ -č - `__DARWIN_LDBL_COMPAT2 -( -vss˙nf_l -); - -61 -__END_DECLS - - - @/usr/include/xlocale/_stdlib.h - -24 #iâdeŕ -_XLOCALE__STDLIB_H_ - - -25  - #_XLOCALE__STDLIB_H_ - - - ) - -27 -__BEGIN_DECLS - - -28  -©of_l -(cÚˇ *, -lo˙Ë_t -); - -29  -©oi_l -(cÚˇ *, -lo˙Ë_t -); - -30  -©Ţ_l -(cÚˇ *, -lo˙Ë_t -); - -31 #iŕ! -__DARWIN_NO_LONG_LONG - - -33 -©Ţl_l -(cÚˇ *, -lo˙Ë_t -); - -35  -mbËn_l -(cÚˇ *, -size_t -, -lo˙Ë_t -); - -36 -size_t - -mbˇowcs_l -( -wch¬_t - * -__»ˇriů - , const * __restrict, size_t, - -37 -lo˙Ë_t -); - -38  -mbtowc_l -( -wch¬_t - * -__»ˇriů -, cÚˇ * __»ˇriů, -size_t -, - -39 -lo˙Ë_t -); - -40  - $ˇąod_l -(cÚˇ *, **, -lo˙Ë_t -č - `__DARWIN_ALIAS -( -ˇąod_l -); - -41  - $ˇąof_l -(cÚˇ *, **, -lo˙Ë_t -č - `__DARWIN_ALIAS -( -ˇąof_l -); - -42  - `ˇąŢ_l -(cÚˇ *, **, , -lo˙Ë_t -); - -44 - $ˇąŢd_l -(cÚˇ *, **, -lo˙Ë_t -) - -45 - `__DARWIN_LDBL_COMPAT2 -( -ˇąŢd_l -); - -47 - `ˇąŢl_l -(cÚˇ *, **, , -lo˙Ë_t -); - -48 #iŕ! -__DARWIN_NO_LONG_LONG - - -50 - `ˇąoq_l -(cÚˇ *, **, , -lo˙Ë_t -); - -53 - `ˇąoul_l -(cÚˇ *, **, , -lo˙Ë_t -); - -55 - `ˇąouÎ_l -(cÚˇ *, **, , -lo˙Ë_t -); - -56 #iŕ! -__DARWIN_NO_LONG_LONG - - -58 - `ˇąouq_l -(cÚˇ *, **, , -lo˙Ë_t -); - -60 -size_t - - `wcˇombs_l -(* -__»ˇriů -, cÚˇ -wch¬_t - * __restrict, size_t, - -61 -lo˙Ë_t -); - -62  - `wůomb_l -(*, -wch¬_t -, -lo˙Ë_t -); - -65 #iŕ! - `defšed -( -__ýluĄlus -č&& defšed( -__WCHAR_MAX__ -) && __WCHAR_MAX__ <= 0xffffU - -66 #´agm¨ -GCC - -poisÚ - -mbˇowcs_l - -mbtowc_l - -wcˇombs_l - -wůomb_l - - -68 -__END_DECLS - - - @/usr/include/_structs.h - -24  - ~ - - @/usr/include/i386/endian.h - -66 #iâdeŕ -_I386__ENDIAN_H_ - - -67  - #_I386__ENDIAN_H_ - - - ) - -69  - ~ - -78  - #_QUAD_HIGHWORD - 1 - - ) - -79  - #_QUAD_LOWWORD - 0 - - ) - -85  - #__DARWIN_LITTLE_ENDIAN - 1234 - - ) - -86  - #__DARWIN_BIG_ENDIAN - 4321 - - ) - -87  - #__DARWIN_PDP_ENDIAN - 3412 - - ) - -89  - #__DARWIN_BYTE_ORDER - -__DARWIN_LITTLE_ENDIAN - - - ) - -91 #if -defšed -( -KERNEL -č|| (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -93  - #LITTLE_ENDIAN - -__DARWIN_LITTLE_ENDIAN - - - ) - -94  - #BIG_ENDIAN - -__DARWIN_BIG_ENDIAN - - - ) - -95  - #PDP_ENDIAN - -__DARWIN_PDP_ENDIAN - - - ) - -97  - #BYTE_ORDER - -__DARWIN_BYTE_ORDER - - - ) - -99  - ~ - - @/usr/include/i386/types.h - -66 #iâdef -_MACHTYPES_H_ - - -67  - #_MACHTYPES_H_ - - - ) - -69 #iâdeŕ -__ASSEMBLER__ - - -70  - ~ - -71  - ~ - -76 #iâdeŕ -_INT8_T - - -77  - #_INT8_T - - - ) - -78  -__sigĂd -  - tšt8_t -; - -80  - tu_št8_t -; - -81 #iâdeŕ -_INT16_T - - -82  - #_INT16_T - - - ) - -83  - tšt16_t -; - -85  - tu_št16_t -; - -86 #iâdeŕ -_INT32_T - - -87  - #_INT32_T - - - ) - -88  - tšt32_t -; - -90  - tu_št32_t -; - -91 #iâdeŕ -_INT64_T - - -92  - #_INT64_T - - - ) - -93  - tšt64_t -; - -95  - tu_št64_t -; - -97 #iŕ -__LP64__ - - -98  -št64_t - - t»giˇ”_t -; - -100  -št32_t - - t»giˇ”_t -; - -103 #iâdeŕ -_INTPTR_T - - -104  - #_INTPTR_T - - - ) - -105  -__d¬wš_šŤŚ_t - - tšŤŚ_t -; - -107 #iâdeŕ -_UINTPTR_T - - -108  - #_UINTPTR_T - - - ) - -109  - tušŤŚ_t -; - -112 #iŕ! -defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -114  -u_št64_t - - tuŁr_addr_t -; - -115  -u_št64_t - - tuŁr_size_t -; - -116  -št64_t - - tuŁr_ssize_t -; - -117  -št64_t - - tuŁr_lÚg_t -; - -118  -u_št64_t - - tuŁr_ulÚg_t -; - -119  -št64_t - - tuŁr_time_t -; - -120  - #USER_ADDR_NULL - (( -uŁr_addr_t -č0) - - ) - -121  - #CAST_USER_ADDR_T -( -a_±r -č(( -uŁr_addr_t -)(( -ušŤŚ_t -)×_±r))) - - ) - -125  -u_št64_t - - tsys˙Î_¬g_t -; - -127 #iâdeŕ -__offŁtof - - -128  - #__offŁtof -( -tył -, -f›ld -č(( -size_t -)(&(Ńył *)0)->f›ld)) - - ) - - @/usr/include/machine/_limits.h - -28 #iâdeŕ -_BSD_MACHINE__LIMITS_H_ - - -29  - #_BSD_MACHINE__LIMITS_H_ - - - ) - -31 #iŕ -defšed - ( -__µc__ -č|| defšed ( -__µc64__ -) - -32  - ~"µc/_lim™s.h -" - -33 #–iŕ -defšed - ( -__i386__ -č|| defšed( -__x86_64__ -) - -34  - ~"i386/_lim™s.h -" - -35 #–iŕ -defšed - ( -__¬m__ -) - -36  - ~"¬m/_lim™s.h -" - -38 #”rÜ -¬ch™eůu» - -nŮ - -suµÜ‹d - - - @/usr/include/machine/_structs.h - -28 #iŕ -defšed - ( -__µc__ -č|| defšed ( -__µc64__ -) - -29  - ~"µc/_ˇruůs.h -" - -30 #–iŕ -defšed - ( -__i386__ -č|| defšed ( -__x86_64__ -) - -31  - ~"i386/_ˇruůs.h -" - -32 #–iŕ -defšed - ( -__¬m__ -) - -33  - ~"¬m/_ˇruůs.h -" - -35 #”rÜ -¬ch™eůu» - -nŮ - -suµÜ‹d - - - @/usr/include/machine/_types.h - -28 #iâdeŕ -_BSD_MACHINE__TYPES_H_ - - -29  - #_BSD_MACHINE__TYPES_H_ - - - ) - -31 #iŕ -defšed - ( -__µc__ -č|| defšed ( -__µc64__ -) - -32  - ~"µc/_tyłs.h -" - -33 #–iŕ -defšed - ( -__i386__ -č|| defšed( -__x86_64__ -) - -34  - ~"i386/_tyłs.h -" - -35 #–iŕ -defšed - ( -__¬m__ -) - -36  - ~"¬m/_tyłs.h -" - -38 #”rÜ -¬ch™eůu» - -nŮ - -suµÜ‹d - - - @/usr/include/ppc/endian.h - -92 #iâdeŕ -_PPC_ENDIAN_H_ - - -93  - #_PPC_ENDIAN_H_ - - - ) - -95  - ~ - -100  - #_QUAD_HIGHWORD - 0 - - ) - -101  - #_QUAD_LOWWORD - 1 - - ) - -107  - #__DARWIN_LITTLE_ENDIAN - 1234 - - ) - -108  - #__DARWIN_BIG_ENDIAN - 4321 - - ) - -109  - #__DARWIN_PDP_ENDIAN - 3412 - - ) - -111  - #__DARWIN_BYTE_ORDER - -__DARWIN_BIG_ENDIAN - - - ) - -113 #if -defšed -( -KERNEL -č|| (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -115  - #LITTLE_ENDIAN - -__DARWIN_LITTLE_ENDIAN - - - ) - -116  - #BIG_ENDIAN - -__DARWIN_BIG_ENDIAN - - - ) - -117  - #PDP_ENDIAN - -__DARWIN_PDP_ENDIAN - - - ) - -119  - #BYTE_ORDER - -__DARWIN_BYTE_ORDER - - - ) - -121  - ~ - - @/usr/include/ppc/types.h - -66 #iâdef -_MACHTYPES_H_ - - -67  - #_MACHTYPES_H_ - - - ) - -69 #iâdeŕ -__ASSEMBLER__ - - -70  - ~<µc/_tyłs.h -> - -71  - ~ - -76 #iâdeŕ -_INT8_T - - -77  - #_INT8_T - - - ) - -78  -__sigĂd -  - tšt8_t -; - -80  - tu_št8_t -; - -81 #iâdeŕ -_INT16_T - - -82  - #_INT16_T - - - ) - -83  - tšt16_t -; - -85  - tu_št16_t -; - -86 #iâdeŕ -_INT32_T - - -87  - #_INT32_T - - - ) - -88  - tšt32_t -; - -90  - tu_št32_t -; - -91 #iâdeŕ -_INT64_T - - -92  - #_INT64_T - - - ) - -93  - tšt64_t -; - -95  - tu_št64_t -; - -97 #iŕ -defšed -( -__µc64__ -) - -98  -št64_t - - t»giˇ”_t -; - -100  -št32_t - - t»giˇ”_t -; - -103 #iâdeŕ -_INTPTR_T - - -104  - #_INTPTR_T - - - ) - -105  -__d¬wš_šŤŚ_t - - tšŤŚ_t -; - -107 #iâdeŕ -_UINTPTR_T - - -108  - #_UINTPTR_T - - - ) - -109  - tušŤŚ_t -; - -112 #iŕ! -defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -117  -u_št64_t - - tuŁr_addr_t -; - -118  -u_št64_t - - tuŁr_size_t -; - -119  -št64_t - - tuŁr_ssize_t -; - -120  -št64_t - - tuŁr_lÚg_t -; - -121  -u_št64_t - - tuŁr_ulÚg_t -; - -122  -št64_t - - tuŁr_time_t -; - -123  - #USER_ADDR_NULL - (( -uŁr_addr_t -č0) - - ) - -124  - #CAST_USER_ADDR_T -( -a_±r -č(( -uŁr_addr_t -)(( -ušŤŚ_t -)×_±r))) - - ) - -128  -u_št64_t - - tsys˙Î_¬g_t -; - -130 #iâdeŕ -__offŁtof - - -131  - #__offŁtof -( -tył -, -f›ld -č(( -size_t -)(&(Ńył *)0)->f›ld)) - - ) - - @/usr/include/secure/_common.h - -24 #iâdeŕ -_SECURE__COMMON_H_ - - -25  - #_SECURE__COMMON_H_ - - - ) - -27 #undeŕ -_USE_FORTIFY_LEVEL - - -28 #ifdeŕ -_FORTIFY_SOURCE - && _FORTIFY_SOURCE > 0 - -29 #iŕ -_FORTIFY_SOURCE - > 1 - -30  - #_USE_FORTIFY_LEVEL - 2 - - ) - -32  - #_USE_FORTIFY_LEVEL - 1 - - ) - -35  - #_USE_FORTIFY_LEVEL - 0 - - ) - -38  - #__d¬wš_obsz0 -( -objeů -č - `__bužtš_objeů_size - (objeů, 0) - - ) - -39  - #__d¬wš_obsz -( -objeů -č - `__bužtš_objeů_size - (objeů, -_USE_FORTIFY_LEVEL - > 1) - - ) - - @/usr/include/sys/resource.h - -64 #iâdeŕ -_SYS_RESOURCE_H_ - - -65  - #_SYS_RESOURCE_H_ - - - ) - -67  - ~ - -68  - ~ - -69  - ~ - -75  - #__Ăed_ˇruů_timev® - - - ) - -76  - ~ - -79 #iâdeŕ -_ID_T - - -80  - #_ID_T - - - ) - -81  -__d¬wš_id_t - - tid_t -; - -88  -__ušt64_t - - tľim_t -; - -99  - #PRIO_PROCESS - 0 - - ) - -100  - #PRIO_PGRP - 1 - - ) - -101  - #PRIO_USER - 2 - - ) - -103 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -104  - #PRIO_DARWIN_THREAD - 3 - - ) - -109  - #PRIO_MIN - -20 - - ) - -110  - #PRIO_MAX - 20 - - ) - -116  - #PRIO_DARWIN_BG - 0x1000 - - ) - -130  - #RUSAGE_SELF - 0 - - ) - -131  - #RUSAGE_CHILDREN - -1 - - ) - -142  - sru§ge - { - -143  -timev® - - mru_utime -; - -144  -timev® - - mru_ˇime -; - -145 #iŕ -defšed -( -_POSIX_C_SOURCE -č&& !defšed( -_DARWIN_C_SOURCE -) - -146  - mru_Ýaque -[14]; - -153  - mru_maxrss -; - -154  - #ru_fśˇ - -ru_ixrss - - - ) - -155  - mru_ixrss -; - -156  - mru_idrss -; - -157  - mru_i¤ss -; - -158  - mru_mšćt -; - -159  - mru_majćt -; - -160  - mru_nsw­ -; - -161  - mru_šblock -; - -162  - mru_oublock -; - -163  - mru_msg˘d -; - -164  - mru_msgrcv -; - -165  - mru_nsigÇls -; - -166  - mru_nvcsw -; - -167  - mru_nivcsw -; - -168  - #ru_ϡ - -ru_nivcsw - - - ) - -184  - #RLIM_INFINITY - ((( -__ušt64_t -)1 << 63č- 1č - - ) - -185  - #RLIM_SAVED_MAX - -RLIM_INFINITY - - - ) - -186  - #RLIM_SAVED_CUR - -RLIM_INFINITY - - - ) - -192  - #RLIMIT_CPU - 0 - - ) - -193  - #RLIMIT_FSIZE - 1 - - ) - -194  - #RLIMIT_DATA - 2 - - ) - -195  - #RLIMIT_STACK - 3 - - ) - -196  - #RLIMIT_CORE - 4 - - ) - -197  - #RLIMIT_AS - 5 - - ) - -198 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -199  - #RLIMIT_RSS - -RLIMIT_AS - - - ) - -200  - #RLIMIT_MEMLOCK - 6 - - ) - -201  - #RLIMIT_NPROC - 7 - - ) - -203  - #RLIMIT_NOFILE - 8 - - ) - -204 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -205  - #RLIM_NLIMITS - 9 - - ) - -207  - #_RLIMIT_POSIX_FLAG - 0x1000 - - ) - -213  - sľim™ - { - -214 -ľim_t - - mľim_cur -; - -215 -ľim_t - - mľim_max -; - -218 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -220  - #IOPOL_TYPE_DISK - 0 - - ) - -223  - #IOPOL_SCOPE_PROCESS - 0 - - ) - -224  - #IOPOL_SCOPE_THREAD - 1 - - ) - -227  - #IOPOL_DEFAULT - 0 - - ) - -228  - #IOPOL_NORMAL - 1 - - ) - -229  - #IOPOL_PASSIVE - 2 - - ) - -230  - #IOPOL_THROTTLE - 3 - - ) - -235 -__BEGIN_DECLS - - -236  -g‘´iÜ™y -(, -id_t -); - -237 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -238  -g‘iÝŢicy_Ĺ -(, ); - -240  - $g‘ľim™ -(,  -ľim™ - *č - `__DARWIN_ALIAS -( -g‘ľim™ -); - -241  - `g‘ru§ge -(,  -ru§ge - *); - -242  - `ŁŤriÜ™y -(, -id_t -, ); - -243 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -244  - `ŁtiÝŢicy_Ĺ -(, , ); - -246  - $ŁŚlim™ -(, cÚˇ  -ľim™ - *č - `__DARWIN_ALIAS -( -ŁŚlim™ -); - -247 -__END_DECLS - - - @/usr/include/sys/signal.h - -69 #iâdef -_SYS_SIGNAL_H_ - - -70  - #_SYS_SIGNAL_H_ - - - ) - -72  - ~ - -73  - ~ - -75  - #__DARWIN_NSIG - 32 - - ) - -77 #iŕ! -defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -78  - #NSIG - -__DARWIN_NSIG - - - ) - -81  - ~ - -83  - #SIGHUP - 1 - - ) - -84  - #SIGINT - 2 - - ) - -85  - #SIGQUIT - 3 - - ) - -86  - #SIGILL - 4 - - ) - -87  - #SIGTRAP - 5 - - ) - -88  - #SIGABRT - 6 - - ) - -89 #iŕ ( -defšed -( -_POSIX_C_SOURCE -č&& !defšed( -_DARWIN_C_SOURCE -)) - -90  - #SIGPOLL - 7 - - ) - -92  - #SIGIOT - -SIGABRT - - - ) - -93  - #SIGEMT - 7 - - ) - -95  - #SIGFPE - 8 - - ) - -96  - #SIGKILL - 9 - - ) - -97  - #SIGBUS - 10 - - ) - -98  - #SIGSEGV - 11 - - ) - -99  - #SIGSYS - 12 - - ) - -100  - #SIGPIPE - 13 - - ) - -101  - #SIGALRM - 14 - - ) - -102  - #SIGTERM - 15 - - ) - -103  - #SIGURG - 16 - - ) - -104  - #SIGSTOP - 17 - - ) - -105  - #SIGTSTP - 18 - - ) - -106  - #SIGCONT - 19 - - ) - -107  - #SIGCHLD - 20 - - ) - -108  - #SIGTTIN - 21 - - ) - -109  - #SIGTTOU - 22 - - ) - -110 #iŕ (! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -111  - #SIGIO - 23 - - ) - -113  - #SIGXCPU - 24 - - ) - -114  - #SIGXFSZ - 25 - - ) - -115  - #SIGVTALRM - 26 - - ) - -116  - #SIGPROF - 27 - - ) - -117 #iŕ (! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -118  - #SIGWINCH - 28 - - ) - -119  - #SIGINFO - 29 - - ) - -121  - #SIGUSR1 - 30 - - ) - -122  - #SIGUSR2 - 31 - - ) - -124 #iŕ -defšed -( -_ANSI_SOURCE -č|| -__DARWIN_UNIX03 - || defšed( -__ýluĄlus -) - -130  - #SIG_DFL - ((*)())0 - - ) - -131  - #SIG_IGN - ((*)())1 - - ) - -132  - #SIG_HOLD - ((*)())5 - - ) - -133  - #SIG_ERR - (((*)())-1) - - ) - -136  - #SIG_DFL - ((*)Đ))0 - - ) - -137  - #SIG_IGN - ((*)Đ))1 - - ) - -138  - #SIG_HOLD - ((*)Đ))5 - - ) - -139  - #SIG_ERR - (((*)Đ))-1) - - ) - -142 #iâdeŕ -_ANSI_SOURCE - - -143  - ~ - -145  - #__Ăed_mcÚ‹xt_t - - - ) - -146  - #__Ăed_ˇack_t - - - ) - -147  - #__Ăed_ucÚ‹xt_t - - - ) - -148 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -149 #iŕ -defšed -( -__µc__ -č|| defšed( -__µc64__ -) - -150  - #__Ăed_mcÚ‹xt64_t - - - ) - -151  - #__Ăed_ucÚ‹xt64_t - - - ) - -154  - ~ - -156 #iâdeŕ -_PID_T - - -157  - #_PID_T - - - ) - -158  -__d¬wš_pid_t - - tpid_t -; - -161 #iâdeŕ -_PTHREAD_ATTR_T - - -162  - #_PTHREAD_ATTR_T - - - ) - -163  -__d¬wš_±h»ad_©Ś_t - - t±h»ad_©Ś_t -; - -166 #iâdeŕ -_SIGSET_T - - -167  - #_SIGSET_T - - - ) - -168  -__d¬wš_sigŁt_t - - tsigŁt_t -; - -171 #iâdef -_SIZE_T - - -172  - #_SIZE_T - - - ) - -173  -__d¬wš_size_t - - tsize_t -; - -176 #iâdeŕ -_UID_T - - -177  - #_UID_T - - - ) - -178  -__d¬wš_uid_t - - tuid_t -; - -181  - usigv® - { - -183  - msiv®_št -; - -184 * - msiv®_±r -; - -187  - #SIGEV_NONE - 0 - - ) - -188  - #SIGEV_SIGNAL - 1 - - ) - -189  - #SIGEV_THREAD - 3 - - ) - -191  - ssigev’t - { - -192  - msigev_nŮify -; - -193  - msigev_signo -; - -194  -sigv® - - msigev_v®ue -; - -195 (* - msigev_nŮify_funůiÚ -)( - msigv® -); - -196 -±h»ad_©Ś_t - * - msigev_nŮify_©Śibu‹s -; - -200  - s__sigšfo - { - -201  - msi_signo -; - -202  - msi_”şo -; - -203  - msi_code -; - -204 -pid_t - - msi_pid -; - -205 -uid_t - - msi_uid -; - -206  - msi_ˇ©us -; - -207 * - msi_addr -; - -208  -sigv® - - msi_v®ue -; - -209  - msi_bŞd -; - -210  - m__·d -[7]; - -211 } - tsigšfo_t -; - -228 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -229  - #ILL_NOOP - 0 - - ) - -231  - #ILL_ILLOPC - 1 - - ) - -232  - #ILL_ILLTRP - 2 - - ) - -233  - #ILL_PRVOPC - 3 - - ) - -234  - #ILL_ILLOPN - 4 - - ) - -235  - #ILL_ILLADR - 5 - - ) - -236  - #ILL_PRVREG - 6 - - ) - -237  - #ILL_COPROC - 7 - - ) - -238  - #ILL_BADSTK - 8 - - ) - -241 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -242  - #FPE_NOOP - 0 - - ) - -244  - #FPE_FLTDIV - 1 - - ) - -245  - #FPE_FLTOVF - 2 - - ) - -246  - #FPE_FLTUND - 3 - - ) - -247  - #FPE_FLTRES - 4 - - ) - -248  - #FPE_FLTINV - 5 - - ) - -249  - #FPE_FLTSUB - 6 - - ) - -250  - #FPE_INTDIV - 7 - - ) - -251  - #FPE_INTOVF - 8 - - ) - -254 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -255  - #SEGV_NOOP - 0 - - ) - -257  - #SEGV_MAPERR - 1 - - ) - -258  - #SEGV_ACCERR - 2 - - ) - -261 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -262  - #BUS_NOOP - 0 - - ) - -264  - #BUS_ADRALN - 1 - - ) - -265  - #BUS_ADRERR - 2 - - ) - -266  - #BUS_OBJERR - 3 - - ) - -269  - #TRAP_BRKPT - 1 - - ) - -270  - #TRAP_TRACE - 2 - - ) - -273 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -274  - #CLD_NOOP - 0 - - ) - -276  - #CLD_EXITED - 1 - - ) - -277  - #CLD_KILLED - 2 - - ) - -278  - #CLD_DUMPED - 3 - - ) - -279  - #CLD_TRAPPED - 4 - - ) - -280  - #CLD_STOPPED - 5 - - ) - -281  - #CLD_CONTINUED - 6 - - ) - -284  - #POLL_IN - 1 - - ) - -285  - #POLL_OUT - 2 - - ) - -286  - #POLL_MSG - 3 - - ) - -287  - #POLL_ERR - 4 - - ) - -288  - #POLL_PRI - 5 - - ) - -289  - #POLL_HUP - 6 - - ) - -292  - u__sigaůiÚ_u - { - -293 (* - m__§_hŞdËr -)(); - -294 (* - m__§_sigaůiÚ -)(,  - m__sigšfo - *, - -299  - s__sigaůiÚ - { - -300  -__sigaůiÚ_u - - m__sigaůiÚ_u -; - -301 (* - m§_Śamp -)(*, , , - msigšfo_t - *, *); - -302 -sigŁt_t - - m§_mask -; - -303  - m§_ćags -; - -309  - ssigaůiÚ - { - -310  -__sigaůiÚ_u - - m__sigaůiÚ_u -; - -311 -sigŁt_t - - m§_mask -; - -312  - m§_ćags -; - -318  - #§_hŞdËr - -__sigaůiÚ_u -. -__§_hŞdËr - - - ) - -319  - #§_sigaůiÚ - -__sigaůiÚ_u -. -__§_sigaůiÚ - - - ) - -321  - #SA_ONSTACK - 0x0001 - - ) - -322  - #SA_RESTART - 0x0002 - - ) - -323  - #SA_RESETHAND - 0x0004 - - ) - -324  - #SA_NOCLDSTOP - 0x0008 - - ) - -325  - #SA_NODEFER - 0x0010 - - ) - -326  - #SA_NOCLDWAIT - 0x0020 - - ) - -327  - #SA_SIGINFO - 0x0040 - - ) - -328 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -329  - #SA_USERTRAMP - 0x0100 - - ) - -331  - #SA_64REGSET - 0x0200 - - ) - -337  - #SA_USERSPACE_MASK - ( -SA_ONSTACK - | -SA_RESTART - | -SA_RESETHAND - | -SA_NOCLDSTOP - | -SA_NODEFER - | -SA_NOCLDWAIT - | -SA_SIGINFO -) - - ) - -342  - #SIG_BLOCK - 1 - - ) - -343  - #SIG_UNBLOCK - 2 - - ) - -344  - #SIG_SETMASK - 3 - - ) - -347  - #SI_USER - 0x10001 - - ) - -348  - #SI_QUEUE - 0x10002 - - ) - -349  - #SI_TIMER - 0x10003 - - ) - -350  - #SI_ASYNCIO - 0x10004 - - ) - -351  - #SI_MESGQ - 0x10005 - - ) - -353 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -354 (* - tsig_t -)(); - -361  - #SS_ONSTACK - 0x0001 - - ) - -362  - #SS_DISABLE - 0x0004 - - ) - -363  - #MINSIGSTKSZ - 32768 - - ) - -364  - #SIGSTKSZ - 131072 - - ) - -366 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -371  - ssigvec - { - -372 (* -sv_hŞdËr -)(); - -373  -sv_mask -; - -374  -sv_ćags -; - -377  - #SV_ONSTACK - -SA_ONSTACK - - - ) - -378  - #SV_INTERRUPT - -SA_RESTART - - - ) - -379  - #SV_RESETHAND - -SA_RESETHAND - - - ) - -380  - #SV_NODEFER - -SA_NODEFER - - - ) - -381  - #SV_NOCLDSTOP - -SA_NOCLDSTOP - - - ) - -382  - #SV_SIGINFO - -SA_SIGINFO - - - ) - -384  - #sv_Úˇack - -sv_ćags - - - ) - -390  - ssigˇack - { - -391 * -ss_Ą -; - -392  -ss_Úˇack -; - -395 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -400  - #sigmask -( -m -č(1 << ((m)-1)) - - ) - -403  - #BADSIG - -SIG_ERR - - - ) - -412 -__BEGIN_DECLS - - -413 (* - `sigÇl -(, (*)()))(); - -414 -__END_DECLS - - - @/usr/include/xlocale/_time.h - -24 #iâdeŕ -_XLOCALE__TIME_H_ - - -25  - #_XLOCALE__TIME_H_ - - - ) - -27 -__BEGIN_DECLS - - -28 -size_t - - $ˇráime_l -(* -__»ˇriů -, -size_t -, const * __restrict, - -29 cÚˇ  -tm - * -__»ˇriů -, -lo˙Ë_t -) - -30 - `__DARWIN_ALIAS -( -ˇráime_l -); - -31 * - $ˇ˝time_l -(cÚˇ * -__»ˇriů -, const * __restrict, - -32  -tm - * -__»ˇriů -, -lo˙Ë_t -č - `__DARWIN_ALIAS -( -ˇ˝time_l -); - -33 -__END_DECLS - - - @/usr/include/i386/_limits.h - -22 #iâdef -_I386__LIMITS_H_ - - -23  - #_I386__LIMITS_H_ - - - ) - -25  - #__DARWIN_CLK_TCK - 100 - - ) - - @/usr/include/i386/_structs.h - -29  - ~ - -31 #ifdeŕ -__Ăed_mcÚ‹xt_t - - -32 #iâdeŕ -__Ăed_ˇruů_mcÚ‹xt - - -33  - #__Ăed_ˇruů_mcÚ‹xt - - - ) - -37 #iŕ -defšed -( -__Ăed_ˇruů_mcÚ‹xt -) - -38  - ~ - -42 #ifdeŕ -__Ăed_ˇruů_mcÚ‹xt - - -43 #undeŕ -__Ăed_ˇruů_mcÚ‹xt - - -45 #iâdeŕ -_STRUCT_MCONTEXT32 - - -46 #iŕ -__DARWIN_UNIX03 - - -47  - #_STRUCT_MCONTEXT32 -  -__d¬wš_mcÚ‹xt32 - - - ) - -48 - g_STRUCT_MCONTEXT32 - - -50 -_STRUCT_X86_EXCEPTION_STATE32 - - g__es -; - -51 -_STRUCT_X86_THREAD_STATE32 - - g__ss -; - -52 -_STRUCT_X86_FLOAT_STATE32 - - g__fs -; - -55  - #_STRUCT_MCONTEXT32 -  -mcÚ‹xt32 - - - ) - -56 - g_STRUCT_MCONTEXT32 - - -58 -_STRUCT_X86_EXCEPTION_STATE32 - - ges -; - -59 -_STRUCT_X86_THREAD_STATE32 - - gss -; - -60 -_STRUCT_X86_FLOAT_STATE32 - - gfs -; - -65 #iâdeŕ -_STRUCT_MCONTEXT64 - - -66 #iŕ -__DARWIN_UNIX03 - - -67  - #_STRUCT_MCONTEXT64 -  -__d¬wš_mcÚ‹xt64 - - - ) - -68 - g_STRUCT_MCONTEXT64 - - -70 -_STRUCT_X86_EXCEPTION_STATE64 - - g__es -; - -71 -_STRUCT_X86_THREAD_STATE64 - - g__ss -; - -72 -_STRUCT_X86_FLOAT_STATE64 - - g__fs -; - -75  - #_STRUCT_MCONTEXT64 -  -mcÚ‹xt64 - - - ) - -76 - g_STRUCT_MCONTEXT64 - - -78 -_STRUCT_X86_EXCEPTION_STATE64 - - ges -; - -79 -_STRUCT_X86_THREAD_STATE64 - - gss -; - -80 -_STRUCT_X86_FLOAT_STATE64 - - gfs -; - -86 #ifdeŕ -__Ăed_mcÚ‹xt_t - - -87 #undeŕ -__Ăed_mcÚ‹xt_t - - -88 #iâdeŕ -_MCONTEXT_T - - -89  - #_MCONTEXT_T - - - ) - -90 #iŕ -defšed -( -__LP64__ -) - -91  -_STRUCT_MCONTEXT64 - * - tmcÚ‹xt_t -; - -92  - #_STRUCT_MCONTEXT - -_STRUCT_MCONTEXT64 - - - ) - -94  -_STRUCT_MCONTEXT32 - * - tmcÚ‹xt_t -; - -95  - #_STRUCT_MCONTEXT - -_STRUCT_MCONTEXT32 - - - ) - -100 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -101 #iâdeŕ -I386_MCONTEXT_SIZE - - -102  - #I386_MCONTEXT_SIZE - ( -mcÚ‹xt -) - - ) - - @/usr/include/i386/_types.h - -28 #iâdef -_BSD_I386__TYPES_H_ - - -29  - #_BSD_I386__TYPES_H_ - - - ) - -36 #ifdeŕ -__GNUC__ - - -37  -__sigĂd -  - t__št8_t -; - -39  - t__št8_t -; - -41  - t__ušt8_t -; - -42  - t__št16_t -; - -43  - t__ušt16_t -; - -44  - t__št32_t -; - -45  - t__ušt32_t -; - -46  - t__št64_t -; - -47  - t__ušt64_t -; - -49  - t__d¬wš_šŤŚ_t -; - -50  - t__d¬wš_Çtużl_t -; - -70  - t__d¬wš_ů_ruĂ_t -; - -77  - m__mbˇ©e8 -[128]; - -78  - m_mbˇ©eL -; - -79 } - t__mbˇ©e_t -; - -81  -__mbˇ©e_t - - t__d¬wš_mbˇ©e_t -; - -83 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__PTRDIFF_TYPE__ -) - -84  -__PTRDIFF_TYPE__ - - t__d¬wš_±rdiff_t -; - -86  - t__d¬wš_±rdiff_t -; - -89 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__SIZE_TYPE__ -) - -90  -__SIZE_TYPE__ - - t__d¬wš_size_t -; - -92  - t__d¬wš_size_t -; - -95 #iŕ( -__GNUC__ - > 2) - -96  -__bužtš_va_liˇ - - t__d¬wš_va_liˇ -; - -98 * - t__d¬wš_va_liˇ -; - -101 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__WCHAR_TYPE__ -) - -102  -__WCHAR_TYPE__ - - t__d¬wš_wch¬_t -; - -104  -__d¬wš_ů_ruĂ_t - - t__d¬wš_wch¬_t -; - -107  -__d¬wš_wch¬_t - - t__d¬wš_ruĂ_t -; - -109 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__WINT_TYPE__ -) - -110  -__WINT_TYPE__ - - t__d¬wš_wšt_t -; - -112  -__d¬wš_ů_ruĂ_t - - t__d¬wš_wšt_t -; - -115  - t__d¬wš_ţock_t -; - -116  -__ušt32_t - - t__d¬wš_sockËn_t -; - -117  - t__d¬wš_ssize_t -; - -118  - t__d¬wš_time_t -; - - @/usr/include/machine/signal.h - -28 #iâdeŕ -_BSD_MACHINE_SIGNAL_H_ - - -29  - #_BSD_MACHINE_SIGNAL_H_ - - - ) - -31 #iŕ -defšed - ( -__µc__ -č|| defšed ( -__µc64__ -) - -32  - ~"µc/sigÇl.h -" - -33 #–iŕ -defšed - ( -__i386__ -č|| defšed( -__x86_64__ -) - -34  - ~"i386/sigÇl.h -" - -35 #–iŕ -defšed - ( -__¬m__ -) - -36  - ~"¬m/sigÇl.h -" - -38 #”rÜ -¬ch™eůu» - -nŮ - -suµÜ‹d - - - @/usr/include/ppc/_limits.h - -22 #iâdef -_PPC__LIMITS_H_ - - -23  - #_PPC__LIMITS_H_ - - - ) - -25  - #__DARWIN_CLK_TCK - 100 - - ) - - @/usr/include/ppc/_structs.h - -29  - ~ - -31 #ifdeŕ -__Ăed_mcÚ‹xt_t - - -32 #iâdeŕ -__Ăed_ˇruů_mcÚ‹xt - - -33  - #__Ăed_ˇruů_mcÚ‹xt - - - ) - -37 #ifdeŕ -__Ăed_mcÚ‹xt64_t - - -38 #iâdeŕ -__Ăed_ˇruů_mcÚ‹xt64 - - -39  - #__Ăed_ˇruů_mcÚ‹xt64 - - - ) - -43 #iŕ -defšed -( -__Ăed_ˇruů_mcÚ‹xt -č|| defšed( -__Ăed_ˇruů_mcÚ‹xt64 -) - -44  - ~ - -47 #ifdeŕ -__Ăed_ˇruů_mcÚ‹xt - - -48 #undeŕ -__Ăed_ˇruů_mcÚ‹xt - - -49 #iâdeŕ -_STRUCT_MCONTEXT - - -50 #iŕ -__DARWIN_UNIX03 - - -51  - #_STRUCT_MCONTEXT -  -__d¬wš_mcÚ‹xt - - - ) - -52 - g_STRUCT_MCONTEXT - - -54 -_STRUCT_PPC_EXCEPTION_STATE - - g__es -; - -55 -_STRUCT_PPC_THREAD_STATE - - g__ss -; - -56 -_STRUCT_PPC_FLOAT_STATE - - g__fs -; - -57 -_STRUCT_PPC_VECTOR_STATE - - g__vs -; - -60  - #_STRUCT_MCONTEXT -  -mcÚ‹xt - - - ) - -61 - g_STRUCT_MCONTEXT - - -63 -_STRUCT_PPC_EXCEPTION_STATE - - ges -; - -64 -_STRUCT_PPC_THREAD_STATE - - gss -; - -65 -_STRUCT_PPC_FLOAT_STATE - - gfs -; - -66 -_STRUCT_PPC_VECTOR_STATE - - gvs -; - -72 #ifdeŕ -__Ăed_ˇruů_mcÚ‹xt64 - - -73 #undeŕ -__Ăed_ˇruů_mcÚ‹xt64 - - -74 #iâdeŕ -_STRUCT_MCONTEXT64 - - -75 #iŕ -__DARWIN_UNIX03 - - -76  - #_STRUCT_MCONTEXT64 -  -__d¬wš_mcÚ‹xt64 - - - ) - -77 - g_STRUCT_MCONTEXT64 - - -79 -_STRUCT_PPC_EXCEPTION_STATE64 - - g__es -; - -80 -_STRUCT_PPC_THREAD_STATE64 - - g__ss -; - -81 -_STRUCT_PPC_FLOAT_STATE - - g__fs -; - -82 -_STRUCT_PPC_VECTOR_STATE - - g__vs -; - -85  - #_STRUCT_MCONTEXT64 -  -mcÚ‹xt64 - - - ) - -86 - g_STRUCT_MCONTEXT64 - - -88 -_STRUCT_PPC_EXCEPTION_STATE64 - - ges -; - -89 -_STRUCT_PPC_THREAD_STATE64 - - gss -; - -90 -_STRUCT_PPC_FLOAT_STATE - - gfs -; - -91 -_STRUCT_PPC_VECTOR_STATE - - gvs -; - -97 #ifdeŕ -__Ăed_mcÚ‹xt_t - - -98 #undeŕ -__Ăed_mcÚ‹xt_t - - -99 #iâdeŕ -_MCONTEXT_T - - -100  - #_MCONTEXT_T - - - ) - -101  -_STRUCT_MCONTEXT - * - tmcÚ‹xt_t -; - -105 #ifdeŕ -__Ăed_mcÚ‹xt64_t - - -106 #undeŕ -__Ăed_mcÚ‹xt64_t - - -107 #iâdeŕ -_MCONTEXT64_T - - -108  - #_MCONTEXT64_T - - - ) - -109  -_STRUCT_MCONTEXT64 - * - tmcÚ‹xt64_t -; - -113 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -114 #iâdeŕ -PPC_MCONTEXT_SIZE - - -115  - #PPC_MCONTEXT_SIZE - ( -PPC_THREAD_STATE_COUNT - + -PPC_FLOAT_STATE_COUNT - + -PPC_EXCEPTION_STATE_COUNT - + -PPC_VECTOR_STATE_COUNT -č* () - - ) - -117 #iâdeŕ -PPC_MCONTEXT64_SIZE - - -118  - #PPC_MCONTEXT64_SIZE - ( -PPC_THREAD_STATE64_COUNT - + -PPC_FLOAT_STATE_COUNT - + -PPC_EXCEPTION_STATE_COUNT - + -PPC_VECTOR_STATE_COUNT -č* () - - ) - -126 #ifdeŕ -__Ăed_ˇruů_sigcÚ‹xt - - -127 #undeŕ -__Ăed_ˇruů_sigcÚ‹xt - - -128 #iâdeŕ -_STRUCT_SIGCONTEXT - - -129 #iŕ -__DARWIN_UNIX03 - - -130  - #_STRUCT_SIGCONTEXT -  -__d¬wš_sigcÚ‹xt - - - ) - -131 - g_STRUCT_SIGCONTEXT - - -133  - g__sc_Úˇack -; - -134  - g__sc_mask -; - -135  - g__sc_ś -; - -136  - g__sc_psw -; - -137  - g__sc_Ą -; - -138 * - g__sc_»gs -; - -141  - #_STRUCT_SIGCONTEXT -  -sigcÚ‹xt - - - ) - -142 - g_STRUCT_SIGCONTEXT - - -144  - gsc_Úˇack -; - -145  - gsc_mask -; - -146  - gsc_ś -; - -147  - gsc_psw -; - -148  - gsc_Ą -; - -149 * - gsc_»gs -; - -162 #ifdeŕ -__Ăed_ˇruů_sigcÚ‹xt32 - - -163 #undeŕ -__Ăed_ˇruů_sigcÚ‹xt32 - - -164 #iâdeŕ -_STRUCT_SIGCONTEXT32 - - -165 #iŕ -__DARWIN_UNIX03 - - -166  - #_STRUCT_SIGCONTEXT32 -  -__d¬wš_sigcÚ‹xt32 - - - ) - -167 - g_STRUCT_SIGCONTEXT32 - - -169  - g__sc_Úˇack -; - -170  - g__sc_mask -; - -171  - g__sc_ś -; - -172  - g__sc_psw -; - -173  - g__sc_Ą -; - -174 * - g__sc_»gs -; - -177  - #_STRUCT_SIGCONTEXT32 -  -sigcÚ‹xt32 - - - ) - -178 - g_STRUCT_SIGCONTEXT32 - - -180  - gsc_Úˇack -; - -181  - gsc_mask -; - -182  - gsc_ś -; - -183  - gsc_psw -; - -184  - gsc_Ą -; - -185 * - gsc_»gs -; - -191 #ifdeŕ -__Ăed_ˇruů_sigcÚ‹xt64 - - -192 #undeŕ -__Ăed_ˇruů_sigcÚ‹xt64 - - -193 #iâdeŕ -_STRUCT_SIGCONTEXT64 - - -194 #iŕ -__DARWIN_UNIX03 - - -195  - #_STRUCT_SIGCONTEXT64 -  -__d¬wš_sigcÚ‹xt64 - - - ) - -196 - g_STRUCT_SIGCONTEXT64 - - -198  - g__sc_Úˇack -; - -199  - g__sc_mask -; - -200  - g__sc_ś -; - -201  - g__sc_psw -; - -202  - g__sc_Ą -; - -203 * - g__sc_»gs -; - -206  - #_STRUCT_SIGCONTEXT64 -  -sigcÚ‹xt64 - - - ) - -207 - g_STRUCT_SIGCONTEXT64 - - -209  - gsc_Úˇack -; - -210  - gsc_mask -; - -211  - gsc_ś -; - -212  - gsc_psw -; - -213  - gsc_Ą -; - -214 * - gsc_»gs -; - - @/usr/include/ppc/_types.h - -28 #iâdef -_BSD_PPC__TYPES_H_ - - -29  - #_BSD_PPC__TYPES_H_ - - - ) - -36 #ifdeŕ -__GNUC__ - - -37  -__sigĂd -  - t__št8_t -; - -39  - t__št8_t -; - -41  - t__ušt8_t -; - -42  - t__št16_t -; - -43  - t__ušt16_t -; - -44  - t__št32_t -; - -45  - t__ušt32_t -; - -46  - t__št64_t -; - -47  - t__ušt64_t -; - -49  - t__d¬wš_šŤŚ_t -; - -50  - t__d¬wš_Çtużl_t -; - -70  - t__d¬wš_ů_ruĂ_t -; - -77  - m__mbˇ©e8 -[128]; - -78  - m_mbˇ©eL -; - -79 } - t__mbˇ©e_t -; - -81  -__mbˇ©e_t - - t__d¬wš_mbˇ©e_t -; - -83 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__PTRDIFF_TYPE__ -) - -84  -__PTRDIFF_TYPE__ - - t__d¬wš_±rdiff_t -; - -86  - t__d¬wš_±rdiff_t -; - -89 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__SIZE_TYPE__ -) - -90  -__SIZE_TYPE__ - - t__d¬wš_size_t -; - -92  - t__d¬wš_size_t -; - -95 #iŕ( -__GNUC__ - > 2) - -96  -__bužtš_va_liˇ - - t__d¬wš_va_liˇ -; - -98 * - t__d¬wš_va_liˇ -; - -101 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__WCHAR_TYPE__ -) - -102  -__WCHAR_TYPE__ - - t__d¬wš_wch¬_t -; - -104  -__d¬wš_ů_ruĂ_t - - t__d¬wš_wch¬_t -; - -107  -__d¬wš_wch¬_t - - t__d¬wš_ruĂ_t -; - -109 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__WINT_TYPE__ -) - -110  -__WINT_TYPE__ - - t__d¬wš_wšt_t -; - -112  -__d¬wš_ů_ruĂ_t - - t__d¬wš_wšt_t -; - -115  - t__d¬wš_ţock_t -; - -116  -__ušt32_t - - t__d¬wš_sockËn_t -; - -117  - t__d¬wš_ssize_t -; - -118  - t__d¬wš_time_t -; - - @/usr/include/sys/_endian.h - -90 #iâdeŕ -_SYS__ENDIAN_H_ - - -91  - #_SYS__ENDIAN_H_ - - - ) - -93  - ~ - -99 #iŕ -defšed -( -lšt -) - -101 -__BEGIN_DECLS - - -102 -__ušt16_t - -Áohs -(__uint16_t); - -103 -__ušt16_t - -htÚs -(__uint16_t); - -104 -__ušt32_t - -Áohl -(__uint32_t); - -105 -__ušt32_t - -htÚl -(__uint32_t); - -106 - g__END_DECLS - - -108 #–iŕ -__DARWIN_BYTE_ORDER - =đ -__DARWIN_BIG_ENDIAN - - -110  - #Áohl -( -x -č(x) - - ) - -111  - #Áohs -( -x -č(x) - - ) - -112  - #htÚl -( -x -č(x) - - ) - -113  - #htÚs -( -x -č(x) - - ) - -115 #iŕ -defšed -( -KERNEL -č|| (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -116  - #NTOHL -( -x -č(x) - - ) - -117  - #NTOHS -( -x -č(x) - - ) - -118  - #HTONL -( -x -č(x) - - ) - -119  - #HTONS -( -x -č(x) - - ) - -124  - ~ - -126  - #Áohs -( -x -č - `__DARWIN_OSSw­IÁ16 -(x) - - ) - -127  - #htÚs -( -x -č - `__DARWIN_OSSw­IÁ16 -(x) - - ) - -129  - #Áohl -( -x -č - `__DARWIN_OSSw­IÁ32 -(x) - - ) - -130  - #htÚl -( -x -č - `__DARWIN_OSSw­IÁ32 -(x) - - ) - -132 #if -defšed -( -KERNEL -č|| (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -133  - #NTOHL -( -x -č(xčđ - `Áohl -(( -__ušt32_t -)x) - - ) - -134  - #NTOHS -( -x -č(xčđ - `Áohs -(( -__ušt16_t -)x) - - ) - -135  - #HTONL -( -x -č(xčđ - `htÚl -(( -__ušt32_t -)x) - - ) - -136  - #HTONS -( -x -č(xčđ - `htÚs -(( -__ušt16_t -)x) - - ) - - @/usr/include/i386/signal.h - -33 #iâdef -_I386_SIGNAL_H_ - - -34  - #_I386_SIGNAL_H_ - 1 - - ) - -36  - ~ - -38 #iâdeŕ -_ANSI_SOURCE - - -39  - tsig_©omic_t -; - -41 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -43  - ~ - -45 #ifdeŕ -__APPLE_API_OBSOLETE - - -54  - #__Ăed_ˇruů_sigcÚ‹xt - - - ) - -55  - ~ - - @/usr/include/libkern/_OSByteOrder.h - -29 #iâdeŕ -_OS__OSBYTEORDER_H - - -30  - #_OS__OSBYTEORDER_H - - - ) - -40  - ~ - -43  - #__DARWIN_OSSw­CÚˇIÁ16 -( -x -) \ - -44 (( -__ušt16_t -)((((__ušt16_t)( -x -) & 0xff00) >> 8) | \ - -45 ((( -__ušt16_t -)( -x -č& 0x00ffč<< 8))) - - ) - -47  - #__DARWIN_OSSw­CÚˇIÁ32 -( -x -) \ - -48 (( -__ušt32_t -)((((__ušt32_t)( -x -) & 0xff000000) >> 24) | \ - -49 ((( -__ušt32_t -)( -x -) & 0x00ff0000) >> 8) | \ - -50 ((( -__ušt32_t -)( -x -) & 0x0000ff00) << 8) | \ - -51 ((( -__ušt32_t -)( -x -č& 0x000000ffč<< 24))) - - ) - -53  - #__DARWIN_OSSw­CÚˇIÁ64 -( -x -) \ - -54 (( -__ušt64_t -)((((__ušt64_t)( -x -) & 0xff00000000000000ULL) >> 56) | \ - -55 ((( -__ušt64_t -)( -x -) & 0x00ff000000000000ULL) >> 40) | \ - -56 ((( -__ušt64_t -)( -x -) & 0x0000ff0000000000ULL) >> 24) | \ - -57 ((( -__ušt64_t -)( -x -) & 0x000000ff00000000ULL) >> 8) | \ - -58 ((( -__ušt64_t -)( -x -) & 0x00000000ff000000ULL) << 8) | \ - -59 ((( -__ušt64_t -)( -x -) & 0x0000000000ff0000ULL) << 24) | \ - -60 ((( -__ušt64_t -)( -x -) & 0x000000000000ff00ULL) << 40) | \ - -61 ((( -__ušt64_t -)( -x -č& 0x00000000000000ffULLč<< 56))) - - ) - -63 #iŕ -defšed -( -__GNUC__ -) - -65 #iŕ -defšed -( -__i386__ -č|| defšed( -__x86_64__ -) - -66  - ~ - -69 #iŕ -defšed -( -__¬m__ -) - -70  - ~ - -74  - #__DARWIN_OSSw­IÁ16 -( -x -) \ - -75 ( - `__bužtš_cÚˇŞt_p -( -x -č? - `__DARWIN_OSSw­CÚˇIÁ16 -(xč: - `_OSSw­IÁ16 -(x)) - - ) - -77  - #__DARWIN_OSSw­IÁ32 -( -x -) \ - -78 ( - `__bužtš_cÚˇŞt_p -( -x -č? - `__DARWIN_OSSw­CÚˇIÁ32 -(xč: - `_OSSw­IÁ32 -(x)) - - ) - -80  - #__DARWIN_OSSw­IÁ64 -( -x -) \ - -81 ( - `__bužtš_cÚˇŞt_p -( -x -č? - `__DARWIN_OSSw­CÚˇIÁ64 -(xč: - `_OSSw­IÁ64 -(x)) - - ) - -85 #iŕ -defšed -( -__i386__ -č|| defšed( -__x86_64__ -) - -87 #iŕ! -defšed -( -__DARWIN_OS_INLINE -) - -88 #iŕ -defšed -( -__STDC_VERSION__ -) && __STDC_VERSION__ >= 199901L - -89  - #__DARWIN_OS_INLINE -  -šlše - - - ) - -90 #–iŕ -defšed -( -__MWERKS__ -č|| defšed( -__ýluĄlus -) - -91  - #__DARWIN_OS_INLINE -  -šlše - - - ) - -93  - #__DARWIN_OS_INLINE -  -__šlše__ - - - ) - -97 -__DARWIN_OS_INLINE - - -98 -ušt16_t - - -99 - $_OSSw­IÁ16 -( - -100 -ušt16_t - -d©a - - -103  - `__DARWIN_OSSw­CÚˇIÁ16 -( -d©a -); - -104 - } -} - -106 -__DARWIN_OS_INLINE - - -107 -ušt32_t - - -108 - $_OSSw­IÁ32 -( - -109 -ušt32_t - -d©a - - -112  - `__DARWIN_OSSw­CÚˇIÁ32 -( -d©a -); - -113 - } -} - -115 -__DARWIN_OS_INLINE - - -116 -ušt64_t - - -117 - $_OSSw­IÁ64 -( - -118 -ušt64_t - -d©a - - -121  - `__DARWIN_OSSw­CÚˇIÁ64 -( -d©a -); - -122 - } -} - -125  - #__DARWIN_OSSw­IÁ16 -( -x -č - `_OSSw­IÁ16 -(x) - - ) - -127  - #__DARWIN_OSSw­IÁ32 -( -x -č - `_OSSw­IÁ32 -(x) - - ) - -129  - #__DARWIN_OSSw­IÁ64 -( -x -č - `_OSSw­IÁ64 -(x) - - ) - - @/usr/include/mach/i386/_structs.h - -32 #iâdef -_MACH_I386__STRUCTS_H_ - - -33  - #_MACH_I386__STRUCTS_H_ - - - ) - -41 #iŕ -__DARWIN_UNIX03 - - -42  - #_STRUCT_X86_THREAD_STATE32 -  -__d¬wš_i386_th»ad_ˇ©e - - - ) - -43 - g_STRUCT_X86_THREAD_STATE32 - - -45  - g__—x -; - -46  - g__ebx -; - -47  - g__ecx -; - -48  - g__edx -; - -49  - g__edi -; - -50  - g__esi -; - -51  - g__ebp -; - -52  - g__eĄ -; - -53  - g__ss -; - -54  - g__ećags -; - -55  - g__eť -; - -56  - g__cs -; - -57  - g__ds -; - -58  - g__es -; - -59  - g__fs -; - -60  - g__gs -; - -63  - #_STRUCT_X86_THREAD_STATE32 -  -i386_th»ad_ˇ©e - - - ) - -64 - g_STRUCT_X86_THREAD_STATE32 - - -66  - g—x -; - -67  - gebx -; - -68  - gecx -; - -69  - gedx -; - -70  - gedi -; - -71  - gesi -; - -72  - gebp -; - -73  - geĄ -; - -74  - gss -; - -75  - gećags -; - -76  - geť -; - -77  - gcs -; - -78  - gds -; - -79  - ges -; - -80  - gfs -; - -81  - ggs -; - -87 #iŕ -__DARWIN_UNIX03 - - -88  - #_STRUCT_FP_CONTROL -  -__d¬wš_ĺ_cÚŚŢ - - - ) - -89 - g_STRUCT_FP_CONTROL - - -91  - g__šv®id - :1, - -92 - g__d’Üm - :1, - -93 - g__zdiv - :1, - -94 - g__ovrć - :1, - -95 - g__undć - :1, - -96 - g__´ecis - :1, - -98 - g__pc - :2, - -99 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -100  - #FP_PREC_24B - 0 - - ) - -101  - #FP_PREC_53B - 2 - - ) - -102  - #FP_PREC_64B - 3 - - ) - -104 - g__rc - :2, - -105 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -106  - #FP_RND_NEAR - 0 - - ) - -107  - #FP_RND_DOWN - 1 - - ) - -108  - #FP_RND_UP - 2 - - ) - -109  - #FP_CHOP - 3 - - ) - -114  -_STRUCT_FP_CONTROL - - t__d¬wš_ĺ_cÚŚŢ_t -; - -116  - #_STRUCT_FP_CONTROL -  -ĺ_cÚŚŢ - - - ) - -117 - g_STRUCT_FP_CONTROL - - -119  - gšv®id - :1, - -120 - gd’Üm - :1, - -121 - gzdiv - :1, - -122 - govrć - :1, - -123 - gundć - :1, - -124 - g´ecis - :1, - -126 - gpc - :2, - -127  - #FP_PREC_24B - 0 - - ) - -128  - #FP_PREC_53B - 2 - - ) - -129  - #FP_PREC_64B - 3 - - ) - -130 - grc - :2, - -131  - #FP_RND_NEAR - 0 - - ) - -132  - #FP_RND_DOWN - 1 - - ) - -133  - #FP_RND_UP - 2 - - ) - -134  - #FP_CHOP - 3 - - ) - -138  -_STRUCT_FP_CONTROL - - tĺ_cÚŚŢ_t -; - -145 #iŕ -__DARWIN_UNIX03 - - -146  - #_STRUCT_FP_STATUS -  -__d¬wš_ĺ_ˇ©us - - - ) - -147 - g_STRUCT_FP_STATUS - - -149  - g__šv®id - :1, - -150 - g__d’Üm - :1, - -151 - g__zdiv - :1, - -152 - g__ovrć - :1, - -153 - g__undć - :1, - -154 - g__´ecis - :1, - -155 - g__ˇkćt - :1, - -156 - g__”rsumm - :1, - -157 - g__c0 - :1, - -158 - g__c1 - :1, - -159 - g__c2 - :1, - -160 - g__tos - :3, - -161 - g__c3 - :1, - -162 - g__busy - :1; - -164  -_STRUCT_FP_STATUS - - t__d¬wš_ĺ_ˇ©us_t -; - -166  - #_STRUCT_FP_STATUS -  -ĺ_ˇ©us - - - ) - -167 - g_STRUCT_FP_STATUS - - -169  - gšv®id - :1, - -170 - gd’Üm - :1, - -171 - gzdiv - :1, - -172 - govrć - :1, - -173 - gundć - :1, - -174 - g´ecis - :1, - -175 - gˇkćt - :1, - -176 - g”rsumm - :1, - -177 - gc0 - :1, - -178 - gc1 - :1, - -179 - gc2 - :1, - -180 - gtos - :3, - -181 - gc3 - :1, - -182 - gbusy - :1; - -184  -_STRUCT_FP_STATUS - - tĺ_ˇ©us_t -; - -189 #iŕ -__DARWIN_UNIX03 - - -190  - #_STRUCT_MMST_REG -  -__d¬wš_mmˇ_»g - - - ) - -191 - g_STRUCT_MMST_REG - - -193  - g__mmˇ_»g -[10]; - -194  - g__mmˇ_r¤v -[6]; - -197  - #_STRUCT_MMST_REG -  -mmˇ_»g - - - ) - -198 - g_STRUCT_MMST_REG - - -200  - gmmˇ_»g -[10]; - -201  - gmmˇ_r¤v -[6]; - -208 #iŕ -__DARWIN_UNIX03 - - -209  - #_STRUCT_XMM_REG -  -__d¬wš_xmm_»g - - - ) - -210 - g_STRUCT_XMM_REG - - -212  - g__xmm_»g -[16]; - -215  - #_STRUCT_XMM_REG -  -xmm_»g - - - ) - -216 - g_STRUCT_XMM_REG - - -218  - gxmm_»g -[16]; - -226 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -227  - #FP_STATE_BYTES - 512 - - ) - -230 #iŕ -__DARWIN_UNIX03 - - -231  - #_STRUCT_X86_FLOAT_STATE32 -  -__d¬wš_i386_ćßt_ˇ©e - - - ) - -232 - g_STRUCT_X86_FLOAT_STATE32 - - -234  - g__ĺu_»Łrved -[2]; - -235 -_STRUCT_FP_CONTROL - - g__ĺu_fcw -; - -236 -_STRUCT_FP_STATUS - - g__ĺu_fsw -; - -237 -__ušt8_t - - g__ĺu_áw -; - -238 -__ušt8_t - - g__ĺu_r¤v1 -; - -239 -__ušt16_t - - g__ĺu_fÝ -; - -240 -__ušt32_t - - g__ĺu_ť -; - -241 -__ušt16_t - - g__ĺu_cs -; - -242 -__ušt16_t - - g__ĺu_r¤v2 -; - -243 -__ušt32_t - - g__ĺu_dp -; - -244 -__ušt16_t - - g__ĺu_ds -; - -245 -__ušt16_t - - g__ĺu_r¤v3 -; - -246 -__ušt32_t - - g__ĺu_mxc¤ -; - -247 -__ušt32_t - - g__ĺu_mxc¤mask -; - -248 -_STRUCT_MMST_REG - - g__ĺu_ˇmm0 -; - -249 -_STRUCT_MMST_REG - - g__ĺu_ˇmm1 -; - -250 -_STRUCT_MMST_REG - - g__ĺu_ˇmm2 -; - -251 -_STRUCT_MMST_REG - - g__ĺu_ˇmm3 -; - -252 -_STRUCT_MMST_REG - - g__ĺu_ˇmm4 -; - -253 -_STRUCT_MMST_REG - - g__ĺu_ˇmm5 -; - -254 -_STRUCT_MMST_REG - - g__ĺu_ˇmm6 -; - -255 -_STRUCT_MMST_REG - - g__ĺu_ˇmm7 -; - -256 -_STRUCT_XMM_REG - - g__ĺu_xmm0 -; - -257 -_STRUCT_XMM_REG - - g__ĺu_xmm1 -; - -258 -_STRUCT_XMM_REG - - g__ĺu_xmm2 -; - -259 -_STRUCT_XMM_REG - - g__ĺu_xmm3 -; - -260 -_STRUCT_XMM_REG - - g__ĺu_xmm4 -; - -261 -_STRUCT_XMM_REG - - g__ĺu_xmm5 -; - -262 -_STRUCT_XMM_REG - - g__ĺu_xmm6 -; - -263 -_STRUCT_XMM_REG - - g__ĺu_xmm7 -; - -264  - g__ĺu_r¤v4 -[14*16]; - -265  - g__ĺu_»Łrved1 -; - -268  - #_STRUCT_X86_FLOAT_STATE32 -  -i386_ćßt_ˇ©e - - - ) - -269 - g_STRUCT_X86_FLOAT_STATE32 - - -271  - gĺu_»Łrved -[2]; - -272 -_STRUCT_FP_CONTROL - - gĺu_fcw -; - -273 -_STRUCT_FP_STATUS - - gĺu_fsw -; - -274 -__ušt8_t - - gĺu_áw -; - -275 -__ušt8_t - - gĺu_r¤v1 -; - -276 -__ušt16_t - - gĺu_fÝ -; - -277 -__ušt32_t - - gĺu_ť -; - -278 -__ušt16_t - - gĺu_cs -; - -279 -__ušt16_t - - gĺu_r¤v2 -; - -280 -__ušt32_t - - gĺu_dp -; - -281 -__ušt16_t - - gĺu_ds -; - -282 -__ušt16_t - - gĺu_r¤v3 -; - -283 -__ušt32_t - - gĺu_mxc¤ -; - -284 -__ušt32_t - - gĺu_mxc¤mask -; - -285 -_STRUCT_MMST_REG - - gĺu_ˇmm0 -; - -286 -_STRUCT_MMST_REG - - gĺu_ˇmm1 -; - -287 -_STRUCT_MMST_REG - - gĺu_ˇmm2 -; - -288 -_STRUCT_MMST_REG - - gĺu_ˇmm3 -; - -289 -_STRUCT_MMST_REG - - gĺu_ˇmm4 -; - -290 -_STRUCT_MMST_REG - - gĺu_ˇmm5 -; - -291 -_STRUCT_MMST_REG - - gĺu_ˇmm6 -; - -292 -_STRUCT_MMST_REG - - gĺu_ˇmm7 -; - -293 -_STRUCT_XMM_REG - - gĺu_xmm0 -; - -294 -_STRUCT_XMM_REG - - gĺu_xmm1 -; - -295 -_STRUCT_XMM_REG - - gĺu_xmm2 -; - -296 -_STRUCT_XMM_REG - - gĺu_xmm3 -; - -297 -_STRUCT_XMM_REG - - gĺu_xmm4 -; - -298 -_STRUCT_XMM_REG - - gĺu_xmm5 -; - -299 -_STRUCT_XMM_REG - - gĺu_xmm6 -; - -300 -_STRUCT_XMM_REG - - gĺu_xmm7 -; - -301  - gĺu_r¤v4 -[14*16]; - -302  - gĺu_»Łrved1 -; - -306 #iŕ -__DARWIN_UNIX03 - - -307  - #_STRUCT_X86_EXCEPTION_STATE32 -  -__d¬wš_i386_exű±iÚ_ˇ©e - - - ) - -308 - g_STRUCT_X86_EXCEPTION_STATE32 - - -310  - g__Ś­no -; - -311  - g__”r -; - -312  - g__çuÉvaddr -; - -315  - #_STRUCT_X86_EXCEPTION_STATE32 -  -i386_exű±iÚ_ˇ©e - - - ) - -316 - g_STRUCT_X86_EXCEPTION_STATE32 - - -318  - gŚ­no -; - -319  - g”r -; - -320  - gçuÉvaddr -; - -324 #iŕ -__DARWIN_UNIX03 - - -325  - #_STRUCT_X86_DEBUG_STATE32 -  -__d¬wš_x86_debug_ˇ©e32 - - - ) - -326 - g_STRUCT_X86_DEBUG_STATE32 - - -328  - g__dr0 -; - -329  - g__dr1 -; - -330  - g__dr2 -; - -331  - g__dr3 -; - -332  - g__dr4 -; - -333  - g__dr5 -; - -334  - g__dr6 -; - -335  - g__dr7 -; - -338  - #_STRUCT_X86_DEBUG_STATE32 -  -x86_debug_ˇ©e32 - - - ) - -339 - g_STRUCT_X86_DEBUG_STATE32 - - -341  - gdr0 -; - -342  - gdr1 -; - -343  - gdr2 -; - -344  - gdr3 -; - -345  - gdr4 -; - -346  - gdr5 -; - -347  - gdr6 -; - -348  - gdr7 -; - -356 #iŕ -__DARWIN_UNIX03 - - -357  - #_STRUCT_X86_THREAD_STATE64 -  -__d¬wš_x86_th»ad_ˇ©e64 - - - ) - -358 - g_STRUCT_X86_THREAD_STATE64 - - -360 -__ušt64_t - - g__żx -; - -361 -__ušt64_t - - g__rbx -; - -362 -__ušt64_t - - g__rcx -; - -363 -__ušt64_t - - g__rdx -; - -364 -__ušt64_t - - g__rdi -; - -365 -__ušt64_t - - g__rsi -; - -366 -__ušt64_t - - g__rbp -; - -367 -__ušt64_t - - g__rĄ -; - -368 -__ušt64_t - - g__r8 -; - -369 -__ušt64_t - - g__r9 -; - -370 -__ušt64_t - - g__r10 -; - -371 -__ušt64_t - - g__r11 -; - -372 -__ušt64_t - - g__r12 -; - -373 -__ušt64_t - - g__r13 -; - -374 -__ušt64_t - - g__r14 -; - -375 -__ušt64_t - - g__r15 -; - -376 -__ušt64_t - - g__rť -; - -377 -__ušt64_t - - g__rćags -; - -378 -__ušt64_t - - g__cs -; - -379 -__ušt64_t - - g__fs -; - -380 -__ušt64_t - - g__gs -; - -383  - #_STRUCT_X86_THREAD_STATE64 -  -x86_th»ad_ˇ©e64 - - - ) - -384 - g_STRUCT_X86_THREAD_STATE64 - - -386 -__ušt64_t - - gżx -; - -387 -__ušt64_t - - grbx -; - -388 -__ušt64_t - - grcx -; - -389 -__ušt64_t - - grdx -; - -390 -__ušt64_t - - grdi -; - -391 -__ušt64_t - - grsi -; - -392 -__ušt64_t - - grbp -; - -393 -__ušt64_t - - grĄ -; - -394 -__ušt64_t - - gr8 -; - -395 -__ušt64_t - - gr9 -; - -396 -__ušt64_t - - gr10 -; - -397 -__ušt64_t - - gr11 -; - -398 -__ušt64_t - - gr12 -; - -399 -__ušt64_t - - gr13 -; - -400 -__ušt64_t - - gr14 -; - -401 -__ušt64_t - - gr15 -; - -402 -__ušt64_t - - grť -; - -403 -__ušt64_t - - grćags -; - -404 -__ušt64_t - - gcs -; - -405 -__ušt64_t - - gfs -; - -406 -__ušt64_t - - ggs -; - -411 #iŕ -__DARWIN_UNIX03 - - -412  - #_STRUCT_X86_FLOAT_STATE64 -  -__d¬wš_x86_ćßt_ˇ©e64 - - - ) - -413 - g_STRUCT_X86_FLOAT_STATE64 - - -415  - g__ĺu_»Łrved -[2]; - -416 -_STRUCT_FP_CONTROL - - g__ĺu_fcw -; - -417 -_STRUCT_FP_STATUS - - g__ĺu_fsw -; - -418 -__ušt8_t - - g__ĺu_áw -; - -419 -__ušt8_t - - g__ĺu_r¤v1 -; - -420 -__ušt16_t - - g__ĺu_fÝ -; - -423 -__ušt32_t - - g__ĺu_ť -; - -424 -__ušt16_t - - g__ĺu_cs -; - -426 -__ušt16_t - - g__ĺu_r¤v2 -; - -429 -__ušt32_t - - g__ĺu_dp -; - -430 -__ušt16_t - - g__ĺu_ds -; - -432 -__ušt16_t - - g__ĺu_r¤v3 -; - -433 -__ušt32_t - - g__ĺu_mxc¤ -; - -434 -__ušt32_t - - g__ĺu_mxc¤mask -; - -435 -_STRUCT_MMST_REG - - g__ĺu_ˇmm0 -; - -436 -_STRUCT_MMST_REG - - g__ĺu_ˇmm1 -; - -437 -_STRUCT_MMST_REG - - g__ĺu_ˇmm2 -; - -438 -_STRUCT_MMST_REG - - g__ĺu_ˇmm3 -; - -439 -_STRUCT_MMST_REG - - g__ĺu_ˇmm4 -; - -440 -_STRUCT_MMST_REG - - g__ĺu_ˇmm5 -; - -441 -_STRUCT_MMST_REG - - g__ĺu_ˇmm6 -; - -442 -_STRUCT_MMST_REG - - g__ĺu_ˇmm7 -; - -443 -_STRUCT_XMM_REG - - g__ĺu_xmm0 -; - -444 -_STRUCT_XMM_REG - - g__ĺu_xmm1 -; - -445 -_STRUCT_XMM_REG - - g__ĺu_xmm2 -; - -446 -_STRUCT_XMM_REG - - g__ĺu_xmm3 -; - -447 -_STRUCT_XMM_REG - - g__ĺu_xmm4 -; - -448 -_STRUCT_XMM_REG - - g__ĺu_xmm5 -; - -449 -_STRUCT_XMM_REG - - g__ĺu_xmm6 -; - -450 -_STRUCT_XMM_REG - - g__ĺu_xmm7 -; - -451 -_STRUCT_XMM_REG - - g__ĺu_xmm8 -; - -452 -_STRUCT_XMM_REG - - g__ĺu_xmm9 -; - -453 -_STRUCT_XMM_REG - - g__ĺu_xmm10 -; - -454 -_STRUCT_XMM_REG - - g__ĺu_xmm11 -; - -455 -_STRUCT_XMM_REG - - g__ĺu_xmm12 -; - -456 -_STRUCT_XMM_REG - - g__ĺu_xmm13 -; - -457 -_STRUCT_XMM_REG - - g__ĺu_xmm14 -; - -458 -_STRUCT_XMM_REG - - g__ĺu_xmm15 -; - -459  - g__ĺu_r¤v4 -[6*16]; - -460  - g__ĺu_»Łrved1 -; - -463  - #_STRUCT_X86_FLOAT_STATE64 -  -x86_ćßt_ˇ©e64 - - - ) - -464 - g_STRUCT_X86_FLOAT_STATE64 - - -466  - gĺu_»Łrved -[2]; - -467 -_STRUCT_FP_CONTROL - - gĺu_fcw -; - -468 -_STRUCT_FP_STATUS - - gĺu_fsw -; - -469 -__ušt8_t - - gĺu_áw -; - -470 -__ušt8_t - - gĺu_r¤v1 -; - -471 -__ušt16_t - - gĺu_fÝ -; - -474 -__ušt32_t - - gĺu_ť -; - -475 -__ušt16_t - - gĺu_cs -; - -477 -__ušt16_t - - gĺu_r¤v2 -; - -480 -__ušt32_t - - gĺu_dp -; - -481 -__ušt16_t - - gĺu_ds -; - -483 -__ušt16_t - - gĺu_r¤v3 -; - -484 -__ušt32_t - - gĺu_mxc¤ -; - -485 -__ušt32_t - - gĺu_mxc¤mask -; - -486 -_STRUCT_MMST_REG - - gĺu_ˇmm0 -; - -487 -_STRUCT_MMST_REG - - gĺu_ˇmm1 -; - -488 -_STRUCT_MMST_REG - - gĺu_ˇmm2 -; - -489 -_STRUCT_MMST_REG - - gĺu_ˇmm3 -; - -490 -_STRUCT_MMST_REG - - gĺu_ˇmm4 -; - -491 -_STRUCT_MMST_REG - - gĺu_ˇmm5 -; - -492 -_STRUCT_MMST_REG - - gĺu_ˇmm6 -; - -493 -_STRUCT_MMST_REG - - gĺu_ˇmm7 -; - -494 -_STRUCT_XMM_REG - - gĺu_xmm0 -; - -495 -_STRUCT_XMM_REG - - gĺu_xmm1 -; - -496 -_STRUCT_XMM_REG - - gĺu_xmm2 -; - -497 -_STRUCT_XMM_REG - - gĺu_xmm3 -; - -498 -_STRUCT_XMM_REG - - gĺu_xmm4 -; - -499 -_STRUCT_XMM_REG - - gĺu_xmm5 -; - -500 -_STRUCT_XMM_REG - - gĺu_xmm6 -; - -501 -_STRUCT_XMM_REG - - gĺu_xmm7 -; - -502 -_STRUCT_XMM_REG - - gĺu_xmm8 -; - -503 -_STRUCT_XMM_REG - - gĺu_xmm9 -; - -504 -_STRUCT_XMM_REG - - gĺu_xmm10 -; - -505 -_STRUCT_XMM_REG - - gĺu_xmm11 -; - -506 -_STRUCT_XMM_REG - - gĺu_xmm12 -; - -507 -_STRUCT_XMM_REG - - gĺu_xmm13 -; - -508 -_STRUCT_XMM_REG - - gĺu_xmm14 -; - -509 -_STRUCT_XMM_REG - - gĺu_xmm15 -; - -510  - gĺu_r¤v4 -[6*16]; - -511  - gĺu_»Łrved1 -; - -515 #iŕ -__DARWIN_UNIX03 - - -516  - #_STRUCT_X86_EXCEPTION_STATE64 -  -__d¬wš_x86_exű±iÚ_ˇ©e64 - - - ) - -517 - g_STRUCT_X86_EXCEPTION_STATE64 - - -519  - g__Ś­no -; - -520  - g__”r -; - -521 -__ušt64_t - - g__çuÉvaddr -; - -524  - #_STRUCT_X86_EXCEPTION_STATE64 -  -x86_exű±iÚ_ˇ©e64 - - - ) - -525 - g_STRUCT_X86_EXCEPTION_STATE64 - - -527  - gŚ­no -; - -528  - g”r -; - -529 -__ušt64_t - - gçuÉvaddr -; - -533 #iŕ -__DARWIN_UNIX03 - - -534  - #_STRUCT_X86_DEBUG_STATE64 -  -__d¬wš_x86_debug_ˇ©e64 - - - ) - -535 - g_STRUCT_X86_DEBUG_STATE64 - - -537 -__ušt64_t - - g__dr0 -; - -538 -__ušt64_t - - g__dr1 -; - -539 -__ušt64_t - - g__dr2 -; - -540 -__ušt64_t - - g__dr3 -; - -541 -__ušt64_t - - g__dr4 -; - -542 -__ušt64_t - - g__dr5 -; - -543 -__ušt64_t - - g__dr6 -; - -544 -__ušt64_t - - g__dr7 -; - -547  - #_STRUCT_X86_DEBUG_STATE64 -  -x86_debug_ˇ©e64 - - - ) - -548 - g_STRUCT_X86_DEBUG_STATE64 - - -550 -__ušt64_t - - gdr0 -; - -551 -__ušt64_t - - gdr1 -; - -552 -__ušt64_t - - gdr2 -; - -553 -__ušt64_t - - gdr3 -; - -554 -__ušt64_t - - gdr4 -; - -555 -__ušt64_t - - gdr5 -; - -556 -__ušt64_t - - gdr6 -; - -557 -__ušt64_t - - gdr7 -; - - @/usr/include/mach/ppc/_structs.h - -32 #iâdef -_MACH_PPC__STRUCTS_H_ - - -33  - #_MACH_PPC__STRUCTS_H_ - - - ) - -35  - ~ - -43 #iŕ -__DARWIN_UNIX03 - - -44  - #_STRUCT_PPC_THREAD_STATE -  -__d¬wš_µc_th»ad_ˇ©e - - - ) - -45 - g_STRUCT_PPC_THREAD_STATE - - -47  - g__¤r0 -; - -48  - g__¤r1 -; - -49  - g__r0 -; - -50  - g__r1 -; - -51  - g__r2 -; - -52  - g__r3 -; - -53  - g__r4 -; - -54  - g__r5 -; - -55  - g__r6 -; - -56  - g__r7 -; - -57  - g__r8 -; - -58  - g__r9 -; - -59  - g__r10 -; - -60  - g__r11 -; - -61  - g__r12 -; - -62  - g__r13 -; - -63  - g__r14 -; - -64  - g__r15 -; - -65  - g__r16 -; - -66  - g__r17 -; - -67  - g__r18 -; - -68  - g__r19 -; - -69  - g__r20 -; - -70  - g__r21 -; - -71  - g__r22 -; - -72  - g__r23 -; - -73  - g__r24 -; - -74  - g__r25 -; - -75  - g__r26 -; - -76  - g__r27 -; - -77  - g__r28 -; - -78  - g__r29 -; - -79  - g__r30 -; - -80  - g__r31 -; - -82  - g__ü -; - -83  - g__x” -; - -84  - g__Ě -; - -85  - g__ůr -; - -86  - g__mq -; - -88  - g__vr§ve -; - -91  - #_STRUCT_PPC_THREAD_STATE -  -µc_th»ad_ˇ©e - - - ) - -92 - g_STRUCT_PPC_THREAD_STATE - - -94  - g¤r0 -; - -95  - g¤r1 -; - -96  - gr0 -; - -97  - gr1 -; - -98  - gr2 -; - -99  - gr3 -; - -100  - gr4 -; - -101  - gr5 -; - -102  - gr6 -; - -103  - gr7 -; - -104  - gr8 -; - -105  - gr9 -; - -106  - gr10 -; - -107  - gr11 -; - -108  - gr12 -; - -109  - gr13 -; - -110  - gr14 -; - -111  - gr15 -; - -112  - gr16 -; - -113  - gr17 -; - -114  - gr18 -; - -115  - gr19 -; - -116  - gr20 -; - -117  - gr21 -; - -118  - gr22 -; - -119  - gr23 -; - -120  - gr24 -; - -121  - gr25 -; - -122  - gr26 -; - -123  - gr27 -; - -124  - gr28 -; - -125  - gr29 -; - -126  - gr30 -; - -127  - gr31 -; - -129  - gü -; - -130  - gx” -; - -131  - gĚ -; - -132  - gůr -; - -133  - gmq -; - -135  - gvr§ve -; - -139 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -141 #´agm¨ -·ck -(4) - -143 #iŕ -__DARWIN_UNIX03 - - -144  - #_STRUCT_PPC_THREAD_STATE64 -  -__d¬wš_µc_th»ad_ˇ©e64 - - - ) - -145 - g_STRUCT_PPC_THREAD_STATE64 - - -147  - g__¤r0 -; - -148  - g__¤r1 -; - -149  - g__r0 -; - -150  - g__r1 -; - -151  - g__r2 -; - -152  - g__r3 -; - -153  - g__r4 -; - -154  - g__r5 -; - -155  - g__r6 -; - -156  - g__r7 -; - -157  - g__r8 -; - -158  - g__r9 -; - -159  - g__r10 -; - -160  - g__r11 -; - -161  - g__r12 -; - -162  - g__r13 -; - -163  - g__r14 -; - -164  - g__r15 -; - -165  - g__r16 -; - -166  - g__r17 -; - -167  - g__r18 -; - -168  - g__r19 -; - -169  - g__r20 -; - -170  - g__r21 -; - -171  - g__r22 -; - -172  - g__r23 -; - -173  - g__r24 -; - -174  - g__r25 -; - -175  - g__r26 -; - -176  - g__r27 -; - -177  - g__r28 -; - -178  - g__r29 -; - -179  - g__r30 -; - -180  - g__r31 -; - -182  - g__ü -; - -183  - g__x” -; - -184  - g__Ě -; - -185  - g__ůr -; - -187  - g__vr§ve -; - -190  - #_STRUCT_PPC_THREAD_STATE64 -  -µc_th»ad_ˇ©e64 - - - ) - -191 - g_STRUCT_PPC_THREAD_STATE64 - - -193  - g¤r0 -; - -194  - g¤r1 -; - -195  - gr0 -; - -196  - gr1 -; - -197  - gr2 -; - -198  - gr3 -; - -199  - gr4 -; - -200  - gr5 -; - -201  - gr6 -; - -202  - gr7 -; - -203  - gr8 -; - -204  - gr9 -; - -205  - gr10 -; - -206  - gr11 -; - -207  - gr12 -; - -208  - gr13 -; - -209  - gr14 -; - -210  - gr15 -; - -211  - gr16 -; - -212  - gr17 -; - -213  - gr18 -; - -214  - gr19 -; - -215  - gr20 -; - -216  - gr21 -; - -217  - gr22 -; - -218  - gr23 -; - -219  - gr24 -; - -220  - gr25 -; - -221  - gr26 -; - -222  - gr27 -; - -223  - gr28 -; - -224  - gr29 -; - -225  - gr30 -; - -226  - gr31 -; - -228  - gü -; - -229  - gx” -; - -230  - gĚ -; - -231  - gůr -; - -233  - gvr§ve -; - -237 #´agm¨ -·ck -() - -243 #iŕ -__DARWIN_UNIX03 - - -244  - #_STRUCT_PPC_FLOAT_STATE -  -__d¬wš_µc_ćßt_ˇ©e - - - ) - -245 - g_STRUCT_PPC_FLOAT_STATE - - -247  - g__ĺ»gs -[32]; - -249  - g__ĺsü_·d -; - -250  - g__ĺsü -; - -253  - #_STRUCT_PPC_FLOAT_STATE -  -µc_ćßt_ˇ©e - - - ) - -254 - g_STRUCT_PPC_FLOAT_STATE - - -256  - gĺ»gs -[32]; - -258  - gĺsü_·d -; - -259  - gĺsü -; - -263 #´agm¨ -·ck -(4) - -265 #iŕ -__DARWIN_UNIX03 - - -266  - #_STRUCT_PPC_VECTOR_STATE -  -__d¬wš_µc_veůÜ_ˇ©e - - - ) - -267 - g_STRUCT_PPC_VECTOR_STATE - - -269 #iŕ -defšed -( -__LP64__ -) - -270  - g__§ve_vr -[32][4]; - -271  - g__§ve_vsü -[4]; - -273  - g__§ve_vr -[32][4]; - -274  - g__§ve_vsü -[4]; - -276  - g__§ve_·d5 -[4]; - -277  - g__§ve_vrv®id -; - -278  - g__§ve_·d6 -[7]; - -281  - #_STRUCT_PPC_VECTOR_STATE -  -µc_veůÜ_ˇ©e - - - ) - -282 - g_STRUCT_PPC_VECTOR_STATE - - -284 #iŕ -defšed -( -__LP64__ -) - -285  - g§ve_vr -[32][4]; - -286  - g§ve_vsü -[4]; - -288  - g§ve_vr -[32][4]; - -289  - g§ve_vsü -[4]; - -291  - g§ve_·d5 -[4]; - -292  - g§ve_vrv®id -; - -293  - g§ve_·d6 -[7]; - -297 #´agm¨ -·ck -() - -316 #´agm¨ -·ck -(4) - -318 #iŕ -__DARWIN_UNIX03 - - -319  - #_STRUCT_PPC_EXCEPTION_STATE -  -__d¬wš_µc_exű±iÚ_ˇ©e - - - ) - -320 - g_STRUCT_PPC_EXCEPTION_STATE - - -322 #iŕ -defšed -( -__LP64__ -) - -323  - g__d¬ -; - -324  - g__dsi¤ -; - -325  - g__exű±iÚ -; - -326  - g__·d0 -; - -327  - g__·d1 -[4]; - -329  - g__d¬ -; - -330  - g__dsi¤ -; - -331  - g__exű±iÚ -; - -332  - g__·d0 -; - -333  - g__·d1 -[4]; - -337  - #_STRUCT_PPC_EXCEPTION_STATE -  -µc_exű±iÚ_ˇ©e - - - ) - -338 - g_STRUCT_PPC_EXCEPTION_STATE - - -340 #iŕ -defšed -( -__LP64__ -) - -341  - gd¬ -; - -342  - gdsi¤ -; - -343  - gexű±iÚ -; - -344  - g·d0 -; - -345  - g·d1 -[4]; - -347  - gd¬ -; - -348  - gdsi¤ -; - -349  - gexű±iÚ -; - -350  - g·d0 -; - -351  - g·d1 -[4]; - -356 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -357 #iŕ -__DARWIN_UNIX03 - - -358  - #_STRUCT_PPC_EXCEPTION_STATE64 -  -__d¬wš_µc_exű±iÚ_ˇ©e64 - - - ) - -359 - g_STRUCT_PPC_EXCEPTION_STATE64 - - -361  - g__d¬ -; - -362 #iŕ -defšed -( -__LP64__ -) - -363  - g__dsi¤ -; - -364  - g__exű±iÚ -; - -365  - g__·d1 -[4]; - -367  - g__dsi¤ -; - -368  - g__exű±iÚ -; - -369  - g__·d1 -[4]; - -373  - #_STRUCT_PPC_EXCEPTION_STATE64 -  -µc_exű±iÚ_ˇ©e64 - - - ) - -374 - g_STRUCT_PPC_EXCEPTION_STATE64 - - -376  - gd¬ -; - -377 #iŕ -defšed -( -__LP64__ -) - -378  - gdsi¤ -; - -379  - gexű±iÚ -; - -380  - g·d1 -[4]; - -382  - gdsi¤ -; - -383  - gexű±iÚ -; - -384  - g·d1 -[4]; - -390 #´agm¨ -·ck -() - - @/usr/include/ppc/signal.h - -32 #iâdef -_PPC_SIGNAL_H_ - - -33  - #_PPC_SIGNAL_H_ - 1 - - ) - -35  - ~ - -37 #iâdeŕ -_ANSI_SOURCE - - -39  - tsig_©omic_t -; - -41  - ~ - -43 #ifdeŕ -__APPLE_API_OBSOLETE - - -45 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -47  - #__Ăed_ˇruů_sigcÚ‹xt - - - ) - -48  - #__Ăed_ˇruů_sigcÚ‹xt32 - - - ) - -49  - #__Ăed_ˇruů_sigcÚ‹xt64 - - - ) - -50  - ~<µc/_ˇruůs.h -> - -55  - #SV_SAVE_REGS - 0x1000 - - ) - -69 - mREGS_SAVED_NONE -, - -70 - mREGS_SAVED_CALLER -, - -73 - mREGS_SAVED_ALL - - -74 } - t»gs_§ved_t -; - - @/usr/include/libkern/i386/_OSByteOrder.h - -29 #iâdeŕ -_OS__OSBYTEORDERI386_H - - -30  - #_OS__OSBYTEORDERI386_H - - - ) - -32 #iŕ! -defšed -( -__DARWIN_OS_INLINE -) - -33 #iŕ -defšed -( -__STDC_VERSION__ -) && __STDC_VERSION__ >= 199901L - -34  - #__DARWIN_OS_INLINE -  -šlše - - - ) - -35 #–iŕ -defšed -( -__MWERKS__ -č|| defšed( -__ýluĄlus -) - -36  - #__DARWIN_OS_INLINE -  -šlše - - - ) - -38  - #__DARWIN_OS_INLINE -  -__šlše__ - - - ) - -44 -__DARWIN_OS_INLINE - - -45 -__ušt16_t - - -46 - $_OSSw­IÁ16 -( - -47 -__ušt16_t - -_d©a - - -50  (( -_d©a - << 8) | (_data >> 8)); - -51 - } -} - -53 -__DARWIN_OS_INLINE - - -54 -__ušt32_t - - -55 - $_OSSw­IÁ32 -( - -56 -__ušt32_t - -_d©a - - -59 - `__asm__ - ("bsw­ %0" : "+r" ( -_d©a -)); - -60  -_d©a -; - -61 - } -} - -63 #iŕ -defšed -( -__i386__ -) - -64 -__DARWIN_OS_INLINE - - -65 -__ušt64_t - - -66 - $_OSSw­IÁ64 -( - -67 -__ušt64_t - -_d©a - - -70 - `__asm__ - ("bswap %%eax\n\t" - -73 : "+A" ( -_d©a -)); - -74  -_d©a -; - -75 - } -} - -76 #–iŕ -defšed -( -__x86_64__ -) - -77 -__DARWIN_OS_INLINE - - -78 -__ušt64_t - - -79 - $_OSSw­IÁ64 -( - -80 -__ušt64_t - -_d©a - - -83 - `__asm__ - ("bsw­ %0" : "+r" ( -_d©a -)); - -84  -_d©a -; - -85 - } -} - -87 #”rÜ -Unknown - -¬ch™eůu» - - - @ -1 -. -1 -/usr/include -69 -1617 -debug.h -filterfs.c -filterfs.h -lib.c -lib.h -lnode.c -lnode.h -ncache.c -ncache.h -node.c -node.h -options.c -options.h -/usr/include/dirent.h -/usr/include/fcntl.h -/usr/include/stddef.h -/usr/include/stdio.h -/usr/include/stdlib.h -/usr/include/sys/mman.h -/usr/include/sys/stat.h -/usr/include/sys/time.h -/usr/include/sys/types.h -/usr/include/unistd.h -/usr/include/_types.h -/usr/include/_xlocale.h -/usr/include/alloca.h -/usr/include/available.h -/usr/include/machine/endian.h -/usr/include/machine/types.h -/usr/include/secure/_stdio.h -/usr/include/sys/_select.h -/usr/include/sys/_structs.h -/usr/include/sys/_types.h -/usr/include/sys/appleapiopts.h -/usr/include/sys/cdefs.h -/usr/include/sys/dirent.h -/usr/include/sys/fcntl.h -/usr/include/sys/select.h -/usr/include/sys/unistd.h -/usr/include/sys/wait.h -/usr/include/time.h -/usr/include/xlocale/_stdio.h -/usr/include/xlocale/_stdlib.h -/usr/include/_structs.h -/usr/include/i386/endian.h -/usr/include/i386/types.h -/usr/include/machine/_limits.h -/usr/include/machine/_structs.h -/usr/include/machine/_types.h -/usr/include/ppc/endian.h -/usr/include/ppc/types.h -/usr/include/secure/_common.h -/usr/include/sys/resource.h -/usr/include/sys/signal.h -/usr/include/xlocale/_time.h -/usr/include/i386/_limits.h -/usr/include/i386/_structs.h -/usr/include/i386/_types.h -/usr/include/machine/signal.h -/usr/include/ppc/_limits.h -/usr/include/ppc/_structs.h -/usr/include/ppc/_types.h -/usr/include/sys/_endian.h -/usr/include/i386/signal.h -/usr/include/libkern/_OSByteOrder.h -/usr/include/mach/i386/_structs.h -/usr/include/mach/ppc/_structs.h -/usr/include/ppc/signal.h -/usr/include/libkern/i386/_OSByteOrder.h diff --git a/proc_proxy/ourdevice.defs b/proc_proxy/ourdevice.defs deleted file mode 100644 index ba9a2d80..00000000 --- a/proc_proxy/ourdevice.defs +++ /dev/null @@ -1,383 +0,0 @@ -# 1 "device.defs" -# 1 "" -# 1 "" -# 1 "device.defs" -# 1 "/usr/include/device/device.defs" 1 3 4 -# 39 "/usr/include/device/device.defs" 3 4 -subsystem - - - - device 2800; - -# 1 "/usr/include/mach/std_types.defs" 1 3 4 -# 33 "/usr/include/mach/std_types.defs" 3 4 -type char = MACH_MSG_TYPE_CHAR; -type short = MACH_MSG_TYPE_INTEGER_16; -type int = MACH_MSG_TYPE_INTEGER_32; -type int32 = MACH_MSG_TYPE_INTEGER_32; -type int64 = MACH_MSG_TYPE_INTEGER_64; -type boolean_t = MACH_MSG_TYPE_BOOLEAN; -type unsigned = MACH_MSG_TYPE_INTEGER_32; -type unsigned32 = MACH_MSG_TYPE_INTEGER_32; -type unsigned64 = MACH_MSG_TYPE_INTEGER_64; - - -# 1 "/usr/include/mach/machine/machine_types.defs" 1 3 4 -# 50 "/usr/include/mach/machine/machine_types.defs" 3 4 -type natural_t = unsigned32; -# 59 "/usr/include/mach/machine/machine_types.defs" 3 4 -type integer_t = int32; -# 45 "/usr/include/mach/std_types.defs" 2 3 4 - -type kern_return_t = int; - -type pointer_t = ^array[] of MACH_MSG_TYPE_BYTE - ctype: vm_offset_t; - - -type mach_port_t = MACH_MSG_TYPE_COPY_SEND; -type mach_port_array_t = array[] of mach_port_t; - -type mach_port_name_t = MACH_MSG_TYPE_PORT_NAME - ctype: mach_port_t; -type mach_port_name_array_t = array[] of mach_port_name_t - ctype: mach_port_array_t; - -type mach_port_right_t = natural_t; - -type mach_port_type_t = natural_t; -type mach_port_type_array_t = array[] of mach_port_type_t; - -type mach_port_urefs_t = natural_t; -type mach_port_delta_t = integer_t; -type mach_port_seqno_t = natural_t; -type mach_port_mscount_t = unsigned; -type mach_port_msgcount_t = unsigned; -type mach_port_rights_t = unsigned; -type mach_msg_id_t = integer_t; -type mach_msg_type_name_t = unsigned; -type mach_msg_type_number_t = natural_t; - -type mach_port_move_receive_t = MACH_MSG_TYPE_MOVE_RECEIVE - ctype: mach_port_t; -type mach_port_copy_send_t = MACH_MSG_TYPE_COPY_SEND - ctype: mach_port_t; -type mach_port_make_send_t = MACH_MSG_TYPE_MAKE_SEND - ctype: mach_port_t; -type mach_port_move_send_t = MACH_MSG_TYPE_MOVE_SEND - ctype: mach_port_t; -type mach_port_make_send_once_t = MACH_MSG_TYPE_MAKE_SEND_ONCE - ctype: mach_port_t; -type mach_port_move_send_once_t = MACH_MSG_TYPE_MOVE_SEND_ONCE - ctype: mach_port_t; - -type mach_port_receive_t = MACH_MSG_TYPE_PORT_RECEIVE - ctype: mach_port_t; -type mach_port_send_t = MACH_MSG_TYPE_PORT_SEND - ctype: mach_port_t; -type mach_port_send_once_t = MACH_MSG_TYPE_PORT_SEND_ONCE - ctype: mach_port_t; - -type mach_port_poly_t = polymorphic - ctype: mach_port_t; - -import ; -# 46 "/usr/include/device/device.defs" 2 3 4 -# 1 "/usr/include/mach/mach_types.defs" 1 3 4 -# 61 "/usr/include/mach/mach_types.defs" 3 4 -type mach_port_status_t = struct[9] of integer_t; - -type old_mach_port_status_t = struct[8] of integer_t; - -type task_t = mach_port_t - ctype: mach_port_t - - - - - - ; -# 85 "/usr/include/mach/mach_types.defs" 3 4 -type thread_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type thread_state_t = array[*:1024] of natural_t; - -type task_array_t = ^array[] of task_t; -type thread_array_t = ^array[] of thread_t; - -type vm_task_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type ipc_space_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type vm_address_t = natural_t; -type vm_offset_t = natural_t; -type vm_size_t = natural_t; -type vm_prot_t = int; -type vm_inherit_t = int; -type vm_statistics_data_t = struct[13] of integer_t; -type vm_machine_attribute_t = int; -type vm_machine_attribute_val_t = int; - -type thread_info_t = array[*:1024] of natural_t; -type thread_basic_info_data_t = struct[11] of integer_t; -type thread_sched_info_data_t = struct[7] of integer_t; - -type task_info_t = array[*:1024] of natural_t; -type task_basic_info_data_t = struct[8] of integer_t; -type task_events_info = struct[7] of natural_t; -type task_thread_times_info_data_t = struct[4] of integer_t; - - -type memory_object_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_control_t = mach_port_t - ctype: mach_port_t - - - - ; - -type memory_object_name_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type memory_object_copy_strategy_t = int; -type memory_object_return_t = int; - -type machine_info_data_t = struct[5] of integer_t; -type machine_slot_data_t = struct[8] of integer_t; - -type host_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type host_priv_t = mach_port_t - ctype: mach_port_t - - - - ; - -type host_info_t = array[*:1024] of natural_t; -type host_basic_info_data_t = struct[5] of integer_t; -type host_sched_info_data_t = struct[2] of integer_t; -type host_load_info_data_t = struct[6] of integer_t; - - -type processor_t = mach_port_t - ctype: mach_port_t - - - - - ; - -type processor_array_t = ^array[] of processor_t; -type processor_info_t = array[*:1024] of natural_t; -type processor_basic_info_data_t = struct[5] of integer_t; - - -type processor_set_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_array_t = ^array[] of processor_set_t; - -type processor_set_name_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -type processor_set_name_array_t = ^array[] of processor_set_name_t; - -type processor_set_info_t = array[*:1024] of natural_t; -type processor_set_basic_info_data_t = struct[5] of integer_t; -type processor_set_sched_info_data_t = struct[2] of integer_t; - - -type kernel_version_t = (MACH_MSG_TYPE_STRING, 512*8); - -type kernel_boot_info_t = (MACH_MSG_TYPE_STRING, 4096*8); - -type time_value_t = struct[2] of integer_t; - -type emulation_vector_t = ^array[] of vm_offset_t; - -type xxx_emulation_vector_t = array[*:1024] of vm_offset_t - ctype: emulation_vector_t; - - -type rpc_signature_info_t = array[*:1024] of int; -# 250 "/usr/include/mach/mach_types.defs" 3 4 -import ; -# 47 "/usr/include/device/device.defs" 2 3 4 -# 1 "/usr/include/device/device_types.defs" 1 3 4 -# 42 "/usr/include/device/device_types.defs" 3 4 -type recnum_t = unsigned32; -type dev_mode_t = unsigned32; -type dev_flavor_t = unsigned32; -type dev_name_t = (MACH_MSG_TYPE_STRING_C, 8*128); -type dev_status_t = array[*:1024] of int; -type io_buf_ptr_t = ^array[] of MACH_MSG_TYPE_INTEGER_8; -type io_buf_ptr_inband_t= array[*:128] of char; -type filter_t = short; -type filter_array_t = array[*:128] of filter_t; - -type device_t = mach_port_t - ctype: mach_port_t - - - - - - ; - -import ; -import ; -# 48 "/usr/include/device/device.defs" 2 3 4 - -serverprefix ds_; - -type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic - ctype: mach_port_t; - -routine device_open( - master_port : mach_port_t; - sreplyport reply_port : reply_port_t; - mode : dev_mode_t; - name : dev_name_t; - out device : mach_port_send_t - ); - -routine device_close( - device : device_t - ); - -routine device_write( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_t; - out bytes_written : int - ); - -routine device_write_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in data : io_buf_ptr_inband_t; - out bytes_written : int - ); - -routine device_read( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_t - ); - -routine device_read_inband( - device : device_t; - sreplyport reply_port : reply_port_t; - in mode : dev_mode_t; - in recnum : recnum_t; - in bytes_wanted : int; - out data : io_buf_ptr_inband_t - ); - - -routine xxx_device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t, IsLong - ); - - -routine xxx_device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, IsLong - ); - - -routine xxx_device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t, IsLong - ); - -routine device_map( - device : device_t; - in prot : vm_prot_t; - in offset : vm_offset_t; - in size : vm_size_t; - out pager : memory_object_t; - in unmap : int - ); - -routine device_set_status( - device : device_t; - in flavor : dev_flavor_t; - in status : dev_status_t - ); - -routine device_get_status( - device : device_t; - in flavor : dev_flavor_t; - out status : dev_status_t, CountInOut - ); - -routine device_set_filter( - device : device_t; - in receive_port : mach_port_send_t; - in priority : int; - in filter : filter_array_t - ); -# 1 "device.defs" 2 diff --git a/unionfs/cscope.out b/unionfs/cscope.out deleted file mode 100644 index 74c6b85f..00000000 --- a/unionfs/cscope.out +++ /dev/null @@ -1,39484 +0,0 @@ -cscope 15 $HOME/Projects/hurd_ssh/hurd/unionfs 0000221091 - @lib.c - -20  - #_GNU_SOURCE - - - ) - -22  - ~ - -23  - ~<”rÜ.h -> - -24  - ~ - -25  - ~<”şo.h -> - -26  - ~ - -27  - ~<ˇddef.h -> - -29  - ~"lib.h -" - -33  -mu‹x - - gdebug_msg_lock - = -MUTEX_INITIALIZER -; - -36 -”rÜ_t - - $check_dś - (* -·th -) - -38  -ˇ© - -fžeˇ© -; - -39 -”rÜ_t - -”r - = 0; - -41 -”r - = - `ˇ© - ( -·th -, & -fžeˇ© -); - -42 iŕ( -”r -) - -43  -”r -; - -45 iŕ(! - `S_ISDIR - ( -fžeˇ© -. -ˇ_mode -)) - -46  -ENOTDIR -; - -49 - } -} - -55 -”rÜ_t - - -56 - $dś_’Ś›s_g‘ - ( -fže_t - -dś -, ** -dś’t_d©a -, - -57 -size_t - * -dś’t_d©a_size -,  -dś’t - *** -dś’t_liˇ -) - -59 -”rÜ_t - -”r -; - -60 -size_t - -d©a_size -; - -61  -’Ś›s_num -; - -62 * -d©a -; - -64 -”r - = - `dś_»addś - ( -dś -, & -d©a -, & -d©a_size -, 0, -1, 0, & -’Ś›s_num -); - -65 iŕ(! -”r -) - -67  -dś’t - ** -liˇ -; - -69 -liˇ - = - `m®loc - ( ( -dś’t - *č* ( -’Ś›s_num - + 1)); - -70 iŕ( -liˇ -) - -72  -dś’t - * -dp -; - -73  -i -; - -75  -i - = 0, -dp - = ( -dś’t - *č -d©a -; - -76 -i - < -’Ś›s_num -; - -77 -i -++, -dp - = ( -dś’t - *č((*čd°+ dp-> -d_»ţ’ -)) - -78 *( -liˇ - + -i -čđ -dp -; - -79 *( -liˇ - + -i -čđ -NULL -; - -81 * -dś’t_d©a - = -d©a -; - -82 * -dś’t_d©a_size - = -d©a_size -; - -83 * -dś’t_liˇ - = -liˇ -; - -87 - `munm­ - ( -d©a -, -d©a_size -); - -88 -”r - = -ENOMEM -; - -91  -”r -; - -92 - } -} - -99 -”rÜ_t - - -100 - $fže_lookup - ( -fže_t - -dś -, * -Çme -,  -ćags0 -,  -ćags1 -, - -101  -mode -, -fže_t - * -pÜt -,  -ˇ© - *stat) - -103 -”rÜ_t - -”r - = 0; - -104 -fže_t - -p -; - -105  -ˇ© - -s -; - -107 -fže_t - - `do_fže_lookup - (fže_ -d -, * -n -,  -f -,  -m -) - -109 iŕ( - `pÜt_v®id - ( -d -)) - -110 -p - = - `fže_Çme_lookup_und” - ( -d -, -n -, -f -, -m -); - -111 iŕ( -”şo - =đ -EACCES -) - -112 -p - = - `fže_Çme_lookup - ( -n -, -f -, -m -); - -113  -p -; - -116 -p - = - `do_fže_lookup - ( -dś -, -Çme -, -ćags0 -, -mode -); - -117 iŕ(! - `pÜt_v®id - ( -p -)) - -118 -p - = - `do_fže_lookup - ( -dś -, -Çme -, -ćags1 -, -mode -); - -120 iŕ( - `pÜt_v®id - ( -p -)) - -122 iŕ( -ˇ© -) - -124 -”r - = - `io_ˇ© - ( -p -, & -s -); - -125 iŕ( -”r -) - -126 - `pÜt_d—Îoc - ( -p -); - -130 -”r - = -”şo -; - -132 iŕ(! -”r -) - -134 * -pÜt - = -p -; - -135 iŕ( -ˇ© -) - -136 * -ˇ© - = -s -; - -138  -”r -; - -139 - } -} - -141  - ~ - -144 - $make_fž•©h - (* -·th -, * -fž’ame -) - -146  -Ëngth -; - -147 * -fž•©h -; - -149 -Ëngth - = - `ˇľ’ - ( -·th -č+ sŚËŔ( -fž’ame -) + 2; - -150 -fž•©h - = - `m®loc - ( -Ëngth -); - -151 iŕ( -fž•©h - =đ -NULL -) - -152  -NULL -; - -154 - `ˇşýy - ( -fž•©h -, -·th -, -Ëngth -); - -155 - `ˇş˙t - ( -fž•©h -, -fž’ame -, - `ˇľ’ - (filename)); - -157  -fž•©h -; - -158 - } -} - -160 -”rÜ_t - - -161 -fÜ_—ch_subdś - (* -·th -, - $”rÜ_t - (* -func -) (*, *)) - -163  -dś’t - **dś’t, ** -dś’t_liˇ -; - -164 * -dś’t_d©a -; - -165 -size_t - -dś’t_d©a_size -; - -166 -fže_t - -dś -; - -167 -”rÜ_t - -”r -; - -169 -dś - = - `fže_Çme_lookup - ( -·th -, -O_READ -, 0); - -171 -”r - = - `dś_’Ś›s_g‘ - ( -dś -, & -dś’t_d©a -, & -dś’t_d©a_size -, & -dś’t_liˇ -); - -172 iŕ( -”r -) - -173  -”r -; - -175  -dś’t - = -dś’t_liˇ -; (! -”r -) && (*dirent); dirent++) - -177 * -Çme -; - -178  -ˇ© - -fžeˇ© -; - -180 iŕ((! - `ˇrcmp - ((* -dś’t -)-> -d_Çme -, ".")) - -181 || (! - `ˇrcmp - ((* -dś’t -)-> -d_Çme -, ".."))) - -184 -Çme - = - `make_fž•©h - ( -·th -, (* -dś’t -)-> -d_Çme -); - -186 -”r - = - `ˇ© - ( -Çme -, & -fžeˇ© -); - -188 - `ä“ - ( -Çme -); - -190 iŕ( -”r -) - -192 - `ĺrštf - ( -ˇd”r -, "unionfs: couldn't stat %s%s\n", - -193 -·th -, (* -dś’t -)-> -d_Çme -); - -197 iŕ(! - `S_ISDIR -( -fžeˇ© -. -ˇ_mode -)) - -200 - `func - ((* -dś’t -)-> -d_Çme -, -·th -); - -204 - } -} - -206 -”rÜ_t - - -207 -fÜ_—ch_subdś_´iv - (* -·th -, - $”rÜ_t - (* -func -) (*, *, *), - -208 * -´iv -) - -210  -dś’t - **dś’t, ** -dś’t_liˇ -; - -211 * -dś’t_d©a -; - -212 -size_t - -dś’t_d©a_size -; - -213 -fže_t - -dś -; - -214 -”rÜ_t - -”r -; - -216 -dś - = - `fže_Çme_lookup - ( -·th -, -O_READ -, 0); - -218 -”r - = - `dś_’Ś›s_g‘ - ( -dś -, & -dś’t_d©a -, & -dś’t_d©a_size -, & -dś’t_liˇ -); - -219 iŕ( -”r -) - -220  -”r -; - -222  -dś’t - = -dś’t_liˇ -; (! -”r -) && (*dirent); dirent++) - -224 * -Çme -; - -225  -ˇ© - -fžeˇ© -; - -227 iŕ((! - `ˇrcmp - ((* -dś’t -)-> -d_Çme -, ".")) - -228 || (! - `ˇrcmp - ((* -dś’t -)-> -d_Çme -, ".."))) - -231 -Çme - = - `make_fž•©h - ( -·th -, (* -dś’t -)-> -d_Çme -); - -233 -”r - = - `ˇ© - ( -Çme -, & -fžeˇ© -); - -235 - `ä“ - ( -Çme -); - -237 iŕ( -”r -) - -239 - `ĺrštf - ( -ˇd”r -, "unionfs: couldn't stat %s%s\n", - -240 -·th -, (* -dś’t -)-> -d_Çme -); - -244 iŕ(! - `S_ISDIR -( -fžeˇ© -. -ˇ_mode -)) - -247 - `func - ((* -dś’t -)-> -d_Çme -, -·th -, -´iv -); - -251 - } -} - -253 -”rÜ_t - - -254 -fÜ_—ch_fže_´iv - (* -·th -, - $”rÜ_t - (* -func -) (*, *, *), - -255 * -´iv -) - -257  -dś’t - **dś’t, ** -dś’t_liˇ -; - -258 * -dś’t_d©a -; - -259 -size_t - -dś’t_d©a_size -; - -260 -fže_t - -dś -; - -261 -”rÜ_t - -”r -; - -263 -dś - = - `fže_Çme_lookup - ( -·th -, -O_READ -, 0); - -265 -”r - = - `dś_’Ś›s_g‘ - ( -dś -, & -dś’t_d©a -, & -dś’t_d©a_size -, & -dś’t_liˇ -); - -266 iŕ( -”r -) - -267  -”r -; - -269  -dś’t - = -dś’t_liˇ -; (! -”r -) && (*dirent); dirent++) - -272 iŕ((! - `ˇrcmp - ((* -dś’t -)-> -d_Çme -, ".")) - -273 || (! - `ˇrcmp - ((* -dś’t -)-> -d_Çme -, ".."))) - -276 - `func - ((* -dś’t -)-> -d_Çme -, -·th -, -´iv -); - -279  -”r -; - -280 - } -} - - @lib.h - -20 #iâdeŕ -INCLUDED_LIB_H - - -21  - #INCLUDED_LIB_H - - - ) - -23  - ~ - -24  - ~ - -25  - ~<ˇddef.h -> - -29  - #DIRENT_ALIGN - 4 - - ) - -30  - #DIRENT_NAME_OFFS - - `offŁtof - ( -dś’t -, -d_Çme -) - - ) - -34  - #DIRENT_LEN -( -Çme_Ën -) \ - -35 (( -DIRENT_NAME_OFFS - + ( -Çme_Ën -č+ 1 + ( -DIRENT_ALIGN - - 1)) \ - -36 & ~( -DIRENT_ALIGN - - 1)) - - ) - -40  - #pÜt_nuÎ - -MACH_PORT_NULL - - - ) - -41  - #pÜt_d—Îoc -( -p -č - `mach_pÜt_d—Îo˙‹ - ( - `mach_Źsk_Łlf - (), (p)) - - ) - -42  - #pÜt_v®id -( -p -č(Őč!đ -pÜt_nuÎ -) - - ) - -48 -”rÜ_t - -dś_’Ś›s_g‘ - ( -fže_t - -dś -, ** -dś’t_d©a -, - -49 -size_t - * -dś’t_d©a_size -, - -50  -dś’t - *** -dś’t_liˇ -); - -52 * -make_fž•©h - (*, *); - -53 -”rÜ_t - -fÜ_—ch_subdś - (*, - $”rÜ_t - (*) (*, *)); - -54 -”rÜ_t - - `fÜ_—ch_subdś_´iv - (*, - $”rÜ_t - (*) (*, *, *), - -62 -”rÜ_t - - `fže_lookup - ( -fže_t - -dś -, * -Çme -,  -ćags0 -,  -ćags1 -,  -mode -, - -63 -fže_t - * -pÜt -,  -ˇ© - *stat); - -66 -”rÜ_t - - `check_dś - (* -·th -); - -68  -mu‹x - -debug_msg_lock -; - -71  - #debug_msg_Łnd -( -fmt -, -¬gs -...) \ - -74 - `mu‹x_lock - (& -debug_msg_lock -); \ - -75 - `ĺrštf - ( -ˇd”r -, "%s:%i: ", -__FILE__ -, -__LINE__ -); \ - -76 - `ĺrštf - ( -ˇd”r -, -fmt - , ## -¬gs -); \ - -77 - `putc - ('\n', -ˇd”r -); \ - -78 - `mu‹x_uĆock - (& -debug_msg_lock -); \ - -79 - } -} \ - -80 0) - - ) - - @lnode.c - -23  - #_GNU_SOURCE - - - ) - -25  - ~ - -26  - ~<”rÜ.h -> - -27  - ~<ˇdlib.h -> - -28  - ~<ˇršg.h -> - -30  - ~"Ęode.h -" - -31  - ~"lib.h -" - -32  - ~"uniÚfs.h -" - -37 -”rÜ_t - - -38 - $Ęode_ü—‹ - (* -Çme -, -Ęode_t - ** -node -) - -40 -Ęode_t - * -node_Ăw - = - `m®loc - ( (lnode_t)); - -41 -”rÜ_t - -”r - = 0; - -43 - `debug_msg - ("Ęode_ü—‹ fÜ‚ame: %s", -Çme -); - -45 iŕ(! -node_Ăw -) - -46 -”r - = -ENOMEM -; - -49 * -Çme_ý - = -NULL -; - -51 iŕ( -Çme -) - -52 -Çme_ý - = - `ˇrdup - ( -Çme -); - -53 iŕ( -Çme - && (! -Çme_ý -)) - -55 -”r - = -ENOMEM -; - -56 - `ä“ - ( -node_Ăw -); - -60 -node_Ăw --> -Çme - = -Çme_ý -; - -61 -node_Ăw --> -Çme_Ën - = -Çme_ý - ? - `ˇľ’ - (name_cp) : 0; - -62 -node_Ăw --> -ćags - = 0; - -63 -node_Ăw --> -node - = -NULL -; - -64 -node_Ăw --> -Ăxt - = -NULL -; - -65 -node_Ăw --> -´evp - = -NULL -; - -66 -node_Ăw --> -dś - = -NULL -; - -67 -node_Ăw --> -’Ś›s - = -NULL -; - -68 -node_Ăw --> -»ă»nűs - = 1; - -69 - `mu‹x_š™ - (& -node_Ăw --> -lock -); - -70 - `mu‹x_lock - (& -node_Ăw --> -lock -); - -71 * -node - = -node_Ăw -; - -74  -”r -; - -75 - } -} - -79 - $Ęode_deˇroy - ( -Ęode_t - * -node -) - -81 - `debug_msg - ("Ęode_deˇroy fÜ‚ame: %s", -node --> -Çme -); - -82 - `ä“ - ( -node --> -Çme -); - -83 - `ä“ - ( -node -); - -84 - } -} - -89 - $Ęode_šˇ®l - ( -Ęode_t - * -dś -,†node_* -node -) - -91 - `Ęode_»f_add - ( -dś -); - -92 -node --> -Ăxt - = -dś --> -’Ś›s -; - -93 -node --> -´evp - = & -dś --> -’Ś›s -; - -94 iŕ( -dś --> -’Ś›s -) - -95 -dś --> -’Ś›s --> -´evp - = & -node --> -Ăxt -; - -96 -dś --> -’Ś›s - = -node -; - -97 -node --> -dś - = dir; - -98 - } -} - -103 - $Ęode_unšˇ®l - ( -Ęode_t - * -node -) - -105 - `Ęode_»f_»move - ( -node --> -dś -); - -106 * -node --> -´evp - =‚ode-> -Ăxt -; - -107 iŕ( -node --> -Ăxt -) - -108 -node --> -Ăxt --> -´evp - = &node->next; - -109 - } -} - -113 - $Ęode_»f_add - ( -Ęode_t - * -node -) - -115 -node --> -»ă»nűs -++; - -116 - } -} - -121 - $Ęode_»f_»move - ( -Ęode_t - * -node -) - -123 - `asŁą - ( -node --> -»ă»nűs -); - -124 iŕ(! -- -node --> -»ă»nűs -) - -126 - `Ęode_unšˇ®l - ( -node -); - -127 - `Ęode_deˇroy - ( -node -); - -130 - `mu‹x_uĆock - (& -node --> -lock -); - -131 - } -} - -135 -”rÜ_t - - -136 - $Ęode_g‘ - ( -Ęode_t - * -dś -, * -Çme -, - -137 -Ęode_t - ** -node -) - -139 -”rÜ_t - -”r - = 0; - -140 -Ęode_t - * -n -; - -142  -n - = -dś --> -’Ś›s -;‚ && - `ˇrcmp - (n-> -Çme -,‚ame);‚ =‚-> -Ăxt -); - -143 iŕ( -n -) - -145 - `mu‹x_lock - (& -n --> -lock -); - -146 - `Ęode_»f_add - ( -n -); - -147 * -node - = -n -; - -150 -”r - = -ENOENT -; - -152  -”r -; - -153 - } -} - -156 -”rÜ_t - - -157 - $Ęode_·th_cÚˇruů - ( -Ęode_t - * -node -, - -158 ** -·th -) - -160 -”rÜ_t - -”r - = 0; - -161  -p_Ën - = 1; - -162 -Ęode_t - * -n -; - -163 * -p -; - -165  -n - = -node -;‚ &&‚-> -dś -;‚ =‚->dir) - -166 -p_Ën - +đ -n --> -Çme_Ën - + (n-> -dś -->dir ? 1 : 0); - -168 -p - = - `m®loc - ( -p_Ën -); - -169 iŕ(! -p -) - -170 -”r - = -ENOMEM -; - -173 *( -p - + -- -p_Ën -) = 0; - -174  -n - = -node -;‚ &&‚-> -dś -;‚ =‚->dir) - -176 -p_Ën - -đ -n --> -Çme_Ën -; - -177 - `ˇşýy - ( -p - + -p_Ën -, -n --> -Çme -,‚-> -Çme_Ën -); - -178 iŕ( -n --> -dś -->dir) - -179 *( -p - + -- -p_Ën -) = '/'; - -181 * -·th - = -p -; - -183  -”r -; - -184 - } -} - - @lnode.h - -22 #iâdeŕ -INCLUDED_LNODE_H - - -23  - #INCLUDED_LNODE_H - - - ) - -25  - ~ - -26  - ~<”rÜ.h -> - -28  - sĘode - - -30 * - mÇme -; - -31  - mÇme_Ën -; - -34  - mćags -; - -35  - m»ă»nűs -; - -36  -node - * - mnode -; - -37  -Ęode - * - mĂxt -, ** - m´evp -; - -39  -Ęode - * - mdś -; - -41  -Ęode - * - m’Ś›s -; - -43  -mu‹x - - mlock -; - -45  -Ęode - - tĘode_t -; - -50 -”rÜ_t - -Ęode_ü—‹ - (* -Çme -, -Ęode_t - ** -node -); - -53  -Ęode_deˇroy - ( -Ęode_t - * -node -); - -56  -Ęode_šˇ®l - ( -Ęode_t - * -dś -,†node_* -node -); - -60  -Ęode_unšˇ®l - ( -Ęode_t - * -node -); - -63  -Ęode_»f_add - ( -Ęode_t - * -node -); - -67  -Ęode_»f_»move - ( -Ęode_t - * -node -); - -71 -”rÜ_t - -Ęode_g‘ - ( -Ęode_t - * -dś -, * -Çme -, - -72 -Ęode_t - ** -node -); - -75 -”rÜ_t - -Ęode_·th_cÚˇruů - ( -Ęode_t - * -node -, ** -·th -); - - @main.c - -20  - #_GNU_SOURCE - - - ) - -22  - ~ - -23  - ~<¬gp.h -> - -24  - ~<¬gz.h -> - -25  - ~<”rÜ.h -> - -26  - ~ - -27  - ~ - -28  - ~ - -30  - ~"v”siÚ.h -" - -31  - ~"uniÚfs.h -" - -32  - ~"n˙che.h -" - -33  - ~"ulfs.h -" - -34  - ~"Ęode.h -" - -35  - ~"node.h -" - -36  - ~"ÝtiÚs.h -" - -37  - ~"ˇow.h -" - -38  - ~"upd©e.h -" - -40 * - gĂtfs_Łrv”_Çme - = "unionfs"; - -41 * - gĂtfs_Łrv”_v”siÚ - = -HURD_VERSION -; - -44  - gĂtfs_maxsymlšks - = 0; - -47  - guniÚfs_ćags -; - -50 -pid_t - - gfsid -; - -53 -mach_pÜt_t - - gund”lyšg_node -; - -56  -ˇ© - - gund”lyšg_node_ˇ© -; - -59 vŢ©ž -m­łd_time_v®ue - * - gm­time -; - -62  -¬gp - * - gĂtfs_ruÁime_¬gp - = & -¬gp_ruÁime -; - -66 - $maš - ( -¬gc -, ** -¬gv -) - -68 -mach_pÜt_t - -bo١żp_pÜt -; - -69 -”rÜ_t - -”r - = 0; - -71 - `roŮ_upd©e_š™ - (); - -73 -”r - = - `ˇow_š™ -(); - -74 iŕ( -”r -) - -75 - `”rÜ - ( -EXIT_FAILURE -, -”r -, "failedo initialize stow support"); - -78 - `¬gp_·rŁ - (& -¬gp_ˇ¬tup -, -¬gc -, -¬gv -, -ARGP_IN_ORDER -, 0, 0); - -80 -”r - = - `node_ü—‹_roŮ - (& -Ătfs_roŮ_node -); - -81 iŕ( -”r -) - -82 - `”rÜ - ( -EXIT_FAILURE -, -”r -, "failedo create„oot‚ode"); - -85 - `Źsk_g‘_bo١żp_pÜt - ( - `mach_Źsk_Łlf - (), & -bo١żp_pÜt -); - -86 - `Ătfs_š™ - (); - -87 -und”lyšg_node - = - `Ătfs_ˇ¬tup - ( -bo١żp_pÜt -, -O_READ -); - -89 -”r - = - `node_š™_roŮ - ( -Ătfs_roŮ_node -); - -90 iŕ( -”r -) - -91 - `”rÜ - ( -EXIT_FAILURE -, -”r -, "failedo initialize„oot‚ode"); - -94 -”r - = - `m­time_m­ - (0, 0, & -m­time -); - -95 iŕ( -”r -) - -96 - `”rÜ - ( -EXIT_FAILURE -, -”r -, "maptime_map"); - -99 - `n˙che_š™ - ( -n˙che_size -); - -102 -”r - = - `io_ˇ© - ( -und”lyšg_node -, & -und”lyšg_node_ˇ© -); - -104 iŕ( -”r -) - -105 - `”rÜ - ( -EXIT_FAILURE -, -”r -, "io_stat"); - -107 -fsid - = - `g‘pid - (); - -108 -Ătfs_roŮ_node --> -Â_ˇ© - = -und”lyšg_node_ˇ© -; - -109 -Ătfs_roŮ_node --> -Â_ˇ© -. -ˇ_šo - = -UNIONFS_ROOT_INODE -; - -110 -Ătfs_roŮ_node --> -Â_ˇ© -. -ˇ_fsid - = -fsid -; - -111 -Ătfs_roŮ_node --> -Â_ˇ© -. -ˇ_mode - = -S_IFDIR - | ( -und”lyšg_node_ˇ© -.st_mode - -112 & ~ -S_IFMT - & ~ -S_ITRANS -); - -113 -Ătfs_roŮ_node --> -Â_ŚŞ¦©ed - =‚‘fs_roŮ_node-> -Â_ˇ© -. -ˇ_mode -; - -117 iŕ(! - `S_ISDIR - ( -und”lyšg_node_ˇ© -. -ˇ_mode -)) - -119 iŕ( -und”lyšg_node_ˇ© -. -ˇ_mode - & -S_IRUSR -) - -120 -Ătfs_roŮ_node --> -Â_ˇ© -. -ˇ_mode - |đ -S_IXUSR -; - -121 iŕ( -und”lyšg_node_ˇ© -. -ˇ_mode - & -S_IRGRP -) - -122 -Ătfs_roŮ_node --> -Â_ˇ© -. -ˇ_mode - |đ -S_IXGRP -; - -123 iŕ( -und”lyšg_node_ˇ© -. -ˇ_mode - & -S_IROTH -) - -124 -Ătfs_roŮ_node --> -Â_ˇ© -. -ˇ_mode - |đ -S_IXOTH -; - -128 - `fsh–p_touch - (& -Ătfs_roŮ_node --> -Â_ˇ© -, - -129 -TOUCH_ATIME - | -TOUCH_MTIME - | -TOUCH_CTIME -, -m­time -); - -133 - `Ătfs_Łrv”_loÝ - (); - -134 - } -} - - @ncache.c - -20  - #_GNU_SOURCE - - - ) - -22  - ~ - -23  - ~<”rÜ.h -> - -24  - ~<ˇdlib.h -> - -25  - ~ - -27  - ~"n˙che.h -" - -28  - ~"lib.h -" - -29  - ~"uniÚfs.h -" - -32 -n˙che_t - - gn˙che -; - -35  - gn˙che_size - = -NCACHE_SIZE -; - -40 - $n˙che_š™ - ( -size_max -) - -42 -n˙che -. -mru - = -NULL -; - -43 -n˙che -. -Ěu - = -NULL -; - -44 -n˙che -. -size_max - = size_max; - -45 -n˙che -. -size_cuĽ’t - = 0; - -46 - `mu‹x_š™ - (& -n˙che -. -lock -); - -47 - } -} - -51 - $n˙che_node_»move - ( -node_t - * -node -) - -53  -ĂŠode - * - - = -node -->nn; - -55 iŕ( - --> -n˙che_Ăxt -) - -56 - --> -n˙che_Ăxt -->Â-> -n˙che_´ev - =‚n->ncache_prev; - -57 iŕ( - --> -n˙che_´ev -) - -58 - --> -n˙che_´ev -->Â-> -n˙che_Ăxt - =‚n->ncache_next; - -59 iŕ( -n˙che -. -mru - =đ -node -) - -60 -n˙che -. -mru - = - --> -n˙che_Ăxt -; - -61 iŕ( -n˙che -. -Ěu - =đ -node -) - -62 -n˙che -. -Ěu - = - --> -n˙che_´ev -; - -63 - --> -n˙che_Ăxt - = -NULL -; - -64 - --> -n˙che_´ev - = -NULL -; - -65 -n˙che -. -size_cuĽ’t ---; - -66 - } -} - -69 - $n˙che_»Łt - () - -71 -node_t - * -node -; - -73 - `mu‹x_lock - (& -n˙che -. -lock -); - -74 ( -node - = -n˙che -. -mru -)) - -75 - `n˙che_node_»move - ( -node -); - -76 - `mu‹x_uĆock - (& -n˙che -. -lock -); - -77 - } -} - -82 -”rÜ_t - - -83 - $n˙che_node_lookup - ( -Ęode_t - * -Ęode -, -node_t - ** -node -) - -85 -”rÜ_t - -”r - = 0; - -86 -node_t - * -n -; - -88 iŕ( -Ęode --> -node -) - -90 - `debug_msg - ("ncache_node_lookup for†node: %s (found in cache)", - -91 -Ęode --> -Çme -); - -92 -n - = -Ęode --> -node -; - -93 - `Ătfs_Äef - ( -n -); - -97 - `debug_msg - ("ncache_node_lookup for†node: %s (newly created)", - -98 -Ęode --> -Çme -); - -99 -”r - = - `node_ü—‹ - ( -Ęode -, & -n -); - -102 iŕ(! -”r -) - -104 - `mu‹x_lock - (& -n --> -lock -); - -105 * -node - = -n -; - -107  -”r -; - -108 - } -} - -113 - $n˙che_node_add - ( -node_t - * -node -) - -115 - `mu‹x_lock - (& -n˙che -. -lock -); - -117 - `debug_msg - ("addšg‚odtŘ˙che: %s", -node --> - --> -Ęode --> -Çme -); - -119 iŕ( -n˙che -. -size_max - > 0 ||‚˙che. -size_cuĽ’t - > 0) - -121 iŕ( -n˙che -. -mru - !đ -node -) - -123 iŕ( -node --> - --> -n˙che_Ăxt - ||‚ode->Â-> -n˙che_´ev -) - -125 - `n˙che_node_»move - ( -node -); - -128 - `Ătfs_Äef - ( -node -); - -130 -node --> - --> -n˙che_Ăxt - = -n˙che -. -mru -; - -131 -node --> - --> -n˙che_´ev - = -NULL -; - -132 iŕ( -n˙che -. -mru -) - -133 -n˙che -. -mru --> - --> -n˙che_´ev - = -node -; - -134 iŕ(! -n˙che -. -Ěu -) - -135 -n˙che -. -Ěu - = -node -; - -136 -n˙che -. -mru - = -node -; - -137 -n˙che -. -size_cuĽ’t -++; - -142  -n˙che -. -size_cuĽ’t - >‚˙che. -size_max -) - -144  -node - * -Ěu - = -n˙che -.lru; - -145 - `debug_msg - ("»movšg cached‚ode: %s", -Ěu --> - --> -Ęode --> -Çme -); - -146 - `n˙che_node_»move - ( -Ěu -); - -147 - `Ătfs_Ä–e - ( -Ěu -); - -150 - `mu‹x_uĆock - (& -n˙che -. -lock -); - -151 - } -} - - @ncache.h - -20 #iâdeŕ -INCLUDED_NCACHE_H - - -21  - #INCLUDED_NCACHE_H - - - ) - -23  - ~<”rÜ.h -> - -24  - ~ - -26  - ~"node.h -" - -28  - sn˙che - - -30 -node_t - * - mmru -; - -32 -node_t - * - mĚu -; - -34  - msize_max -; - -36  - msize_cuĽ’t -; - -38  -mu‹x - - mlock -; - -39 } - tn˙che_t -; - -42  -n˙che_size -; - -46  -n˙che_š™ - ( -size_max -); - -51 -”rÜ_t - -n˙che_node_lookup - ( -Ęode_t - * -Ęode -, -node_t - ** -node -); - -53  -n˙che_»Łt - (); - -57  -n˙che_node_add - ( -node_t - * -node -); - - @netfs.c - -20  - #_GNU_SOURCE - - - ) - -22  - ~ - -23  - ~<”rÜ.h -> - -24  - ~<¬gz.h -> - -25  - ~<ˇddef.h -> - -26  - ~ - -27  - ~ - -28  - ~<ˇršg.h -> - -29  - ~<ˇdio.h -> - -30  - ~ - -31  - ~ - -33  - ~"uniÚfs.h -" - -34  - ~"ulfs.h -" - -35  - ~"node.h -" - -36  - ~"lib.h -" - -37  - ~"n˙che.h -" - -38  - ~"ÝtiÚs.h -" - -43 -”rÜ_t - - -44 - $Ătfs_­łnd_¬gs - (** -¬gz -, -size_t - * -¬gz_Ën -) - -46 -”rÜ_t - -”r - = 0; - -48 -ulfs_™”©e - - -50 iŕ(! -”r -) - -51 iŕ( -uniÚfs_ćags - & -FLAG_UNIONFS_MODE_DEBUG -) - -52 -”r - = - `¬gz_add - ( -¬gz -, -¬gz_Ën -, - -53 - `OPT_LONG - ( -OPT_LONG_DEBUG -)); - -54 iŕ(! -”r -) - -55 iŕ( -ulfs --> -ćags - & -FLAG_ULFS_WRITABLE -) - -56 -”r - = - `¬gz_add - ( -¬gz -, -¬gz_Ën -, - -57 - `OPT_LONG - ( -OPT_LONG_WRITABLE -)); - -58 iŕ(! -”r -) - -59 iŕ( -ulfs --> -´iÜ™y -) - -61 * -buf - = -NULL -; - -62 iŕ(( -”r - = - `aĄrštf - (& -buf -, "%s=%s", - `OPT_LONG - ( -OPT_LONG_PRIORITY -), - -63 -ulfs --> -´iÜ™y -)) != -1) - -65 -”r - = - `¬gz_add - ( -¬gz -, -¬gz_Ën -, -buf -); - -66 - `ä“ - ( -buf -); - -70 iŕ(! -”r -) - -72 iŕ( -ulfs --> -·th -) - -73 -”r - = - `¬gz_add - ( -¬gz -, -¬gz_Ën -, -ulfs --> -·th -); - -75 -”r - = - `¬gz_add - ( -¬gz -, -¬gz_Ën -, - -76 - `OPT_LONG - ( -OPT_LONG_UNDERLYING -)); - -80  -”r -; - -81 - } -} - -83 #iâdeŕ -__USE_FILE_OFFSET64 - - -84  - #OFFSET_T - -__off_t - - - ) - -86  - #OFFSET_T - -__off64_t - - - ) - -89  -”rÜ_t - - -90 - $_g‘_node_size - ( -node - * -dś -, -OFFSET_T - * -off -) - -92 -size_t - -size - = 0; - -93 -”rÜ_t - -”r -; - -94  -couÁ - = 0; - -95 -node_dś’t_t - * -dś’t_ˇ¬t -, * -dś’t_cuĽ’t -; - -96 -node_dś’t_t - * -dś’t_liˇ - = -NULL -; - -97  -fśˇ_’Śy - = 2; - -99  - `bump_size - (cÚˇ * -Çme -) - -101 -size_t - -Ăw_size - = -size - + - `DIRENT_LEN - ( - `ˇľ’ - ( -Çme -)); - -103 -size - = -Ăw_size -; - -104 -couÁ - ++; - -108 -”r - = - `node_’Ś›s_g‘ - ( -dś -, & -dś’t_liˇ -); - -109 iŕ( -”r -) - -110  -”r -; - -112  -dś’t_ˇ¬t - = -dś’t_liˇ -, -couÁ - = 2; - -113 -dś’t_ˇ¬t - && -fśˇ_’Śy - > -couÁ -; - -114 -dś’t_ˇ¬t - = dś’t_ˇ¬t-> -Ăxt -, -couÁ -++); - -116 -couÁ - = 0; - -119 iŕ( -fśˇ_’Śy - == 0) - -120 - `bump_size - ("."); - -121 iŕ( -fśˇ_’Śy - <= 1) - -122 - `bump_size - (".."); - -125  -dś’t_cuĽ’t - = -dś’t_ˇ¬t -; - -126 -dś’t_cuĽ’t -; - -127 -dś’t_cuĽ’t - = dś’t_cuĽ’t-> -Ăxt -) - -128 iŕ(! - `bump_size - ( -dś’t_cuĽ’t --> -dś’t --> -d_Çme -)) - -131 - `ä“ - ( -dś’t_liˇ -); - -133 * -off - = -size -; - -136 - } -} - -141 -”rÜ_t - - -142 - $Ătfs_v®id©e_ˇ© - ( -node - * -Ĺ -,  -iouŁr - * -üed -) - -144 -”rÜ_t - -”r - = 0; - -146 iŕ( -Ĺ - !đ -Ătfs_roŮ_node -) - -148 iŕ(! ( -Ĺ --> - --> -ćags - & -FLAG_NODE_ULFS_UPTODATE -)) - -149 -”r - = - `node_upd©e - ( -Ĺ -); - -150 iŕ(! -”r -) - -152  -dÚe - = 0; - -154 - `node_ulfs_™”©e_uĆocked - ( -Ĺ -) - -155 iŕ((! -dÚe -č&& - `pÜt_v®id - ( -node_ulfs --> -pÜt -)) - -157 -”r - = - `io_ˇ© - ( -node_ulfs --> -pÜt -, & -Ĺ --> -Â_ˇ© -); - -158 iŕ(! -”r -) - -159 -Ĺ --> -Â_ŚŞ¦©ed - =‚p-> -Â_ˇ© -. -ˇ_mode -; - -160 -dÚe - = 1; - -162 iŕ(! -dÚe -) - -163 -”r - = -ENOENT -; - -168 - `_g‘_node_size - ( -Ĺ -, &Ĺ-> -Â_ˇ© -. -ˇ_size -); - -171  -”r -; - -172 - } -} - -176 -”rÜ_t - - -177 - $Ătfs_©‹m±_chown - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -178 -uid_t - -uid -, uid_ -gid -) - -180  -EOPNOTSUPP -; - -181 - } -} - -185 -”rÜ_t - - -186 - $Ătfs_©‹m±_chauthÜ - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -187 -uid_t - -authÜ -) - -189  -EOPNOTSUPP -; - -190 - } -} - -197 -”rÜ_t - - -198 - $Ătfs_©‹m±_chmod - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -199 -mode_t - -mode -) - -201  -EOPNOTSUPP -; - -202 - } -} - -206 -”rÜ_t - - -207 - $Ătfs_©‹m±_mksymlšk - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -208 * -Çme -) - -210  -EOPNOTSUPP -; - -211 - } -} - -215 -”rÜ_t - - -216 - $Ătfs_©‹m±_mkdev - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -217 -mode_t - -tył -, -dev_t - -šdexes -) - -219  -EOPNOTSUPP -; - -220 - } -} - -224 -”rÜ_t - - -225 - $Ătfs_Łt_ŚŞ¦©Ü - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -226 * -¬gz -, -size_t - -¬gzËn -) - -228  -EOPNOTSUPP -; - -229 - } -} - -234 -”rÜ_t - - -235 - $Ătfs_g‘_ŚŞ¦©Ü - ( -node - *node, ** -¬gz -, - -236 -size_t - * -¬gz_Ën -) - -238  -EOPNOTSUPP -; - -239 - } -} - -243 -”rÜ_t - - -244 - $Ătfs_©‹m±_chćags - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -245  -ćags -) - -247  -EOPNOTSUPP -; - -248 - } -} - -253 -”rÜ_t - - -254 - $Ătfs_©‹m±_utimes - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -255  -timeĄec - * -©ime -, timeĄeř* -mtime -) - -258 - } -} - -262 -”rÜ_t - - -263 - $Ătfs_©‹m±_Łt_size - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -264 -off_t - -size -) - -266  -EOPNOTSUPP -; - -267 - } -} - -271 -”rÜ_t - - -272 - $Ătfs_©‹m±_ˇ©fs - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -273  -ˇ©fs - * -ˇ -) - -275  -EOPNOTSUPP -; - -276 - } -} - -281 -”rÜ_t - - -282 - $Ătfs_©‹m±_sync - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -283  -wa™ -) - -285  -EOPNOTSUPP -; - -286 - } -} - -290 -”rÜ_t - - -291 - $Ătfs_©‹m±_syncfs - ( -iouŁr - * -üed -,  -wa™ -) - -294 - } -} - -299 -”rÜ_t - - -300 - $Ătfs_©‹m±_lookup - ( -iouŁr - * -uŁr -,  -node - * -dś -, - -301 * -Çme -,  -node - **node) - -303  -EOPNOTSUPP -; - -304 - } -} - -307 -”rÜ_t - - -308 - $Ătfs_©‹m±_uĆšk - ( -iouŁr - * -uŁr -,  -node - * -dś -, - -309 * -Çme -) - -311 -”rÜ_t - -”r - = 0; - -312 -mach_pÜt_t - -p -; - -313  -ˇ© - -ˇ©buf -; - -315 - `node_upd©e - ( -dś -); - -317 -”r - = - `node_lookup_fže - ( -dś -, -Çme -, 0, & -p -, & -ˇ©buf -); - -318 iŕ( -”r -) - -319  -”r -; - -321 - `pÜt_d—Îoc - ( -p -); - -323 -”r - = - `fsh–p_checkdśmod - (& -dś --> -Â_ˇ© -, & -ˇ©buf -, -uŁr -); - -324 iŕ( -”r -) - -325  -”r -; - -327 -”r - = - `node_uĆšk_fže - ( -dś -, -Çme -); - -329  -”r -; - -330 - } -} - -334 -”rÜ_t - - -335 - $Ătfs_©‹m±_»Çme - ( -iouŁr - * -uŁr -,  -node - * -äomdś -, - -336 * -äomÇme -,  -node - * -todś -, - -337 * -tÚame -,  -exţ -) - -339  -EOPNOTSUPP -; - -340 - } -} - -344 -”rÜ_t - - -345 - $Ătfs_©‹m±_mkdś - ( -iouŁr - * -uŁr -,  -node - * -dś -, - -346 * -Çme -, -mode_t - -mode -) - -348 -”rÜ_t - -”r - = 0; - -349 -mach_pÜt_t - -p -; - -350  -ˇ© - -ˇ©buf -; - -352 - `node_upd©e - ( -dś -); - -354 -”r - = - `fsh–p_checkdśmod - (& -dś --> -Â_ˇ© -, 0, -uŁr -); - -355 iŕ( -”r -) - -356  -ex™ -; - -359 iŕ((! -uŁr --> -uids --> -ids -) || (!user->uids->ids)) - -361 -”r - = -EACCES -; - -362  -ex™ -; - -365 -”r - = - `node_dś_ü—‹ - ( -dś -, -Çme -, -mode -); - -366 iŕ( -”r -) - -367  -ex™ -; - -369 -”r - = - `node_lookup_fže - ( -dś -, -Çme -, 0, & -p -, & -ˇ©buf -); - -370 iŕ( -”r -) - -372 - `node_dś_»move - ( -dś -, -Çme -); - -373  -ex™ -; - -376 -”r - = - `fže_chown - ( -p -, -uŁr --> -uids --> -ids -[0], uŁr-> -gids -->ids[0]); - -377 iŕ( -”r -) - -379 - `pÜt_d—Îoc - ( -p -); - -380 - `node_dś_»move - ( -dś -, -Çme -); - -381  -ex™ -; - -384 - `pÜt_d—Îoc - ( -p -); - -386 -ex™ -: - -388  -”r -; - -389 - } -} - -393 -”rÜ_t - - -394 - $Ătfs_©‹m±_rmdś - ( -iouŁr - * -uŁr -, - -395  -node - * -dś -, * -Çme -) - -397 -”rÜ_t - -”r - = 0; - -398 -mach_pÜt_t - -p -; - -399  -ˇ© - -ˇ©buf -; - -401 - `node_upd©e - ( -dś -); - -403 -”r - = - `node_lookup_fže - ( -dś -, -Çme -, 0, & -p -, & -ˇ©buf -); - -404 iŕ( -”r -) - -405  -”r -; - -407 - `pÜt_d—Îoc - ( -p -); - -409 -”r - = - `fsh–p_checkdśmod - (& -dś --> -Â_ˇ© -, & -ˇ©buf -, -uŁr -); - -410 iŕ( -”r -) - -411  -”r -; - -413 -”r - = - `node_dś_»move - ( -dś -, -Çme -); - -415  -”r -; - -416 - } -} - -421 -”rÜ_t - - -422 - $Ătfs_©‹m±_lšk - ( -iouŁr - * -uŁr -,  -node - * -dś -, - -423  -node - * -fže -, * -Çme -,  -exţ -) - -425  -EOPNOTSUPP -; - -426 - } -} - -431 -”rÜ_t - - -432 - $Ătfs_©‹m±_mkfže - ( -iouŁr - * -uŁr -,  -node - * -dś -, - -433 -mode_t - -mode -,  -node - ** -Ĺ -) - -435 - `mu‹x_uĆock - (& -dś --> -lock -); - -436  -EOPNOTSUPP -; - -437 - } -} - -443 -”rÜ_t - - -444 - $Ătfs_©‹m±_ü—‹_fže - ( -iouŁr - * -uŁr -,  -node - * -dś -, - -445 * -Çme -, -mode_t - -mode -,  -node - ** -Ĺ -) - -447 - `mu‹x_uĆock - (& -dś --> -lock -); - -448  -EOPNOTSUPP -; - -449 - } -} - -453 -”rÜ_t - - -454 - $Ătfs_©‹m±_ü—‹_fže_»duűd - ( -iouŁr - * -uŁr -,  -node - * -dś -, - -455 * -Çme -, -mode_t - -mode -,  -ćags -) - -457 -mach_pÜt_t - -p -; - -458 -”rÜ_t - -”r -; - -459  -ˇ© - -ˇ©buf -; - -461 - `node_upd©e - ( -dś -); - -463 -”r - = - `fsh–p_checkdśmod - (& -dś --> -Â_ˇ© -, 0, -uŁr -); - -464 iŕ( -”r -) - -465  -ex™ -; - -468 iŕ((! -uŁr --> -uids --> -ids -) || (!user->uids->ids)) - -470 -”r - = -EACCES -; - -471  -ex™ -; - -474 - `mu‹x_uĆock - (& -dś --> -lock -); - -475 -”r - = - `node_lookup_fže - ( -dś -, -Çme -, -ćags - | -O_CREAT -, - -476 & -p -, & -ˇ©buf -); - -477 - `mu‹x_lock - (& -dś --> -lock -); - -479 iŕ( -”r -) - -480  -ex™ -; - -482 -”r - = - `fže_chmod - ( -p -, -mode -); - -483 iŕ( -”r -) - -485 - `pÜt_d—Îoc - ( -p -); - -486 - `node_uĆšk_fže - ( -dś -, -Çme -); - -487  -ex™ -; - -490 -”r - = - `fže_chown - ( -p -, -uŁr --> -uids --> -ids -[0], uŁr-> -gids -->ids[0]); - -491 iŕ( -”r -) - -493 - `pÜt_d—Îoc - ( -p -); - -494 - `node_uĆšk_fže - ( -dś -, -Çme -); - -495  -ex™ -; - -498 -”r - = - `io_ˇ© - ( -p -, & -ˇ©buf -); - -501 iŕ(! -”r - && ( -ćags - & -O_READ -)) - -502 -”r - = - `fsh–p_acűss - (& -ˇ©buf -, -S_IREAD -, -uŁr -); - -503 iŕ(! -”r - && ( -ćags - & -O_WRITE -)) - -504 -”r - = - `fsh–p_acűss - (& -ˇ©buf -, -S_IWRITE -, -uŁr -); - -505 iŕ(! -”r - && ( -ćags - & -O_EXEC -)) - -506 -”r - = - `fsh–p_acűss - (& -ˇ©buf -, -S_IEXEC -, -uŁr -); - -508 iŕ( -”r -) - -510 - `pÜt_d—Îoc - ( -p -); - -511 - `node_uĆšk_fže - ( -dś -, -Çme -); - -512  -ex™ -; - -515 - `pÜt_d—Îoc - ( -p -); - -517 -ex™ -: - -518 - `mu‹x_uĆock - (& -dś --> -lock -); - -519  -”r -; - -520 - } -} - -524 -”rÜ_t - - -525 - $Ătfs_©‹m±_»adlšk - ( -iouŁr - * -uŁr -,  -node - * -Ĺ -, - -526 * -buf -) - -528  -EOPNOTSUPP -; - -529 - } -} - -532 -”rÜ_t - - -533 - $Ătfs_check_Ý’_łrmissiÚs - ( -iouŁr - * -uŁr -,  -node - * -Ĺ -, - -534  -ćags -,  -Ăwnode -) - -536 -”rÜ_t - -”r - = 0; - -538 iŕ(! -”r - && ( -ćags - & -O_READ -)) - -539 -”r - = - `fsh–p_acűss - (& -Ĺ --> -Â_ˇ© -, -S_IREAD -, -uŁr -); - -540 iŕ(! -”r - && ( -ćags - & -O_WRITE -)) - -541 -”r - = - `fsh–p_acűss - (& -Ĺ --> -Â_ˇ© -, -S_IWRITE -, -uŁr -); - -542 iŕ(! -”r - && ( -ćags - & -O_EXEC -)) - -543 -”r - = - `fsh–p_acűss - (& -Ĺ --> -Â_ˇ© -, -S_IEXEC -, -uŁr -); - -545  -”r -; - -546 - } -} - -551 -”rÜ_t - - -552 - $Ătfs_©‹m±_»ad - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -553 -off_t - -offŁt -, -size_t - * -Ën -, * -d©a -) - -555 * -Ën - = 0; - -557 - } -} - -562 -”rÜ_t - - -563 - $Ătfs_©‹m±_wr™e - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -564 -off_t - -offŁt -, -size_t - * -Ën -, * -d©a -) - -567  -EISDIR -; - -568 - } -} - -572 -”rÜ_t - - -573 - $Ătfs_»pÜt_acűss - ( -iouŁr - * -üed -,  -node - * -Ĺ -, - -574 * -tyłs -) - -576 * -tyłs - = 0; - -577 iŕ( - `fsh–p_acűss - (& -Ĺ --> -Â_ˇ© -, -S_IREAD -, -üed -) == 0) - -578 * -tyłs - |đ -O_READ -; - -579 iŕ( - `fsh–p_acűss - (& -Ĺ --> -Â_ˇ© -, -S_IWRITE -, -üed -) == 0) - -580 * -tyłs - |đ -O_WRITE -; - -581 iŕ( - `fsh–p_acűss - (& -Ĺ --> -Â_ˇ© -, -S_IEXEC -, -üed -) == 0) - -582 * -tyłs - |đ -O_EXEC -; - -584 - } -} - -587  -iouŁr - * - -588 - $Ătfs_make_uŁr - ( -uid_t - * -uids -,  -nuids -, uid_* -gids -,  -ngids -) - -590  -NULL -; - -591 - } -} - -595 - $Ătfs_node_nÜefs - ( -node - * -Ĺ -) - -597 - `node_deˇroy - ( -Ĺ -); - -598 - } -} - -600 -”rÜ_t - - -601 - $Ătfs_©‹m±_lookup_im´oved - ( -iouŁr - * -uŁr -,  -node - * -dś -, - -602 * -Çme -,  -node - ** -Ĺ -, - -603  -ćags -,  -ϡcomp -, - -604 -mach_pÜt_t - * -pÜt -, - -605 -mach_msg_tył_Çme_t - * -pÜt_tył -) - -607 -mach_pÜt_t - -p -; - -608 -”rÜ_t - -”r -; - -610 - `mu‹x_lock - (& -dś --> - --> -Ęode --> -lock -); - -612 -”r - = - `fsh–p_acűss - (& -dś --> -Â_ˇ© -, -S_IEXEC -, -uŁr -); - -613 iŕ( -”r -) - -614  -ex™ -; - -617 iŕ(! * -Çme - || ! - `ˇrcmp - (name, ".")) - -621 * -Ĺ - = -dś -; - -622 - `Ătfs_Äef - (* -Ĺ -); - -625 iŕ(! - `ˇrcmp - ( -Çme -, "..")) - -629 -Ęode_t - * -Ęode - = -dś --> - -->lnode; - -630 -node_t - * -node -; - -632 -”r - = - `n˙che_node_lookup - ( -Ęode --> -dś -, & -node -); - -633 iŕ( -”r -) - -634  -ex™ -; - -636 * -Ĺ - = -node -; - -642 -Ęode_t - * -dś_Ęode - = -dś --> - --> -Ęode -; - -643  -ˇ© - -ˇ©buf -; - -644 -Ęode_t - * -Ęode - = -NULL -; - -649 -”r - = - `node_upd©e - ( -dś -); - -652 - `mu‹x_uĆock - (& -dś_Ęode --> -lock -); - -653 - `mu‹x_uĆock - (& -dś --> -lock -); - -655 -”r - = - `node_lookup_fže - ( -dś -, -Çme -, -ćags - & ~( -O_NOLINK -| -O_CREAT -), - -656 & -p -, & -ˇ©buf -); - -658 - `mu‹x_lock - (& -dś --> -lock -); - -659 - `mu‹x_lock - (& -dś_Ęode --> -lock -); - -662 iŕ( -”r -) - -663  -ex™ -; - -665 iŕ( - `S_ISDIR - ( -ˇ©buf -. -ˇ_mode -)) - -667 -node_t - * -node -; - -670 - `pÜt_d—Îoc - ( -p -); - -675 -”r - = - `Ęode_g‘ - ( -dś_Ęode -, -Çme -, & -Ęode -); - -676 iŕ( -”r - =đ -ENOENT -) - -679 -”r - = - `Ęode_ü—‹ - ( -Çme -, & -Ęode -); - -680 iŕ( -”r -) - -681  -ex™ -; - -683 - `Ęode_šˇ®l - ( -dś_Ęode -, -Ęode -); - -687 -”r - = - `n˙che_node_lookup - ( -Ęode -, & -node -); - -690 - `Ęode_»f_»move - ( -Ęode -); - -692 iŕ( -”r -) - -693  -ex™ -; - -696 * -Ĺ - = -node -; - -702 -mach_pÜt_t - -p_»ˇriůed -; - -704 iŕ(! -ϡcomp -) - -707 - `pÜt_d—Îoc - ( -p -); - -708 -”r - = -ENOTDIR -; - -709  -ex™ -; - -713 iŕ(! -”r - && ( -ćags - & -O_READ -)) - -714 -”r - = - `fsh–p_acűss - (& -ˇ©buf -, -S_IREAD -, -uŁr -); - -715 iŕ(! -”r - && ( -ćags - & -O_WRITE -)) - -716 -”r - = - `fsh–p_acűss - (& -ˇ©buf -, -S_IWRITE -, -uŁr -); - -717 iŕ(! -”r - && ( -ćags - & -O_EXEC -)) - -718 -”r - = - `fsh–p_acűss - (& -ˇ©buf -, -S_IEXEC -, -uŁr -); - -720 iŕ( -”r -) - -722 - `pÜt_d—Îoc - ( -p -); - -723  -ex™ -; - -728 -”r - = - `io_»ˇriů_auth - ( -p -, & -p_»ˇriůed -, - -729 -uŁr --> -uids --> -ids -, uŁr->uids-> -num -, - -730 -uŁr --> -gids --> -ids -, uŁr->gids-> -num -); - -731 - `pÜt_d—Îoc - ( -p -); - -733 iŕ( -”r -) - -734  -ex™ -; - -737 * -pÜt - = -p_»ˇriůed -; - -738 * -pÜt_tył - = -MACH_MSG_TYPE_MOVE_SEND -; - -742 -ex™ -: - -744 iŕ( -”r -) - -745 * -Ĺ - = -NULL -; - -746 iŕ(* -Ĺ -) - -748 - `mu‹x_uĆock - (&(* -Ĺ -)-> -lock -); - -749 - `n˙che_node_add - (* -Ĺ -); - -752 - `mu‹x_uĆock - (& -dś --> - --> -Ęode --> -lock -); - -753 - `mu‹x_uĆock - (& -dś --> -lock -); - -754  -”r -; - -755 - } -} - -762  - #OPENONLY_STATE_MODES - ( -O_CREAT -| -O_EXCL -| -O_NOLINK -| -O_NOTRANS -| -O_NONBLOCK -) - - ) - -764 -fsh–p_ătch_roŮ_˙Îback1_t - - g_Ătfs_ŚŞ¦©Ü_˙Îback1 -; - -765 -fsh–p_ătch_roŮ_˙Îback2_t - - g_Ătfs_ŚŞ¦©Ü_˙Îback2 -; - -767 -”rÜ_t - - -768 - $Ătfs_S_dś_lookup - ( -´Ůid - * -dśuŁr -, - -769 * -fž’ame -, - -770  -ćags -, - -771 -mode_t - -mode -, - -772 -»Śy_tył - * -do_»Śy -, - -773 * -»Śy_Çme -, - -774 -mach_pÜt_t - * -»Śy_pÜt -, - -775 -mach_msg_tył_Çme_t - * -»Śy_pÜt_tył -) - -777  -ü—‹ -; - -778  -exţ -; - -779  -muˇbedś - = 0; - -780  -ϡcomp - = 0; - -781  -Ăwnode - = 0; - -782  -nsymlšks - = 0; - -783  -node - * -dĹ -, * -Ĺ -; - -784 * -ĂxŠame -; - -785 -”rÜ_t - -”rÜ - = 0; - -786  -´Ůid - * -Ăwpi -; - -787  -iouŁr - * -uŁr -; - -789 iŕ(! -dśuŁr -) - -790  -EOPNOTSUPP -; - -792 -ü—‹ - = ( -ćags - & -O_CREAT -); - -793 -exţ - = ( -ćags - & -O_EXCL -); - -796 * -fž’ame - == '/') - -797 -fž’ame -++; - -799 * -»Śy_pÜt_tył - = -MACH_MSG_TYPE_MAKE_SEND -; - -800 * -do_»Śy - = -FS_RETRY_NORMAL -; - -801 * -»Śy_Çme - = '\0'; - -803 iŕ(* -fž’ame - == '\0') - -806 -dĹ - = 0; - -807 -Ĺ - = -dśuŁr --> -po -->np; - -808 - `mu‹x_lock - (& -Ĺ --> -lock -); - -809 - `Ătfs_Äef - ( -Ĺ -); - -810  -gŮ™ -; - -813 -dĹ - = -dśuŁr --> -po --> -Ĺ -; - -815 - `mu‹x_lock - (& -dĹ --> -lock -); - -817 - `Ătfs_Äef - ( -dĹ -); - -821 - `asŁą - (! -ϡcomp -); - -824 -ĂxŠame - = - `šdex - ( -fž’ame -, '/'); - -826 iŕ( -ĂxŠame -) - -828 * -ĂxŠame -++ = '\0'; - -829 * -ĂxŠame - == '/') - -830 -ĂxŠame -++; - -831 iŕ(* -ĂxŠame - == '\0') - -834 -ĂxŠame - = 0; - -835 -ϡcomp - = 1; - -836 -muˇbedś - = 1; - -837 -ü—‹ - = 0; - -840 -ϡcomp - = 0; - -843 -ϡcomp - = 1; - -845 -Ĺ - = 0; - -847 -»Śy_lookup -: - -849 iŕ(( -dĹ - =đ -Ătfs_roŮ_node - || dĹ =đ -dśuŁr --> -po --> -shadow_roŮ -) - -850 && -fž’ame -[0] == '.' && filename[1] == '.' && filename[2] == '\0') - -851 iŕ( -dĹ - =đ -dśuŁr --> -po --> -shadow_roŮ -) - -854 * -do_»Śy - = -FS_RETRY_REAUTH -; - -855 * -»Śy_pÜt - = -dśuŁr --> -po --> -shadow_roŮ_·»Á -; - -856 * -»Śy_pÜt_tył - = -MACH_MSG_TYPE_COPY_SEND -; - -857 iŕ(! -ϡcomp -) - -858 - `ˇrýy - ( -»Śy_Çme -, -ĂxŠame -); - -859 -”rÜ - = 0; - -860 - `mu‹x_uĆock - (& -dĹ --> -lock -); - -861  -out -; - -863 iŕ( -dśuŁr --> -po --> -roŮ_·»Á - !đ -MACH_PORT_NULL -) - -868 * -do_»Śy - = -FS_RETRY_REAUTH -; - -869 * -»Śy_pÜt - = -dśuŁr --> -po --> -roŮ_·»Á -; - -870 * -»Śy_pÜt_tył - = -MACH_MSG_TYPE_COPY_SEND -; - -871 iŕ(! -ϡcomp -) - -872 - `ˇrýy - ( -»Śy_Çme -, -ĂxŠame -); - -873 -”rÜ - = 0; - -874 - `mu‹x_uĆock - (& -dĹ --> -lock -); - -875  -out -; - -880 -”rÜ - = 0; - -881 -Ĺ - = -dĹ -; - -882 - `Ătfs_Äef - ( -Ĺ -); - -886 -”rÜ - = - `Ătfs_©‹m±_lookup_im´oved - ( -dśuŁr --> -uŁr -, -dĹ -, - -887 -fž’ame -, & -Ĺ -, - -888 -ćags -, -ϡcomp -, - -889 -»Śy_pÜt -, -»Śy_pÜt_tył -); - -894 iŕ( -ϡcomp - && -ü—‹ - && -exţ - && ! -”rÜ - && -Ĺ -) - -895 -”rÜ - = -EEXIST -; - -898 iŕ( -ϡcomp - && -ü—‹ - && -”rÜ - =đ -ENOENT -) - -900 -mode - &đ~( -S_IFMT - | -S_ISPARE - | -S_ISVTX -); - -901 -mode - |đ -S_IFREG -; - -902 - `mu‹x_lock - (& -dĹ --> -lock -); - -904 -”rÜ - = - `Ătfs_©‹m±_ü—‹_fže_»duűd - ( -dśuŁr --> -uŁr -, -dĹ -, - -905 -fž’ame -, -mode -, -ćags -); - -912 iŕ((! -”rÜ -č|| (”rÜ =đ -EEXIST - && ! -exţ -)) - -914 - `mu‹x_lock - (& -dĹ --> -lock -); - -915  -»Śy_lookup -; - -918 -Ăwnode - = 1; - -922 iŕ( -”rÜ -) - -923  -out -; - -925 iŕ( -Ĺ -) - -927 - `mu‹x_lock - (& -Ĺ --> -lock -); - -928 -”rÜ - = - `Ătfs_v®id©e_ˇ© - ( -Ĺ -, -dśuŁr --> -uŁr -); - -929 - `mu‹x_uĆock - (& -Ĺ --> -lock -); - -930 iŕ( -”rÜ -) - -931  -out -; - -934 iŕ( -Ĺ - - -935 && - `S_ISLNK - ( -Ĺ --> -Â_ŚŞ¦©ed -) - -936 && (! -ϡcomp - - -937 || -muˇbedś - - -938 || !( -ćags - & ( -O_NOLINK -| -O_NOTRANS -)))) - -940 -size_t - -ĂxŠam–’ -, -ĂwÇm–’ -, -lškËn -; - -941 * -lškbuf -; - -944 iŕ( -nsymlšks -++ > -Ătfs_maxsymlšks -) - -946 -”rÜ - = -ELOOP -; - -947  -out -; - -950 -lškËn - = -Ĺ --> -Â_ˇ© -. -ˇ_size -; - -952 -ĂxŠam–’ - = -ĂxŠame - ? - `ˇľ’ - (nextname) + 1 : 0; - -953 -ĂwÇm–’ - = -ĂxŠam–’ - + -lškËn - + 1; - -954 -lškbuf - = - `®lo˙ - ( -ĂwÇm–’ -); - -956 -”rÜ - = - `Ătfs_©‹m±_»adlšk - ( -dśuŁr --> -uŁr -, -Ĺ -, -lškbuf -); - -957 iŕ( -”rÜ -) - -958  -out -; - -960 iŕ( -ĂxŠame -) - -962 -lškbuf -[ -lškËn -] = '/'; - -963 - `memýy - ( -lškbuf - + -lškËn - + 1, -ĂxŠame -, - -964 -ĂxŠam–’ - - 1); - -966 -lškbuf -[ -ĂxŠam–’ - + -lškËn -] = '\0'; - -968 iŕ( -lškbuf -[0] == '/') - -971 * -do_»Śy - = -FS_RETRY_MAGICAL -; - -972 * -»Śy_pÜt - = -MACH_PORT_NULL -; - -973 - `ˇrýy - ( -»Śy_Çme -, -lškbuf -); - -974  -out -; - -977 -fž’ame - = -lškbuf -; - -978 iŕ( -ϡcomp -) - -980 -ϡcomp - = 0; - -984 -ü—‹ - = 0; - -986 - `Ătfs_Ĺut - ( -Ĺ -); - -987 - `mu‹x_lock - (& -dĹ --> -lock -); - -988 -Ĺ - = 0; - -993 -fž’ame - = -ĂxŠame -; - -994 - `Ătfs_Ä–e - ( -dĹ -); - -996 iŕ( -ϡcomp -) - -997 -dĹ - = 0; - -1000 -dĹ - = -Ĺ -; - -1001 -Ĺ - = 0; - -1005  -fž’ame - && *filename); - -1008 -gŮ™ -: - -1010 iŕ( -muˇbedś - && ! -Ĺ -) - -1012 -”rÜ - = -ENOTDIR -; - -1013  -out -; - -1016 iŕ( -Ĺ -) - -1017 -”rÜ - = - `Ătfs_check_Ý’_łrmissiÚs - ( -dśuŁr --> -uŁr -, -Ĺ -, - -1018 -ćags -, -Ăwnode -); - -1020 iŕ( -”rÜ -) - -1021  -out -; - -1023 -ćags - &đ~ -OPENONLY_STATE_MODES -; - -1025 iŕ( -Ĺ -) - -1027 -”rÜ - = - `ioh–p_dup_iouŁr - (& -uŁr -, -dśuŁr -->user); - -1028 iŕ( -”rÜ -) - -1029  -out -; - -1031 -Ăwpi - = - `Ătfs_make_´Ůid - ( - `Ătfs_make_łrÝ’ - ( -Ĺ -, -ćags -, -dśuŁr --> -po -), - -1032 -uŁr -); - -1033 iŕ(! -Ăwpi -) - -1035 - `ioh–p_ä“_iouŁr - ( -uŁr -); - -1036 -”rÜ - = -”şo -; - -1037  -out -; - -1040 * -»Śy_pÜt - = - `pÜts_g‘_right - ( -Ăwpi -); - -1041 - `pÜts_pÜt_d”ef - ( -Ăwpi -); - -1044 -out -: - -1045 iŕ( -Ĺ -) - -1046 - `Ătfs_Ĺut - ( -Ĺ -); - -1047 iŕ( -dĹ -) - -1048 - `Ătfs_Ä–e - ( -dĹ -); - -1049  -”rÜ -; - -1050 - } -} - -1057 -”rÜ_t - - -1058 - $Ătfs_g‘_dś’ts - ( -iouŁr - * -üed -,  -node - * -dś -, - -1059  -fśˇ_’Śy -,  -num_’Ś›s -, ** -d©a -, - -1060 -mach_msg_tył_numb”_t - * -d©a_Ën -, - -1061 -vm_size_t - -max_d©a_Ën -, * -d©a_’Ś›s -) - -1063 -node_dś’t_t - * -dś’t_ˇ¬t -, * -dś’t_cuĽ’t -; - -1064 -node_dś’t_t - * -dś’t_liˇ - = -NULL -; - -1065 -size_t - -size - = 0; - -1066  -couÁ - = 0; - -1067 * -d©a_p -; - -1068 -”rÜ_t - -”r -; - -1070  - `bump_size - (cÚˇ * -Çme -) - -1072 iŕ( -num_’Ś›s - =đ-1 || -couÁ - <‚um_entries) - -1074 -size_t - -Ăw_size - = -size - + - `DIRENT_LEN - ( - `ˇľ’ - ( -Çme -)); - -1076 iŕ( -max_d©a_Ën - > 0 && -Ăw_size - > max_data_len) - -1078 -size - = -Ăw_size -; - -1079 -couÁ -++; - -1086  - `add_dś’t - (cÚˇ * -Çme -, -šo_t - -fž’o -,  -tył -) - -1088 iŕ( -num_’Ś›s - =đ-1 || -couÁ - <‚um_entries) - -1090  -dś’t - -hdr -; - -1091 -size_t - -Çme_Ën - = - `ˇľ’ - ( -Çme -); - -1092 -size_t - -sz - = - `DIRENT_LEN - ( -Çme_Ën -); - -1094 iŕ( -sz - > -size -) - -1097 -size - -đ -sz -; - -1099 -hdr -. -d_fž’o - = -fž’o -; - -1100 -hdr -. -d_»ţ’ - = -sz -; - -1101 -hdr -. -d_tył - = -tył -; - -1102 -hdr -. -d_ÇmËn - = -Çme_Ën -; - -1104 - `memýy - ( -d©a_p -, & -hdr -, -DIRENT_NAME_OFFS -); - -1105 - `ˇrýy - ( -d©a_p - + -DIRENT_NAME_OFFS -, -Çme -); - -1106 -d©a_p - +đ -sz -; - -1107 -couÁ -++; - -1115 -”r - = - `node_’Ś›s_g‘ - ( -dś -, & -dś’t_liˇ -); - -1117 iŕ(! -”r -) - -1119  -dś’t_ˇ¬t - = -dś’t_liˇ -, -couÁ - = 2; - -1120 -dś’t_ˇ¬t - && -fśˇ_’Śy - > -couÁ -; - -1121 -dś’t_ˇ¬t - = dś’t_ˇ¬t-> -Ăxt -, -couÁ -++); - -1123 -couÁ - = 0; - -1126 iŕ( -fśˇ_’Śy - == 0) - -1127 - `bump_size - ("."); - -1128 iŕ( -fśˇ_’Śy - <= 1) - -1129 - `bump_size - (".."); - -1132  -dś’t_cuĽ’t - = -dś’t_ˇ¬t -; - -1133 -dś’t_cuĽ’t -; - -1134 -dś’t_cuĽ’t - = dś’t_cuĽ’t-> -Ăxt -) - -1135 iŕ(! - `bump_size - ( -dś’t_cuĽ’t --> -dś’t --> -d_Çme -)) - -1138 * -d©a - = - `mm­ - (0, -size -, -PROT_READ -| -PROT_WRITE -, -MAP_ANON -, 0, 0); - -1139 -”r - = ((*č* -d©a - =đ(*č-1č? -”şo - : 0; - -1142 iŕ(! -”r -) - -1144 -d©a_p - = * -d©a -; - -1145 * -d©a_Ën - = -size -; - -1146 * -d©a_’Ś›s - = -couÁ -; - -1147 -couÁ - = 0; - -1150 iŕ( -fśˇ_’Śy - == 0) - -1151 - `add_dś’t - (".", 2, -DT_DIR -); - -1152 iŕ( -fśˇ_’Śy - <= 1) - -1153 - `add_dś’t - ("..", 2, -DT_DIR -); - -1155  -dś’t_cuĽ’t - = -dś’t_ˇ¬t -; - -1156 -dś’t_cuĽ’t -; - -1157 -dś’t_cuĽ’t - = dś’t_cuĽ’t-> -Ăxt -) - -1158 iŕ(! - `add_dś’t - ( -dś’t_cuĽ’t --> -dś’t --> -d_Çme -, - -1160 -dś’t_cuĽ’t --> -dś’t --> -d_tył -)) - -1164 iŕ( -dś’t_liˇ -) - -1165 - `node_’Ś›s_ä“ - ( -dś’t_liˇ -); - -1167 - `fsh–p_touch - (& -dś --> -Â_ˇ© -, -TOUCH_ATIME -, -m­time -); - -1169  -”r -; - -1170 - } -} - - @node.c - -22  - #_GNU_SOURCE - - - ) - -24  - ~ - -25  - ~<ˇdlib.h -> - -26  - ~<”rÜ.h -> - -27  - ~ - -28  - ~ - -29  - ~ - -30  - ~<ˇdio.h -> - -32  - ~"uniÚfs.h -" - -33  - ~"node.h -" - -34  - ~"ulfs.h -" - -35  - ~"lib.h -" - -41  -node_ulfs_ä“ - ( -node_t - * -node -); - -45 -”rÜ_t - - -46 - $node_ü—‹ - ( -Ęode_t - * -Ęode -, -node_t - ** -node -) - -48 -ĂŠode_t - * -ĂŠode_Ăw - = - `m®loc - ( (netnode_t)); - -49 -”rÜ_t - -”r - = 0; - -50 -node_t - * -node_Ăw -; - -52 - `debug_msg - ("node_ü—‹ f܆node: %s", -Ęode --> -Çme -); - -54 iŕ(! -ĂŠode_Ăw -) - -56 -”r - = -ENOMEM -; - -57  -”r -; - -60 -node_Ăw - = - `Ătfs_make_node - ( -ĂŠode_Ăw -); - -61 iŕ(! -node_Ăw -) - -63 -”r - = -ENOMEM -; - -64 - `ä“ - ( -ĂŠode_Ăw -); - -65  -”r -; - -68 -node_Ăw --> - --> -ulfs - = -NULL -; - -70 -”r - = - `node_ulfs_š™ - ( -node_Ăw -); - -71 iŕ( -”r -) - -73 - `node_deˇroy - ( -node_Ăw -); - -74  -”r -; - -77 -Ęode --> -node - = -node_Ăw -; - -78 - `Ęode_»f_add - ( -Ęode -); - -79 -node_Ăw --> - --> -Ęode - =†node; - -80 -node_Ăw --> - --> -ćags - = 0; - -81 -node_Ăw --> - --> -n˙che_Ăxt - = -NULL -; - -82 -node_Ăw --> - --> -n˙che_´ev - = -NULL -; - -83 * -node - = -node_Ăw -; - -85  -”r -; - -86 - } -} - -91 - $node_deˇroy - ( -node_t - * -node -) - -93 - `debug_msg - ("noddeˇroy: %s", -node --> - --> -Ęode --> -Çme -); - -94 - `asŁą - (! ( -node --> - --> -n˙che_Ăxt - ||‚ode->Â-> -n˙che_´ev -)); - -95 - `node_ulfs_ä“ - ( -node -); - -96 - `mu‹x_lock - (& -node --> - --> -Ęode --> -lock -); - -97 -node --> - --> -Ęode -->nodđ -NULL -; - -98 - `Ęode_»f_»move - ( -node --> - --> -Ęode -); - -99 - `ä“ - ( -node --> - -); - -100 - `ä“ - ( -node -); - -101 - } -} - -105 -”rÜ_t - - -106 - $node_upd©e - ( -node_t - * -node -) - -108 -”rÜ_t - -”r - = 0; - -109 * -·th -; - -111 -node_ulfs_t - * -roŮ_ulfs -; - -112  -ˇ© - stat; - -113 -fže_t - -pÜt -; - -114  -i - = 0; - -116 - `debug_msg - ("node_upd©f܆node: %s", -node --> - --> -Ęode --> -Çme -); - -118 iŕ( - `node_is_roŮ - ( -node -)) - -119  -”r -; - -121 - `mu‹x_lock - (& -Ătfs_roŮ_node --> -lock -); - -123 -”r - = - `Ęode_·th_cÚˇruů - ( -node --> - --> -Ęode -, & -·th -); - -124 iŕ( -”r -) - -126 - `mu‹x_uĆock - (& -Ătfs_roŮ_node --> -lock -); - -127  -”r -; - -130 -roŮ_ulfs - = -Ătfs_roŮ_node --> - --> -ulfs -; - -132 - `node_ulfs_™”©e_uĆocked - ( -node -) - -135 iŕ( -node_ulfs --> -ćags - & -FLAG_NODE_ULFS_FIXED -) - -137 -i -++; - -142 iŕ( - `pÜt_v®id - ( -node_ulfs --> -pÜt -)) - -143 - `pÜt_d—Îoc - ( -node_ulfs --> -pÜt -); - -145 -”r - = - `fže_lookup - (( -roŮ_ulfs - + -i -)-> -pÜt -, -·th -, - -146 -O_READ - | -O_NOTRANS -, O_NOTRANS, - -147 0, & -pÜt -, & -ˇ© -); - -149 iŕ( -”r -) - -151 -node_ulfs --> -pÜt - = -MACH_PORT_NULL -; - -152 -”r - = 0; - -153 -i -++; - -157 iŕ( -ˇ© -. -ˇ_šo - =đ -und”lyšg_node_ˇ© -.st_ino - -158 && -ˇ© -. -ˇ_fsid - =đ -und”lyšg_node_ˇ© -.st_fsid) - -160 -”r - = -ELOOP -; - -163 - `pÜt_d—Îoc - ( -pÜt -); - -164 -”r - = - `fže_lookup - (( -roŮ_ulfs - + -i -)-> -pÜt -, -·th -, - -165 -O_READ -, 0, 0, & -pÜt -, & -ˇ© -); - -168 iŕ( -”r -) - -170 -pÜt - = -MACH_PORT_NULL -; - -171 -”r - = 0; - -173 -node_ulfs --> -pÜt - =…ort; - -175 -i -++; - -178 - `ä“ - ( -·th -); - -179 -node --> - --> -ćags - |đ -FLAG_NODE_ULFS_UPTODATE -; - -181 - `mu‹x_uĆock - (& -Ătfs_roŮ_node --> -lock -); - -183  -”r -; - -184 - } -} - -188 -”rÜ_t - - -189 - $node_dś_»move - ( -node_t - * -dś -, * -Çme -) - -191 -”rÜ_t - -”r - = 0; - -193 - `node_ulfs_™”©e_»v”Ł_uĆocked - ( -dś -) - -195 iŕ(! - `pÜt_v®id - ( -node_ulfs --> -pÜt -)) - -198 -”r - = - `dś_rmdś - ( -node_ulfs --> -pÜt -, -Çme -); - -199 iŕ(( -”r -č&& (”¸!đ -ENOENT -)) - -203  -”r -; - -204 - } -} - -208 -”rÜ_t - - -209 - $node_dś_ü—‹ - ( -node_t - * -dś -, * -Çme -, -mode_t - -mode -) - -211 -”rÜ_t - -”r - = 0; - -213 - `node_ulfs_™”©e_uĆocked - ( -dś -) - -215 iŕ(! - `pÜt_v®id - ( -node_ulfs --> -pÜt -)) - -218 -”r - = - `dś_mkdś - ( -node_ulfs --> -pÜt -, -Çme -, -mode -); - -220 iŕ((! -”r -č|| (”¸=đ -EEXIST -č|| (”¸=đ -ENOTDIR -)) - -224  -”r -; - -225 - } -} - -229 -”rÜ_t - - -230 - $node_uĆšk_fže - ( -node_t - * -dś -, * -Çme -) - -232 -mach_pÜt_t - -p -; - -233  -ˇ© - stat; - -234 -”rÜ_t - -”r - = 0; - -235  -»moved - = 0; - -242 - `node_ulfs_™”©e_»v”Ł_uĆocked - ( -dś -) - -245 iŕ(! - `pÜt_v®id - ( -node_ulfs --> -pÜt -)) - -248 -”r - = - `fže_lookup - ( -node_ulfs --> -pÜt -, -Çme -, - -249 -O_NOTRANS -, O_NOTRANS, - -250 0, & -p -, & -ˇ© -); - -252 - `pÜt_d—Îoc - ( -p -); - -254 iŕ( -”r - =đ -ENOENT -) - -256 -”r - = 0; - -260 iŕ( -”r -) - -263 -”r - = - `dś_uĆšk - ( -node_ulfs --> -pÜt -, -Çme -); - -264 iŕ(( -”r -č&& (”¸!đ -ENOENT -)) - -267 iŕ(! -”r -) - -268 -»moved -++; - -272 iŕ((! -”r -č&& (! -»moved -)) - -273 -”r - = -ENOENT -; - -275  -”r -; - -276 - } -} - -281 -”rÜ_t - - -282 - $node_lookup_fže - ( -node_t - * -dś -, * -Çme -,  -ćags -, - -283 -fže_t - * -pÜt -,  -ˇ© - * -s -) - -285 -”rÜ_t - -”r - = -ENOENT -; - -286  -ˇ© - stat; - -287 -fže_t - -p -; - -289 - `node_ulfs_™”©e_uĆocked - ( -dś -) - -292 iŕ( -”r - !đ -ENOENT -) - -295 iŕ(! - `pÜt_v®id - ( -node_ulfs --> -pÜt -)) - -298 -”r - = - `fže_lookup - ( -node_ulfs --> -pÜt -, -Çme -, - -299 -ćags - | -O_NOTRANS -, O_NOTRANS, - -300 0, & -p -, & -ˇ© -); - -301 iŕ( -”r -) - -304 iŕ( -ˇ© -. -ˇ_šo - =đ -und”lyšg_node_ˇ© -.st_ino - -305 && -ˇ© -. -ˇ_fsid - =đ -und”lyšg_node_ˇ© -.st_fsid) - -307 -”r - = -ELOOP -; - -311 - `pÜt_d—Îoc - ( -p -); - -312 -”r - = - `fže_lookup - ( -node_ulfs --> -pÜt -, -Çme -, - -313 -ćags -, 0, 0, & -p -, & -ˇ© -); - -317 iŕ(! -”r -) - -319 * -s - = -ˇ© -; - -320 * -pÜt - = -p -; - -323  -”r -; - -324 - } -} - -329 - $node_ulfs_ä“ - ( -node_t - * -node -) - -332 - `node_ulfs_™”©e_uĆocked - ( -node -) - -334 iŕ( - `pÜt_v®id - ( -node_ulfs --> -pÜt -) - -335 && -node_ulfs --> -pÜt - !đ -und”lyšg_node -) - -336 - `pÜt_d—Îoc - ( -node_ulfs --> -pÜt -); - -339 - `ä“ - ( -node --> - --> -ulfs -); - -340 - } -} - -344 -”rÜ_t - - -345 - $node_ulfs_š™ - ( -node_t - * -node -) - -347 -node_ulfs_t - * -ulfs_Ăw -; - -348 -”rÜ_t - -”r - = 0; - -350 -ulfs_Ăw - = - `m®loc - ( -ulfs_num - *  ( -node_ulfs_t -)); - -351 iŕ(! -ulfs_Ăw -) - -353 -”r - = -ENOMEM -; - -354  -”r -; - -357 iŕ( -node --> - --> -ulfs -) - -358 - `node_ulfs_ä“ - ( -node -); - -360 -node --> - --> -ulfs - = -ulfs_Ăw -; - -361 -node --> - --> -ulfs_num - = ulfs_num; - -363 - `node_ulfs_™”©e_uĆocked - ( -node -) - -365 -node_ulfs --> -ćags - = 0; - -366 -node_ulfs --> -pÜt - = -pÜt_nuÎ -; - -369  -”r -; - -370 - } -} - -374 -”rÜ_t - - -375 - $node_’Ś›s_g‘ - ( -node_t - * -node -, -node_dś’t_t - ** -dś’ts -) - -377  -dś’t - ** -dś’t_liˇ -, **dirent; - -378 -node_dś’t_t - * -node_dś’t_liˇ - = -NULL -; - -379 -size_t - -dś’t_d©a_size -; - -380 * -dś’t_d©a -; - -381 -”rÜ_t - -”r - = 0; - -386 -”rÜ_t - - `node_dś’t_add - (* -Çme -, -šo_t - -fž’o -,  -tył -) - -388 -”rÜ_t - -e - = 0; - -389 -node_dś’t_t - * -node_dś’t -; - -390 -node_dś’t_t - * -node_dś’t_Ăw -; - -391  -dś’t - * -dś’t_Ăw -; - -392  -Çme_Ën - = - `ˇľ’ - ( -Çme -); - -393  -size - = - `DIRENT_LEN - ( -Çme_Ën -); - -396  -node_dś’t - = -node_dś’t_liˇ -; - -397 -node_dś’t - && - `ˇrcmp - (node_dś’t-> -dś’t --> -d_Çme -, -Çme -); - -398 -node_dś’t - =‚ode_dś’t-> -Ăxt -); - -400 iŕ( -node_dś’t -) - -404 -node_dś’t --> -dś’t --> -d_fž’o - = -fž’o -; - -405 -node_dś’t --> -dś’t --> -d_tył - = -tył -; - -406  -e -; - -411 -node_dś’t_Ăw - = - `m®loc - ( ( -node_dś’t_t -)); - -412 iŕ(! -node_dś’t_Ăw -) - -414 -e - = -ENOMEM -; - -415  -e -; - -418 -dś’t_Ăw - = - `m®loc - ( -size -); - -419 iŕ(! -dś’t_Ăw -) - -421 - `ä“ - ( -node_dś’t_Ăw -); - -422 -e - = -ENOMEM -; - -423  -e -; - -427 -dś’t_Ăw --> -d_fž’o - = -fž’o -; - -428 -dś’t_Ăw --> -d_tył - = -tył -; - -429 -dś’t_Ăw --> -d_»ţ’ - = -size -; - -430 - `ˇrýy - ((*č -dś’t_Ăw - + -DIRENT_NAME_OFFS -, -Çme -); - -433 -node_dś’t_Ăw --> -dś’t - = -dś’t_Ăw -; - -434 -node_dś’t_Ăw --> -Ăxt - = -node_dś’t_liˇ -; - -435 -node_dś’t_liˇ - = -node_dś’t_Ăw -; - -437  -e -; - -440 - `node_ulfs_™”©e_uĆocked -( -node -) - -442 iŕ(! - `pÜt_v®id - ( -node_ulfs --> -pÜt -)) - -445 -”r - = - `dś_’Ś›s_g‘ - ( -node_ulfs --> -pÜt -, & -dś’t_d©a -, - -446 & -dś’t_d©a_size -, & -dś’t_liˇ -); - -447 iŕ( -”r -) - -450  -dś’t - = -dś’t_liˇ -; (! -”r -) && *dirent; dirent++) - -451 iŕ( - `ˇrcmp - ((* -dś’t -)-> -d_Çme -, ".") - -452 && - `ˇrcmp - ((* -dś’t -)-> -d_Çme -, "..")) - -453 -”r - = - `node_dś’t_add - ((* -dś’t -)-> -d_Çme -, - -454 (* -dś’t -)-> -d_fž’o -, - -455 (* -dś’t -)-> -d_tył -); - -457 - `ä“ - ( -dś’t_liˇ -); - -458 - `munm­ - ( -dś’t_d©a -, -dś’t_d©a_size -); - -461 iŕ( -”r -) - -462 - `node_’Ś›s_ä“ - ( -node_dś’t_liˇ -); - -464 * -dś’ts - = -node_dś’t_liˇ -; - -466  -”r -; - -467 - } -} - -471 - $node_’Ś›s_ä“ - ( -node_dś’t_t - * -dś’ts -) - -473 -node_dś’t_t - * -dś’t -, * -dś’t_Ăxt -; - -475  -dś’t - = -dś’ts -; dś’t; dś’đ -dś’t_Ăxt -) - -477 -dś’t_Ăxt - = -dś’t --> -Ăxt -; - -478 - `ä“ - ( -dś’t -->dirent); - -479 - `ä“ - ( -dś’t -); - -481 - } -} - -485 -”rÜ_t - - -486 - $node_ü—‹_roŮ - ( -node_t - ** -roŮ_node -) - -488 -Ęode_t - * -Ęode -; - -489 -node_t - * -node -; - -490 -”rÜ_t - -”r - = 0; - -492 -”r - = - `Ęode_ü—‹ - ( -NULL -, & -Ęode -); - -493 iŕ( -”r -) - -494  -”r -; - -496 -”r - = - `node_ü—‹ - ( -Ęode -, & -node -); - -497 iŕ( -”r -) - -499 - `Ęode_deˇroy - ( -Ęode -); - -500  -”r -; - -503 - `mu‹x_uĆock - (& -Ęode --> -lock -); - -504 * -roŮ_node - = -node -; - -505  -”r -; - -506 - } -} - -511 -”rÜ_t - - -512 - $node_š™_roŮ - ( -node_t - * -node -) - -514 -”rÜ_t - -”r -; - -515 -ulfs_t - * -ulfs -; - -516  -i - = 0; - -518 - `mu‹x_lock - (& -ulfs_lock -); - -520 -”r - = - `node_ulfs_š™ - ( -node -); - -521 iŕ( -”r -) - -523 - `mu‹x_uĆock - (& -ulfs_lock -); - -524  -”r -; - -527 - `node_ulfs_™”©e_uĆocked - ( -node -) - -530 iŕ( -”r -) - -533 -”r - = - `ulfs_g‘_num - ( -i -, & -ulfs -); - -534 iŕ( -”r -) - -537 iŕ( -ulfs --> -·th -) - -538 -node_ulfs --> -pÜt - = - `fže_Çme_lookup - ( -ulfs --> -·th -, - -539 -O_READ - | -O_DIRECTORY -, 0); - -541 -node_ulfs --> -pÜt - = -und”lyšg_node -; - -543 iŕ(! - `pÜt_v®id - ( -node_ulfs --> -pÜt -)) - -545 -”r - = -”şo -; - -549 -node_ulfs --> -ćags - |đ -FLAG_NODE_ULFS_FIXED -; - -550 -i -++; - -553 - `mu‹x_uĆock - (& -ulfs_lock -); - -554  -”r -; - -555 - } -} - - @node.h - -22 #iâdeŕ -INCLUDED_NODE_H - - -23  - #INCLUDED_NODE_H - - - ) - -25  - ~<”rÜ.h -> - -26  - ~ - -27  - ~ - -29  -node - - tnode_t -; - -31  - ~"Ęode.h -" - -34  - snode_ulfs - - -36  - mćags -; - -38 -fže_t - - mpÜt -; - -41  -node_ulfs - - tnode_ulfs_t -; - -46  - #FLAG_NODE_ULFS_FIXED - 0x00000001 - - ) - -48  - sĂŠode - - -50 -Ęode_t - * - mĘode -; - -52  - mćags -; - -53 -node_ulfs_t - * - mulfs -; - -55  - mulfs_num -; - -56 -node_t - * - mn˙che_Ăxt -; - -57 -node_t - * - mn˙che_´ev -; - -59  -ĂŠode - - tĂŠode_t -; - -62  - #FLAG_NODE_INVALIDATE - 0x00000001 - - ) - -63  - #FLAG_NODE_ULFS_UPTODATE - 0x00000002 - - ) - -65  - snode_dś’t - - -67  -dś’t - * - mdś’t -; - -68  -node_dś’t - * - mĂxt -; - -69 } - tnode_dś’t_t -; - -73 -”rÜ_t - -node_ü—‹ - ( -Ęode_t - * -Ęode -, -node_t - ** -node -); - -77  -node_deˇroy - ( -node_t - * -node -); - -81 -”rÜ_t - -node_upd©e - ( -node_t - * -node -); - -85 -”rÜ_t - -node_dś_ü—‹ - ( -node_t - * -dś -, * -Çme -, -mode_t - -mode -); - -89 -”rÜ_t - -node_dś_»move - ( -node_t - * -dś -, * -Çme -); - -93 -”rÜ_t - -node_uĆšk_fže - ( -node_t - * -dś -, * -Çme -); - -98 -”rÜ_t - -node_lookup_fže - ( -node_t - * -dś -, * -Çme -,  -ćags -, - -99 -fže_t - * -pÜt -,  -ˇ© - *stat); - -103 -”rÜ_t - -node_ulfs_š™ - ( -node_t - * -node -); - -107 -”rÜ_t - -node_’Ś›s_g‘ - ( -node_t - * -node -, -node_dś’t_t - ** -dś’ts -); - -110  -node_’Ś›s_ä“ - ( -node_dś’t_t - * -dś’ts -); - -114 -”rÜ_t - -node_ü—‹_roŮ - ( -node_t - ** -roŮ_node -); - -118 -”rÜ_t - -node_š™_roŮ - ( -node_t - * -node -); - -121  - #node_is_roŮ -( -node -čŇode)-> - --> -Ęode --> -dś - ? 0 : 1 - - ) - -125  - #node_ulfs_™”©e_uĆocked -( -node -) \ - -126  -node_ulfs_t - * -node_ulfs - = ( -node -)-> - --> -ulfs -; \ - -127 -node_ulfs - < ( -node -)-> - --> -ulfs - + (node)->Â-> -ulfs_num -; \ - -128 -node_ulfs -++) - - ) - -130  - #node_ulfs_™”©e_»v”Ł_uĆocked -( -node -) \ - -131  -node_ulfs_t - * -node_ulfs - = ( -node -)-> - --> -ulfs - + (node)->Â-> -ulfs_num - - 1;\ - -132 -node_ulfs - >đ( -node -)-> - --> -ulfs -; \ - -133 -node_ulfs ---) - - ) - - @options.c - -22  - #_GNU_SOURCE - - - ) - -24  - ~<¬gp.h -> - -25  - ~<”rÜ.h -> - -27  - ~"ÝtiÚs.h -" - -28  - ~"ulfs.h -" - -29  - ~"n˙che.h -" - -30  - ~"uniÚfs.h -" - -31  - ~"node.h -" - -32  - ~"v”siÚ.h -" - -33  - ~"·‰”n.h -" - -34  - ~"ˇow.h -" - -35  - ~"upd©e.h -" - -41  - g·rsšg_ˇ¬tup_ÝtiÚs_fšished -; - -44 cÚˇ  -¬gp_ÝtiÚ - - g¬gp_commÚ_ÝtiÚs -[] = - -46 { -OPT_LONG_UNDERLYING -, -OPT_UNDERLYING -, 0, 0, - -48 { -OPT_LONG_WRITABLE -, -OPT_WRITABLE -, 0, 0, - -50 { -OPT_LONG_DEBUG -, -OPT_DEBUG -, 0, -OPTION_HIDDEN -, - -52 { -OPT_LONG_CACHE_SIZE -, -OPT_CACHE_SIZE -, "SIZE", 0, - -55 { -OPT_LONG_STOW -, -OPT_STOW -, "STOWDIR", 0, - -57 { -OPT_LONG_PRIORITY -, -OPT_PRIORITY -, "VALUE", 0, - -59 { -OPT_LONG_PATTERN -, -OPT_PATTERN -, "PATTERN", 0, - -61 { -OPT_LONG_REMOVE -, -OPT_REMOVE -, 0, 0, - -63 { -OPT_LONG_ADD -, -OPT_ADD -, 0, 0, - -69 cÚˇ  -¬gp_ÝtiÚ - - g¬gp_ˇ¬tup_ÝtiÚs -[] = - -75  -”rÜ_t - - -76 - $¬gp_·rŁ_commÚ_ÝtiÚs - ( -key -, * -¬g -,  -¬gp_ˇ©e - * -ˇ©e -) - -78  -ulfs_ćags - = 0, -ulfs_mode - = 0, -ulfs_modif›d - = 0, - -79 -ulfs_m©ch - = 0, -ulfs_´iÜ™y - = 0; - -80  -·‰”Ćiˇ - -ulfs_·‰”Ćiˇ - = - -82 . -lock - = -MUTEX_INITIALIZER -, - -83 . -h—d - = -NULL - - -85 -”rÜ_t - -”r - = 0; - -87  -key -) - -89  -OPT_WRITABLE -: - -90 -ulfs_ćags - |đ -FLAG_ULFS_WRITABLE -; - -93  -OPT_PRIORITY -: - -94 -ulfs_´iÜ™y - = - `ˇąŢ - ( -¬g -, -NULL -, 10); - -97  -OPT_DEBUG -: - -98 -uniÚfs_ćags - |đ -FLAG_UNIONFS_MODE_DEBUG -; - -101  -OPT_CACHE_SIZE -: - -102 -n˙che_size - = - `ˇąŢ - ( -¬g -, -NULL -, 10); - -105  -OPT_ADD -: - -106 -ulfs_mode - = -ULFS_MODE_ADD -; - -109  -OPT_REMOVE -: - -110 -ulfs_mode - = -ULFS_MODE_REMOVE -; - -113  -OPT_PATTERN -: - -114 -ulfs_m©ch - = 1; - -115 - `·‰”Ćiˇ_add - (& -ulfs_·‰”Ćiˇ -, -¬g -); - -118  -OPT_STOW -: - -119 -”r - = - `ˇow_dśadd - ( -¬g -, -ulfs_ćags -, & -ulfs_·‰”Ćiˇ -, -ulfs_´iÜ™y -); - -120 iŕ( -”r -) - -121 - `”rÜ - ( -EXIT_FAILURE -, -”r -, "stow_diradd"); - -122 -ulfs_modif›d - = 1; - -123 -ulfs_ćags - = -ulfs_mode - = -ulfs_´iÜ™y - = 0; - -124 -ulfs_m©ch - = 0; - -127  -OPT_UNDERLYING -: - -128  -ARGP_KEY_ARG -: - -130 iŕ( -ulfs_mode - =đ -ULFS_MODE_REMOVE -) - -132 -”r - = - `ulfs_uÄegiˇ” - ( -¬g -); - -133 iŕ( -”r - =đ -ENOENT -) - -136 -”r - = 0; - -139 -”r - = - `ulfs_»giˇ” - ( -¬g -, -ulfs_ćags -, -ulfs_´iÜ™y -); - -140 iŕ( -”r -) - -141 - `”rÜ - ( -EXIT_FAILURE -, -”r -, "ulfs_register"); - -142 -ulfs_modif›d - = 1; - -143 -ulfs_ćags - = -ulfs_mode - = -ulfs_´iÜ™y - = 0; - -144 -ulfs_m©ch - = 0; - -147  -ARGP_KEY_END -: - -148 -ulfs_ćags - = -ulfs_mode - = 0; - -149 iŕ( -ulfs_modif›d - && -·rsšg_ˇ¬tup_ÝtiÚs_fšished -) - -151 - `roŮ_upd©e_scheduË - (); - -155 - `n˙che_»Łt - (); - -157 -ulfs_modif›d - = 0; - -159 iŕ(! -·rsšg_ˇ¬tup_ÝtiÚs_fšished -) - -160 -·rsšg_ˇ¬tup_ÝtiÚs_fšished - = 1; - -164 -”r - = -ARGP_ERR_UNKNOWN -; - -168  -”r -; - -169 - } -} - -172  -”rÜ_t - - -173 - $¬gp_·rŁ_ˇ¬tup_ÝtiÚs - ( -key -, * -¬g -,  -¬gp_ˇ©e - * -ˇ©e -) - -175 -”rÜ_t - -”r - = 0; - -177  -key -) - -180 -”r - = -ARGP_ERR_UNKNOWN -; - -184  -”r -; - -185 - } -} - -188 cÚˇ  -¬gp - - g¬gp_·rŁr_commÚ_ÝtiÚs - = - -189 { -¬gp_commÚ_ÝtiÚs -, -¬gp_·rŁ_commÚ_ÝtiÚs -, 0, 0, 0 }; - -192  -¬gp - - g¬gp_·rŁr_ˇ¬tup_ÝtiÚs - = - -193 { -¬gp_ˇ¬tup_ÝtiÚs -, -¬gp_·rŁ_ˇ¬tup_ÝtiÚs -, 0, 0, 0 }; - -196 cÚˇ  -¬gp_chžd - - g¬gp_chžd»n_ruÁime -[] = - -198 { & -¬gp_·rŁr_commÚ_ÝtiÚs - }, - -199 { & -Ătfs_ˇd_ruÁime_¬gp - }, - -204 cÚˇ  -¬gp_chžd - - g¬gp_chžd»n_ˇ¬tup -[] = - -206 { & -¬gp_·rŁr_ˇ¬tup_ÝtiÚs - }, - -207 { & -¬gp_·rŁr_commÚ_ÝtiÚs - }, - -208 { & -Ătfs_ˇd_ˇ¬tup_¬gp - }, - -212 cÚˇ * - g¬gp_´ogżm_v”siÚ - = -STANDARD_HURD_VERSION - ( -uniÚfs -); - -213 cÚˇ * - g¬gp_´ogżm_bug_add»ss - = - -216  - #ARGS_DOC - "FILESYSTEMS ..." - - ) - -217  - #DOC - "Hurd uniÚf Łrv”" - - ) - -220  -¬gp - - g¬gp_ruÁime - = - -221 { 0, 0, 0, 0, -¬gp_chžd»n_ruÁime - }; - -224  -¬gp - - g¬gp_ˇ¬tup - = - -225 { 0, 0, -ARGS_DOC -, -DOC -, -¬gp_chžd»n_ˇ¬tup - }; - - @options.h - -23  - #OPT_UNDERLYING - 'u' - - ) - -24  - #OPT_WRITABLE - 'w' - - ) - -25  - #OPT_DEBUG - 'd' - - ) - -26  - #OPT_CACHE_SIZE - 'c' - - ) - -27  - #OPT_REMOVE - 'r' - - ) - -28  - #OPT_ADD - 'a' - - ) - -29  - #OPT_PATTERN - 'm' - - ) - -30  - #OPT_PRIORITY - 'p' - - ) - -31  - #OPT_STOW - 's' - - ) - -34  - #OPT_LONG_UNDERLYING - "und”lyšg" - - ) - -35  - #OPT_LONG_WRITABLE - "wr™abË" - - ) - -36  - #OPT_LONG_DEBUG - "debug" - - ) - -37  - #OPT_LONG_CACHE_SIZE - "˙che-size" - - ) - -38  - #OPT_LONG_REMOVE - "»move" - - ) - -39  - #OPT_LONG_ADD - "add" - - ) - -40  - #OPT_LONG_PATTERN - "m©ch" - - ) - -41  - #OPT_LONG_PRIORITY - "´iÜ™y" - - ) - -42  - #OPT_LONG_STOW - "ˇow" - - ) - -44  - #OPT_LONG -( -o -č"--" - ) -o - -47  -¬gp - -¬gp_ˇ¬tup -; - -50  -¬gp - -¬gp_ruÁime -; - -52  - #ULFS_MODE_ADD - 0 - - ) - -53  - #ULFS_MODE_REMOVE - 1 - - ) - - @pattern.c - -22  - #_GNU_SOURCE - - - ) - -24  - ~ - -25  - ~<ˇdlib.h -> - -26  - ~<âm©ch.h -> - -27  - ~<”şo.h -> - -29  - ~"·‰”n.h -" - -32 -”rÜ_t - - -33 - $·‰”Ćiˇ_add - ( -·‰”Ćiˇ - * -liˇ -, * -·‰”n -) - -35 -”rÜ_t - -”r - = 0; - -36  -·‰”n - * -liˇ’Śy -; - -37 * -dup -; - -39 iŕ( -·‰”n - =đ -NULL -) - -40 -”r - = -EINVAL -; - -42 iŕ( -”r -) - -43  -”r -; - -45 -dup - = - `ˇrdup - ( -·‰”n -); - -46 iŕ( -dup - =đ -NULL -) - -47 -”r - = -ENOMEM -; - -49 iŕ( -”r -) - -50  -”r -; - -52 -liˇ’Śy - = - `m®loc - ( ( -·‰”n -)); - -53 iŕ( -liˇ’Śy - =đ -NULL -) - -54 -”r - = -ENOMEM -; - -56 iŕ( -”r -) - -57  -”r -; - -59 -liˇ’Śy --> -·‰”n - = -dup -; - -61 - `mu‹x_lock - (& ( -liˇ --> -lock -)); - -62 iŕ( -liˇ --> -h—d - =đ -NULL -) - -64 -liˇ --> -h—d - = -liˇ’Śy -; - -65 -liˇ’Śy --> -Ăxt - = -NULL -; - -69 -liˇ’Śy --> -Ăxt - = -liˇ --> -h—d -; - -70 -liˇ --> -h—d - = -liˇ’Śy -; - -72 - `mu‹x_uĆock - (& ( -liˇ --> -lock -)); - -74  -”r -; - -75 - } -} - -80 - $·‰”Ćiˇ_m©ch - ( -·‰”Ćiˇ - * -liˇ -, * -ˇršg -) - -82  -·‰”n - * -±r -; - -83 -”rÜ_t - -”r - = ~0; - -85 -±r - = -liˇ --> -h—d -; - -87 - `mu‹x_lock - (& -liˇ --> -lock -); - -88  -±r - !đ -NULL -) - -90 -”r - = - `âm©ch - ( -±r --> -·‰”n -, -ˇršg -, -FNM_FILE_NAME -); - -92 iŕ(! -”r -) - -95 -±r - =…Ś-> -Ăxt -; - -97 - `mu‹x_uĆock - (& -liˇ --> -lock -); - -99  -”r -; - -100 - } -} - -104 - $·‰”Ćiˇ_deˇroy - ( -·‰”Ćiˇ - * -liˇ -) - -106  -·‰”n - * -Ăxt -, * -±r - = -liˇ --> -h—d -; - -108 - `mu‹x_lock - (& ( -liˇ --> -lock -)); - -109  -±r - !đ -NULL -) - -111 -Ăxt - = -±r -->next; - -113 - `ä“ - ( -±r -); - -115 -±r - = -Ăxt -; - -117 - `mu‹x_uĆock - (& ( -liˇ --> -lock -)); - -118 - } -} - -122 - $·‰”Ćiˇ_iŁm±y - ( -·‰”Ćiˇ - * -liˇ -) - -124  -»t -; - -126 - `mu‹x_lock - (& ( -liˇ --> -lock -)); - -127 -»t - = ( -liˇ --> -h—d - =đ -NULL -); - -128 - `mu‹x_uĆock - (& ( -liˇ --> -lock -)); - -130  -»t -; - -131 - } -} - - @pattern.h - -22 #iâdeŕ -_PATTERN_H - - -23  - #_PATTERN_H - - - ) - -25  - ~ - -27  - s·‰”n - - -29 * - m·‰”n -; - -31  -·‰”n - * - mĂxt -; - -34  - s·‰”Ćiˇ - - -36  -mu‹x - - mlock -; - -37  -·‰”n - * - mh—d -; - -41 -”rÜ_t - -·‰”Ćiˇ_add - ( -·‰”Ćiˇ - * -liˇ -, * -·‰”n -); - -45  -·‰”Ćiˇ_m©ch - ( -·‰”Ćiˇ - * -liˇ -, * -ˇršg -); - -48  -·‰”Ćiˇ_deˇroy - ( -·‰”Ćiˇ - * -liˇ -); - -51  -·‰”Ćiˇ_iŁm±y - ( -·‰”Ćiˇ - * -liˇ -); - - @stow-mutations.h - -23  - #FS_NOTIFY_INTRAN - -ˇow_nŮify_t - - `begš_usšg_nŮify_pÜt - ( -fs_nŮify_t -) - - ) - -24  - #FS_NOTIFY_DESTRUCTOR - - `’d_usšg_nŮify_pÜt - ( -ˇow_nŮify_t -) - - ) - -26  - #FS_NOTIFY_IMPORTS - -impÜt - "ˇow-´iv.h"; - - ) - - @stow-priv.h - -20 #iâdeŕ -__STOW_PRIVDATA_H__ - - -21  - #__STOW_PRIVDATA_H__ - - - ) - -23  - ~ - -25  - sˇow_nŮify - - -27  -pÜt_šfo - - mpi -; - -29 * - mdś_Çme -; - -30  -ˇow_´ivd©a - * - m´iv -; - -32  -ˇow_nŮify - * - tˇow_nŮify_t -; - -37 -ˇow_nŮify_t - -begš_usšg_nŮify_pÜt - ( -fs_nŮify_t - -pÜt -); - -43  -’d_usšg_nŮify_pÜt - ( -ˇow_nŮify_t - -üed -); - - @stow.c - -23  - #_GNU_SOURCE - - - ) - -25  - ~<¬gp.h -> - -26  - ~<”rÜ.h -> - -28  - ~"ulfs.h -" - -29  - ~"lib.h -" - -30  - ~"·‰”n.h -" - -31  - ~"upd©e.h -" - -33  - sˇow_´ivd©a - - -35  -·‰”Ćiˇ - * - m·‰”Ćiˇ -; - -36  - mćags -; - -37  - m´iÜ™y -; - -38  -mu‹x - - mlock -; - -41  -”rÜ_t - - -42 - $_ˇow_»giˇ”m©chšgdśs - (* -¬g -, * -dś·th -, * -´iv -) - -44 -”rÜ_t - -”r - = 0; - -45 * -fž•©h -; - -47  -ˇow_´ivd©a - * -´ivd©a - = (ˇow_´ivd©¨*č -´iv - ; - -49 -”r - = - `·‰”Ćiˇ_m©ch - ( -´ivd©a --> -·‰”Ćiˇ -, -¬g -); - -50 iŕ( -”r -) - -53 -fž•©h - = - `make_fž•©h - ( -dś·th -, -¬g -); - -55 -”r - = - `ulfs_»giˇ” - ( -fž•©h -, -´ivd©a --> -ćags -,…rivd©a-> -´iÜ™y -); - -57 - `ä“ - ( -fž•©h -); - -59 iŕ( -”r -) - -60  -”r -; - -63 - } -} - -65  -”rÜ_t - - -66 - $_ˇow_s˙nˇow’Śy - (* -¬g -, * -dś·th -, * -´iv -) - -68 * -fž•©h - = -dś·th -; - -69 -”rÜ_t - -”r -; - -71  -ˇow_´ivd©a - * -´ivd©a - = (ˇow_´ivd©¨*č -´iv - ; - -73 iŕ( -dś·th -) - -75 * -tmp -; - -76 -tmp - = - `make_fž•©h - ( -dś·th -, -¬g -); - -77 -fž•©h - = - `make_fž•©h - ( -tmp -, "/"); - -78 - `ä“ - ( -tmp -); - -81 - `mu‹x_lock - (& -´ivd©a --> -lock -); - -83 iŕ( - `·‰”Ćiˇ_iŁm±y - ( -´ivd©a --> -·‰”Ćiˇ -)) - -86 -”r - = - `ulfs_»giˇ” - ( -fž•©h -, -´ivd©a --> -ćags -,…rivd©a-> -´iÜ™y -); - -87 iŕ( -”r -) - -89 - `mu‹x_uĆock - (& -´ivd©a --> -lock -); - -90  -”r -; - -96 -”r - = - `fÜ_—ch_subdś_´iv - ( -fž•©h -, -_ˇow_»giˇ”m©chšgdśs -, -´iv -); - -97 iŕ( -”r -) - -99 - `mu‹x_uĆock - (& -´ivd©a --> -lock -); - -100 - `ä“ - ( -fž•©h -); - -101  -”r -; - -105 - `ä“ - ( -fž•©h -); - -106 - `mu‹x_uĆock - (& -´ivd©a --> -lock -); - -107  -”r -; - -108 - } -} - -113  - ~<ůh»ads.h -> - -114  - ~ - -116  - ~"ˇow-´iv.h -" - -117  - ~"n˙che.h -" - -119  -pÜt_buck‘ - * - gˇow_pÜt_buck‘ -; - -120  -pÜt_ţass - * - gˇow_pÜt_ţass -; - -122  -”rÜ_t - - -123 - $_ˇow_nŮify_š™ -(* -dś_Çme -, * -´iv -) - -125 -”rÜ_t - -”r -; - -126 -fže_t - -dś_pÜt -; - -127 -mach_pÜt_t - -nŮify_pÜt -; - -128 -ˇow_nŮify_t - -ˇow_nŮify_pÜt -; - -130 -”r - = - `pÜts_ü—‹_pÜt - ( -ˇow_pÜt_ţass -, -ˇow_pÜt_buck‘ -, - -131  (* -ˇow_nŮify_pÜt -), - -132 & -ˇow_nŮify_pÜt -); - -133 iŕ( -”r -) - -134  -”r -; - -136 -ˇow_nŮify_pÜt --> -dś_Çme - = dir_name; - -137 -ˇow_nŮify_pÜt --> -´iv - =…riv; - -139 -dś_pÜt - = - `fže_Çme_lookup - ( -dś_Çme -, 0, 0); - -141 iŕ(! - `pÜt_v®id - ( -dś_pÜt -)) - -142  -ENOENT -; - -145 -nŮify_pÜt - = - `pÜts_g‘_right - ( -ˇow_nŮify_pÜt -); - -147 iŕ(! - `pÜt_v®id - ( -nŮify_pÜt -)) - -149 - `pÜt_d—Îoc - ( -dś_pÜt -); - -150  -EACCES -; - -153 -”r - = - `dś_nŮiű_chŞges - ( -dś_pÜt -, -nŮify_pÜt -, - -154 -MACH_MSG_TYPE_MAKE_SEND -); - -155 iŕ( -”r -) - -157 - `pÜt_d—Îoc - ( -dś_pÜt -); - -158 - `pÜt_d—Îoc - ( -nŮify_pÜt -); - -159  -”r -; - -162  -”r -; - -163 - } -} - -167 -ˇow_nŮify_t - - -168 - $begš_usšg_nŮify_pÜt - ( -fs_nŮify_t - -pÜt -) - -170  - `pÜts_lookup_pÜt - ( -ˇow_pÜt_buck‘ -, -pÜt -, -ˇow_pÜt_ţass -); - -171 - } -} - -177 - $’d_usšg_nŮify_pÜt - ( -ˇow_nŮify_t - -üed -) - -179 iŕ( -üed -) - -180 - `pÜts_pÜt_d”ef - ( -üed -); - -181 - } -} - -184 -k”n_»tuş_t - - -185 - $ˇow_S_fže_chŞged - ( -ˇow_nŮify_t - -nŮify -, -Çtużl_t - -tickno -, - -186 -fže_chŞged_tył_t - -chŞge -, -loff_t - -ˇ¬t -, - -187 -loff_t - -’d -) - -189  -EOPNOTSUPP -; - -190 - } -} - -193 -k”n_»tuş_t - - -194 - $ˇow_S_dś_chŞged - ( -ˇow_nŮify_t - -nŮify -, -Çtużl_t - -tickno -, - -195 -dś_chŞged_tył_t - -chŞge -, -ˇršg_t - -Çme -) - -197 -”rÜ_t - -”r -; - -199 iŕ(! -nŮify - || !nŮify-> -dś_Çme - || !nŮify-> -´iv -) - -200  -EOPNOTSUPP -; - -202  -chŞge -) - -204  -DIR_CHANGED_NULL -: - -206  -DIR_CHANGED_NEW -: - -207 - `roŮ_upd©e_di§bË - (); - -209 -”r - = - `_ˇow_s˙nˇow’Śy - ( -Çme -, -nŮify --> -dś_Çme -,‚Ůify-> -´iv -); - -210 iŕ( -”r -) - -211 - `debug_msg_Łnd - ("s˙nˇow’Śy: %s\n", - `ˇ»ĽÜ - ( -”r -)); - -213 - `roŮ_upd©e_scheduË - (); - -214 - `roŮ_upd©e_’abË - (); - -217  -DIR_CHANGED_UNLINK -: - -218 - `roŮ_upd©e_scheduË - (); - -222 - `debug_msg_Łnd - ("unsupported dir change‚otify"); - -223  -EINVAL -; - -227 - } -} - -231 - $_ˇow_nŮify_th»ad -() - -233  - `ˇow_demux” - ( -mach_msg_h—d”_t - * -šp -, mach_msg_h—d”_* -ouŤ -) - -235  - `ˇow_fs_nŮify_Łrv” - ( -mach_msg_h—d”_t - * -šp -, - -236 -mach_msg_h—d”_t - * -ouŤ -); - -238  ( - `ˇow_fs_nŮify_Łrv” - ( -šp -, -ouŤ -)); - -243 - `pÜts_mŞage_pÜt_Ý”©iÚs_muÉ™h»ad - ( -ˇow_pÜt_buck‘ -, - -244 -ˇow_demux” -, - -250 - } -} - -256 -”rÜ_t - - -257 - $ˇow_dśadd - (* -dś -,  -ćags -,  -·‰”Ćiˇ - *patternlist, - -258  -´iÜ™y -) - -261 -”rÜ_t - -”r -; - -262  -ˇow_´ivd©a - * -my´iv -; - -263  -dś_Ën -; - -265 -dś_Ën - = - `ˇľ’ -( -dś -); - -266 iŕ( -dś_Ën - == 0) - -268  -EOPNOTSUPP -; - -271 iŕ( -dś -[ -dś_Ën - - 1 ] != '/') - -273 * -tmp -; - -275 -tmp - = (*č - `m®loc - ( -dś_Ën - + 1); - -277 iŕ( -tmp - =đ -NULL -) - -278  -ENOMEM -; - -280 - `ˇşýy - ( -tmp -, -dś -, -dś_Ën -); - -282 -tmp -[ -dś_Ën -] = '/'; - -284 -dś - = -tmp -; - -287 -my´iv - = - `m®loc - ( ( -ˇow_´ivd©a -)); - -288 iŕ(! -my´iv -) - -290 - `ä“ - ( -dś -); - -291  -ENOMEM -; - -294 -my´iv --> -·‰”Ćiˇ - =…atternlist; - -295 -my´iv --> -ćags - = flags; - -296 -my´iv --> -´iÜ™y - =…riority; - -297 - `mu‹x_š™ - (& -my´iv --> -lock -); - -299 -”r - = - `fÜ_—ch_subdś_´iv - ( -dś -, -_ˇow_s˙nˇow’Śy -, (*) -my´iv -); - -300 iŕ( -”r -) - -303  -”r -; - -306 -”r - = - `_ˇow_nŮify_š™ - ( -dś -, -my´iv -); - -307 - `asŁą - (! -”r -); - -309  -”r -; - -310 - } -} - -312 -”rÜ_t - - -313 - $ˇow_š™ - () - -315 -”rÜ_t - -”r - = 0; - -317 -ˇow_pÜt_buck‘ - = - `pÜts_ü—‹_buck‘ - (); - -318 iŕ(! -ˇow_pÜt_buck‘ -) - -319  -”şo -; - -321 -ˇow_pÜt_ţass - = - `pÜts_ü—‹_ţass - ( -NULL -, NULL); - -322 iŕ(! -ˇow_pÜt_ţass -) - -323  -”şo -; - -325 - `ůh»ad_d‘ach - ( - `ůh»ad_fÜk - ( ( -ůh»ad_â_t -) -_ˇow_nŮify_th»ad -, 0)); - -327  -”r -; - -328 - } -} - - @stow.h - -22 #iâdeŕ -_STOW_H - - -23  - #_STOW_H - - - ) - -25  - ~"·‰”n.h -" - -27 -”rÜ_t - -ˇow_š™ - (); - -28 -”rÜ_t - -ˇow_dśadd - (*, ,  -·‰”Ćiˇ - *, ); - - @ulfs.c - -22  - #_GNU_SOURCE - - - ) - -24  - ~ - -25  - ~<ˇdlib.h -> - -26  - ~<”rÜ.h -> - -27  - ~<ˇršg.h -> - -29  - ~"uniÚfs.h -" - -30  - ~ - -32  - ~"lib.h -" - -33  - ~"ulfs.h -" - -36 -ulfs_t - * - gulfs_chaš_ˇ¬t -; - -40 -ulfs_t - * - gulfs_chaš_’d -; - -43  - gulfs_num -; - -46  -mu‹x - - gulfs_lock - = -MUTEX_INITIALIZER -; - -49  -”rÜ_t - - -50 - $ulfs_ü—‹ - (* -·th -, -ulfs_t - ** -ulfs -) - -52 -ulfs_t - * -ulfs_Ăw - = - `m®loc - ( (ulfs_t)); - -53 -”rÜ_t - -”r - = 0; - -55 iŕ(! -ulfs_Ăw -) - -56 -”r - = -ENOMEM -; - -59 * -·th_ý - = -·th - ? - `ˇrdup - (·thč: -NULL -; - -61 iŕ( -·th - && (! -·th_ý -)) - -63 -”r - = -ENOMEM -; - -64 - `ä“ - ( -ulfs_Ăw -); - -68 -ulfs_Ăw --> -·th - = -·th_ý -; - -69 -ulfs_Ăw --> -ćags - = 0; - -70 -ulfs_Ăw --> -Ăxt - = -NULL -; - -71 -ulfs_Ăw --> -´ev - = -NULL -; - -72 * -ulfs - = -ulfs_Ăw -; - -75  -”r -; - -76 - } -} - -80 - $ulfs_deˇroy - ( -ulfs_t - * -ulfs -) - -82 - `ä“ - ( -ulfs --> -·th -); - -83 - `ä“ - ( -ulfs -); - -84 - } -} - -89 - $ulfs_šˇ®l - ( -ulfs_t - * -ulfs -) - -91 -ulfs_t - * -u - = -ulfs_chaš_ˇ¬t -; - -92  -šŁą_©_’d - = 0; - -93 iŕ( -ulfs_num - == 0) - -95 -ulfs_chaš_ˇ¬t - = -ulfs -; - -100  -u --> -´iÜ™y - > -ulfs -->priority) - -102 iŕ( -u --> -Ăxt - =đ -NULL -) - -104 -šŁą_©_’d - = 1; - -107 -u - = u-> -Ăxt -; - -110 iŕ( -šŁą_©_’d -) - -112 -u --> -Ăxt - = -ulfs -; - -113 -ulfs --> -´ev - = -u -; - -117 iŕ( -u - =đ -ulfs_chaš_ˇ¬t -) - -119 -ulfs_chaš_ˇ¬t - = -ulfs -; - -120 -ulfs --> -Ăxt - = -u -; - -121 -ulfs --> -´ev - = -NULL -; - -122 -u --> -´ev - = -ulfs -; - -126 -ulfs --> -Ăxt - = -u -; - -127 -ulfs --> -´ev - = -u -->prev; - -128 -u --> -´ev --> -Ăxt - = -ulfs -; - -129 -u --> -´ev - = -ulfs -; - -134 - } -} - -138 - $ulfs_unšˇ®l - ( -ulfs_t - * -ulfs -) - -140 iŕ( -ulfs - =đ -ulfs_chaš_ˇ¬t -) - -141 -ulfs_chaš_ˇ¬t - = -ulfs --> -Ăxt -; - -143 iŕ( -ulfs --> -Ăxt -) - -144 -ulfs --> -Ăxt --> -´ev - = ulfs->prev; - -146 iŕ( -ulfs --> -´ev -) - -147 -ulfs --> -´ev --> -Ăxt - = ulfs->next; - -148 - } -} - -151 -”rÜ_t - - -152 - $ulfs_g‘_num - ( -num -, -ulfs_t - ** -ulfs -) - -154 -”rÜ_t - -”r - = -EINVAL -; - -155 -ulfs_t - * -u -; - -156  -i -; - -158  -u - = -ulfs_chaš_ˇ¬t -, -i - = 0; - -159 -u - && -i - < -num -; - -160 -u - = u-> -Ăxt -, -i -++); - -161 iŕ( -u -) - -163 -”r - = 0; - -164 * -ulfs - = -u -; - -167  -”r -; - -168 - } -} - -171  -”rÜ_t - - -172 - $ulfs_g‘_·th - (* -·th -, -ulfs_t - ** -ulfs -) - -174 -”rÜ_t - -”r - = -ENOENT -; - -175 -ulfs_t - * -u -; - -177  -u - = -ulfs_chaš_ˇ¬t -; - -178 -u - && (! (((! -·th -) &&…ath == u->path) - -179 || ( -·th - && -u -->·th && (! - `ˇrcmp - (path, u->path))))); - -180 -u - = u-> -Ăxt -); - -181 iŕ( -u -) - -183 -”r - = 0; - -184 * -ulfs - = -u -; - -186  -”r -; - -187 - } -} - -189 -”rÜ_t - - -190 -ulfs_fÜ_—ch_und”_´iv - (* -·th_und” -, - -191 - $”rÜ_t - (* -func -) (*, *, *), - -192 * -´iv -) - -194 -”rÜ_t - -”r - = 0; - -195 -ulfs_t - * -u -; - -196 -size_t - -Ëngth -; - -198 -Ëngth - = - `ˇľ’ - ( -·th_und” -); - -200  -u - = -ulfs_chaš_ˇ¬t -; u; u = u-> -Ăxt -) - -202 iŕ(! -u --> -·th -) - -205 iŕ( - `memcmp - ( -u --> -·th -, -·th_und” -, -Ëngth -)) - -209 - `func - ((*)( -u --> -·th - + -Ëngth -), -·th_und” -, -´iv -); - -212  -”r -; - -213 - } -} - -216 -”rÜ_t - - -217 - $ulfs_»giˇ” - (* -·th -,  -ćags -,  -´iÜ™y -) - -219 -ulfs_t - * -ulfs -; - -220 -”rÜ_t - -”r -; - -222 iŕ( -·th -) - -224 -”r - = - `check_dś - ( -·th -); - -225 iŕ( -”r -) - -226  -”r -; - -229 - `mu‹x_lock - (& -ulfs_lock -); - -230 -”r - = - `ulfs_ü—‹ - ( -·th -, & -ulfs -); - -231 iŕ(! -”r -) - -233 -ulfs --> -ćags - = flags; - -234 -ulfs --> -´iÜ™y - =…riority; - -235 - `ulfs_šˇ®l - ( -ulfs -); - -236 -ulfs_num -++; - -238 - `mu‹x_uĆock - (& -ulfs_lock -); - -239  -”r -; - -240 - } -} - -245 - $ulfs_check - () - -247 -ulfs_t - * -u -; - -248 -fže_t - -p -; - -250  - sulfs_deˇroy - - -252 -ulfs_t - * -ulfs -; - -254  -ulfs_deˇroy - * -Ăxt -; - -255 } * -ulfs_deˇroy_q - = -NULL -; - -257 - `mu‹x_lock - (& -ulfs_lock -); - -259 -u - = -ulfs_chaš_ˇ¬t -; - -260  -u -) - -263 iŕ( -u --> -·th -) - -264 -p - = - `fže_Çme_lookup - ( -u --> -·th -, -O_READ - | -O_DIRECTORY -, 0); - -266 -p - = -und”lyšg_node -; - -268 iŕ(! - `pÜt_v®id - ( -p -)) - -270  -ulfs_deˇroy - * -±r -; - -273 -±r - = - `m®loc - ( ( -ulfs_deˇroy -)); - -274 - `asŁą - ( -±r -); - -276 -±r --> -ulfs - = -u -; - -278 -±r --> -Ăxt - = -ulfs_deˇroy_q -; - -279 -ulfs_deˇroy_q - = -±r -; - -282 -u - = u-> -Ăxt -; - -285  -ulfs_deˇroy_q -) - -287  -ulfs_deˇroy - * -±r -; - -289 -±r - = -ulfs_deˇroy_q -; - -290 -ulfs_deˇroy_q - = -±r --> -Ăxt -; - -292 - `ulfs_unšˇ®l - ( -±r --> -ulfs -); - -293 - `ulfs_deˇroy - ( -±r --> -ulfs -); - -294 -ulfs_num ---; - -296 - `ä“ - ( -±r -); - -299 - `mu‹x_uĆock - (& -ulfs_lock -); - -301 - } -} - -304 -”rÜ_t - - -305 - $ulfs_uÄegiˇ” - (* -·th -) - -307 -ulfs_t - * -ulfs -; - -308 -”rÜ_t - -”r -; - -310 - `mu‹x_lock - (& -ulfs_lock -); - -311 -”r - = - `ulfs_g‘_·th - ( -·th -, & -ulfs -); - -312 iŕ(! -”r -) - -314 - `ulfs_unšˇ®l - ( -ulfs -); - -315 - `ulfs_deˇroy - ( -ulfs -); - -316 -ulfs_num ---; - -318 - `mu‹x_uĆock - (& -ulfs_lock -); - -320  -”r -; - -321 - } -} - - @ulfs.h - -22 #iâdeŕ -INCLUDED_ULFS_H - - -23  - #INCLUDED_ULFS_H - - - ) - -26  - sulfs - - -28 * - m·th -; - -29  - mćags -; - -30  - m´iÜ™y -; - -31  -ulfs - * - mĂxt -, * - m´ev -; - -32 } - tulfs_t -; - -37  - #FLAG_ULFS_WRITABLE - 0x00000001 - - ) - -40 -ulfs_t - * -ulfs_chaš_ˇ¬t -; - -44 -ulfs_t - * -ulfs_chaš_’d -; - -47  -ulfs_num -; - -50  -mu‹x - -ulfs_lock -; - -53 -”rÜ_t - -ulfs_»giˇ” - (* -·th -,  -ćags -,  -´iÜ™y -); - -56 -”rÜ_t - -ulfs_uÄegiˇ” - (* -·th -); - -59 -”rÜ_t - -ulfs_g‘_num - ( -num -, -ulfs_t - ** -ulfs -); - -62  -ulfs_check - (); - -64  - #ulfs_™”©e - \ - -65  -ulfs_t - * -ulfs - = ( - `mu‹x_lock - (& -ulfs_lock -), \ - -66 -ulfs_chaš_ˇ¬t -); \ - -67 -ulfs - || ( - `mu‹x_uĆock - (& -ulfs_lock -), 0); \ - -68 -ulfs - = ulfs-> -Ăxt -) - - ) - -70  - #ulfs_™”©e_uĆocked - \ - -71  -ulfs_t - * -ulfs - = -ulfs_chaš_ˇ¬t -; \ - -72 -ulfs -; \ - -73 -ulfs - = ulfs-> -Ăxt -) - - ) - - @unionfs.h - -44 #iâdeŕ -INCLUDED_UNIONFS_H - - -45  - #INCLUDED_UNIONFS_H - - - ) - -47  - ~ - -48  - ~ - -50  - ~"node.h -" - -51  - ~"lib.h -" - -54  - #NCACHE_SIZE - 256 - - ) - -57  - #UNIONFS_ROOT_INODE - 1 - - ) - -62  - #FLAG_UNIONFS_MODE_DEBUG - 0x00000001 - - ) - -64  - #FLAG_UNIONFS_MODE_COW - 0x00000002 - - ) - -67  -uniÚfs_ćags -; - -70 -pid_t - -fsid -; - -73 vŢ©ž -m­łd_time_v®ue - * -m­time -; - -76 -mach_pÜt_t - -und”lyšg_node -; - -79  -ˇ© - -und”lyšg_node_ˇ© -; - -82  - #debug_msg -( -fmt -, -¬gs -...) \ - -85 iŕ( -uniÚfs_ćags - & -FLAG_UNIONFS_MODE_DEBUG -) \ - -86 - `debug_msg_Łnd - ( -fmt - , ## -¬gs -); \ - -88 0) - - ) - - @update.c - -23  - #_GNU_SOURCE - - - ) - -25  - ~<”şo.h -> - -26  - ~<ˇršg.h -> - -27  - ~<ůh»ads.h -> - -28  - ~ - -30  - ~"n˙che.h -" - -31  - ~"node.h -" - -32  - ~"ulfs.h -" - -37  -rwlock - - gupd©e_rwlock -; - -38  -cÚd™iÚ - - gupd©e_wakeup -; - -39  -mu‹x - - gupd©e_lock -; - -42 - $_roŮ_upd©e_th»ad - () - -44 -”rÜ_t - -”r -; - -48 iŕ( - `hurd_cÚd™iÚ_wa™ - (& -upd©e_wakeup -, & -upd©e_lock -)) - -49 - `mu‹x_uĆock - (& -upd©e_lock -); - -51 - `rwlock_wr™”_lock - (& -upd©e_rwlock -); - -55 - `ulfs_check -(); - -56 -”r - = - `node_š™_roŮ - ( -Ătfs_roŮ_node -); - -58  -”r - =đ -ENOENT -); - -60 iŕ( -”r -) - -62 - `ĺrštf - ( -ˇd”r -, "upd©th»ad: gه %s\n", - `ˇ»ĽÜ - ( -”r -)); - -65 - `n˙che_»Łt - (); - -67 - `rwlock_wr™”_uĆock - (& -upd©e_rwlock -); - -69 - } -} - -72 - $roŮ_upd©e_scheduË - () - -74 - `cÚd™iÚ_sigÇl - (& -upd©e_wakeup -); - -75 - } -} - -78 - $roŮ_upd©e_di§bË - () - -80 - `rwlock_»ad”_lock - (& -upd©e_rwlock -); - -81 - } -} - -84 - $roŮ_upd©e_’abË - () - -86 - `rwlock_»ad”_uĆock - (& -upd©e_rwlock -); - -87 - } -} - -90 - $roŮ_upd©e_š™ -() - -92 - `mu‹x_š™ - (& -upd©e_lock -); - -93 - `rwlock_š™ - (& -upd©e_rwlock -); - -94 - `cÚd™iÚ_š™ - (& -upd©e_wakeup -); - -96 - `ůh»ad_d‘ach - ( - `ůh»ad_fÜk - ( ( -ůh»ad_â_t -) -_roŮ_upd©e_th»ad -, 0)); - -97 - } -} - - @update.h - -20 #iâdeŕ -_UDPATE_H - - -21  - #_UPDATE_H - - - ) - -23  -roŮ_upd©e_scheduË - (); - -24  -roŮ_upd©e_di§bË - (); - -25  -roŮ_upd©e_’abË - (); - -26  -roŮ_upd©e_š™ - (); - - @version.h - -21 #iâdeŕ -HURD_VERSION - - -22  - #HURD_VERSION - "0.3" - - ) - -26  - #STANDARD_HURD_VERSION -( -s -) \ - -27 # " (GNU Hurdč" -HURD_VERSION - - - ) - -28  - #STANDARD_HURD_VERSION_EXTRA -( -s -, -exŚa -) \ - -29 # " (GNU Hurd; " -exŚa - "č" -HURD_VERSION - - - ) - - @/usr/include/assert.h - -42  - ~ - -43 #ifdeŕ -__ýluĄlus - - -44  - ~<ˇdlib.h -> - -52 #undeŕ -asŁą - - -53 #undeŕ -__asŁą - - -55 #ifdeŕ -NDEBUG - - -56  - #asŁą -( -e -č(()0) - - ) - -59 #iâdeŕ -__GNUC__ - - -61 - g__BEGIN_DECLS - - -62 #iâdeŕ -__ýluĄlus - - -63  - $abÜt -(č -__d—d2 -; - -65  - `´štf -(cÚˇ * -__»ˇriů -, ...); - -66 -__END_DECLS - - -68  - #asŁą -( -e -) \ - -69 ((č(( -e -č? 0 : - `__asŁą - (#e, -__FILE__ -, -__LINE__ -))) - - ) - -70  - #__asŁą -( -e -, -fže -, -lše -) \ - -71 (() - `´štf - ("%s:%u: fažed‡sŁąiÚ `%s'\n", -fže -, -lše -, -e -), - `abÜt -()) - - ) - -75 -__BEGIN_DECLS - - -76  - $__asŁą_ąn -(cÚˇ *, cÚˇ *, , cÚˇ *č -__d—d2 -; - -77  - $__•rštf -(cÚˇ *, cÚˇ *, , cÚˇ *č -__d—d2 -; - -78 -__END_DECLS - - -80  - #__asŁą -( -e -, -fže -, -lše -) \ - -81 - `__•rštf - ("%s:%u: fažed‡sŁąiÚ `%s'\n", -fže -, -lše -, -e -) - - ) - -83 #iŕ -__DARWIN_UNIX03 - - -84  - #asŁą -( -e -) \ - -85 ( - `__bužtš_exłů -(!( -e -), 0č? - `__asŁą_ąn -( -__func__ -, -__FILE__ -, -__LINE__ -, #eč: ()0) - - ) - -87  - #asŁą -( -e -) \ - -88 ( - `__bužtš_exłů -(!( -e -), 0č? - `__asŁą - (#e, -__FILE__ -, -__LINE__ -č: ()0) - - ) - - @/usr/include/dirent.h - -58 #iâdeŕ -_DIRENT_H_ - - -59  - #_DIRENT_H_ - - - ) - -65  - ~<_tyłs.h -> - -66  - ~ - -68  - g_‹Îdś -; - -72  - m__dd_fd -; - -73  - m__dd_loc -; - -74  - m__dd_size -; - -75 * - m__dd_buf -; - -76  - m__dd_Ën -; - -77  - m__dd_Łek -; - -78  - m__dd_»wšd -; - -79  - m__dd_ćags -; - -80 -__d¬wš_±h»ad_mu‹x_t - - m__dd_lock -; - -81  -_‹Îdś - * - m__dd_td -; - -82 } - tDIR -; - -84 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -86  - #DIRBLKSIZ - 1024 - - ) - -88  - #dśfd -( -dśp -č((dśp)-> -__dd_fd -) - - ) - -91  - #DTF_HIDEW - 0x0001 - - ) - -92  - #DTF_NODUP - 0x0002 - - ) - -93  - #DTF_REWIND - 0x0004 - - ) - -94  - #__DTF_READALL - 0x0008 - - ) - -98 #iâdeŕ -KERNEL - - -100  - ~ - -102 - g__BEGIN_DECLS - - -103 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -104  - $®phasÜt -(cÚˇ *, cÚˇ *č - `__DARWIN_INODE64 -( -®phasÜt -); - -106  - $ţoŁdś -( -DIR - *č - `__DARWIN_ALIAS -( -ţoŁdś -); - -107 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -108  - `g‘dś’Ś›s -(, *, , *); - -110 -DIR - * - $Ý’dś -(cÚˇ *č - `__DARWIN_ALIAS_I -( -Ý’dś -); - -111 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -112 -DIR - * - $__Ý’dś2 -(cÚˇ *, č - `__DARWIN_ALIAS_I -( -__Ý’dś2 -); - -114  -dś’t - * - $»addś -( -DIR - *č - `__DARWIN_INODE64 -( -»addś -); - -115  - $»addś_r -( -DIR - *,  -dś’t - *, dś’**č - `__DARWIN_INODE64 -( -»addś_r -); - -116  - $»wšddś -( -DIR - *č - `__DARWIN_ALIAS_I -( -»wšddś -); - -117 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -118  - `s˙ndś -(cÚˇ *,  -dś’t - ***, - -119 (*)( -dś’t - *), (*)(cÚˇ *, cÚˇ *)č - `__DARWIN_INODE64 -( -s˙ndś -); - -121  - $Łekdś -( -DIR - *, č - `__DARWIN_ALIAS_I -( -Łekdś -); - -122  - $‹Îdś -( -DIR - *č - `__DARWIN_ALIAS_I -( -‹Îdś -); - -123 -__END_DECLS - - - @/usr/include/errno.h - -23  - ~ - - @/usr/include/fcntl.h - -23  - ~ - - @/usr/include/fnmatch.h - -58 #iâdef -_FNMATCH_H_ - - -59  - #_FNMATCH_H_ - - - ) - -61  - ~ - -63  - #FNM_NOMATCH - 1 - - ) - -65  - #FNM_NOESCAPE - 0x01 - - ) - -66  - #FNM_PATHNAME - 0x02 - - ) - -67  - #FNM_PERIOD - 0x04 - - ) - -69  - #FNM_NOSYS - (-1č - - ) - -71 #iŕ! -defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -72  - #FNM_LEADING_DIR - 0x08 - - ) - -73  - #FNM_CASEFOLD - 0x10 - - ) - -74  - #FNM_IGNORECASE - -FNM_CASEFOLD - - - ) - -75  - #FNM_FILE_NAME - -FNM_PATHNAME - - - ) - -78 -__BEGIN_DECLS - - -79  - $âm©ch -(cÚˇ *, cÚˇ *, č - `__DARWIN_ALIAS -( -âm©ch -); - -80 -__END_DECLS - - - @/usr/include/stddef.h - -61 #iŕ! -defšed -( -__STDDEF_H__ -) - -63 #iŕ! -defšed -( -__Ăed_wch¬_t -č&& !defšed( -__Ăed_size_t -) \ - -64 && ! -defšed -( -__Ăed_±rdiff_t -č&& !defšed( -__Ăed_NULL -) \ - -65 && ! - $defšed -( -__Ăed_wšt_t -) - -66  - #__STDDEF_H__ - - - ) - -69  - ~<_tyłs.h -> - -71 #iŕ - `defšed -( -__STDDEF_H__ -č|| defšed( -__Ăed_±rdiff_t -) - -72 #iâdeŕ -_PTRDIFF_T - - -73  - #_PTRDIFF_T - - - ) - -74  -__d¬wš_±rdiff_t - - t±rdiff_t -; - -78 #iŕ - `defšed -( -__STDDEF_H__ -č|| defšed( -__Ăed_size_t -) - -79 #iâdef -_SIZE_T - - -80  - #_SIZE_T - - - ) - -83  -__d¬wš_size_t - - tsize_t -; - -87 #iŕ - `defšed -( -__STDDEF_H__ -č|| defšed( -__Ăed_wch¬_t -) - -88 #iâdef -__ýluĄlus - - -89 #iâdef -_WCHAR_T - - -90  - #_WCHAR_T - - - ) - -91  -__d¬wš_wch¬_t - - twch¬_t -; - -96 #iŕ( - `defšed -( -__STDDEF_H__ -č&& !defšed( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -))) \ - -97 || - $defšed -( -__Ăed_wšt_t -) - -98 #iâdef -_WINT_T - - -99  - #_WINT_T - - - ) - -100  -__d¬wš_wšt_t - - twšt_t -; - -104 #iŕ - `defšed -( -__STDDEF_H__ -č|| defšed( -__Ăed_NULL -) - -105 #iâdeŕ -NULL - - -106  - #NULL - -__DARWIN_NULL - - - ) - -110 #ifdeŕ -__STDDEF_H__ - - -111 #iŕ - `defšed -( -__GNUC__ -č&& (__GNUC__ =đ3 && -__GNUC_MINOR__ - >= 5 || __GNUC__ > 3) - -112 #iâdeŕ -__offŁtof - - -113  - #__offŁtof -( -tył -, -f›ld -č - `__bužtš_offŁtof -Ńył, f›ld) - - ) - -115  - #offŁtof -( -tył -, -f›ld -č - `__bužtš_offŁtof -Ńył, f›ld) - - ) - -117 #iâdeŕ -__offŁtof - - -118  - #__offŁtof -( -tył -, -f›ld -č(( -size_t -)(&(Ńył *)0)->f›ld)) - - ) - -120  - #offŁtof -( -tył -, -f›ld -č(( -size_t -)(&(Ńył *)0)->f›ld)) - - ) - -126 #undeŕ -__Ăed_±rdiff_t - - -127 #undeŕ -__Ăed_size_t - - -128 #undeŕ -__Ăed_wch¬_t - - -129 #undeŕ -__Ăed_wšt_t - - -130 #undeŕ -__Ăed_NULL - - - @/usr/include/stdio.h - -61 #iâdef -_STDIO_H_ - - -62  - #_STDIO_H_ - - - ) - -64  - ~<_tyłs.h -> - -66 #iâdeŕ -_VA_LIST - - -67  - #_VA_LIST - - - ) - -70  -__d¬wš_va_liˇ - - tva_liˇ -; - -73 #iâdef -_OFF_T - - -74  - #_OFF_T - - - ) - -75  -__d¬wš_off_t - - toff_t -; - -78 #iâdef -_SIZE_T - - -79  - #_SIZE_T - - - ) - -80  -__d¬wš_size_t - - tsize_t -; - -83 #iâdeŕ -NULL - - -84  - #NULL - -__DARWIN_NULL - - - ) - -87  -__d¬wš_off_t - - tĺos_t -; - -89  - #_FSTDIO - - - ) - -98  - s__sbuf - { - -99 * - m_baŁ -; - -100  - m_size -; - -104  - g__sFILEX -; - -132  - s__sFILE - { - -133 * - m_p -; - -134  - m_r -; - -135  - m_w -; - -136  - m_ćags -; - -137  - m_fže -; - -138  -__sbuf - - m_bf -; - -139  - m_lbfsize -; - -142 * - m_cook› -; - -143 (* - m_ţoŁ -)(*); - -144 (* - m_»ad -) (*, *, ); - -145 -ĺos_t - (* -_Łek -č(*, - mĺos_t -, ); - -146 (* - m_wr™e -)(*, const *, ); - -149  -__sbuf - - m_ub -; - -150  -__sFILEX - * - m_exŚa -; - -151  - m_ur -; - -154  - m_ubuf -[3]; - -155  - m_nbuf -[1]; - -158  -__sbuf - - m_lb -; - -161  - m_blksize -; - -162 -ĺos_t - - m_offŁt -; - -163 } - tFILE -; - -165 - g__BEGIN_DECLS - - -166 #iŕ -__DARWIN_UNIX03 - - -167 -FILE - * -__ˇdšp -; - -168 -FILE - * -__ˇdouŤ -; - -169 -FILE - * -__ˇd”˝ -; - -171 -FILE - -__sF -[]; - -173 - g__END_DECLS - - -175  - #__SLBF - 0x0001 - - ) - -176  - #__SNBF - 0x0002 - - ) - -177  - #__SRD - 0x0004 - - ) - -178  - #__SWR - 0x0008 - - ) - -180  - #__SRW - 0x0010 - - ) - -181  - #__SEOF - 0x0020 - - ) - -182  - #__SERR - 0x0040 - - ) - -183  - #__SMBF - 0x0080 - - ) - -184  - #__SAPP - 0x0100 - - ) - -185  - #__SSTR - 0x0200 - - ) - -186  - #__SOPT - 0x0400 - - ) - -187  - #__SNPT - 0x0800 - - ) - -188  - #__SOFF - 0x1000 - - ) - -189  - #__SMOD - 0x2000 - - ) - -190  - #__SALC - 0x4000 - - ) - -191  - #__SIGN - 0x8000 - - ) - -202  - #_IOFBF - 0 - - ) - -203  - #_IOLBF - 1 - - ) - -204  - #_IONBF - 2 - - ) - -206  - #BUFSIZ - 1024 - - ) - -207  - #EOF - (-1) - - ) - -215  - #FOPEN_MAX - 20 - - ) - -216  - #FILENAME_MAX - 1024 - - ) - -219 #iâdeŕ -_ANSI_SOURCE - - -220  - #P_tmpdś - "/v¬/tmp/" - - ) - -222  - #L_tm˛am - 1024 - - ) - -223  - #TMP_MAX - 308915776 - - ) - -225 #iâdeŕ -SEEK_SET - - -226  - #SEEK_SET - 0 - - ) - -228 #iâdeŕ -SEEK_CUR - - -229  - #SEEK_CUR - 1 - - ) - -231 #iâdeŕ -SEEK_END - - -232  - #SEEK_END - 2 - - ) - -235 #iŕ -__DARWIN_UNIX03 - - -236  - #ˇdš - -__ˇdšp - - - ) - -237  - #ˇdout - -__ˇdouŤ - - - ) - -238  - #ˇd”r - -__ˇd”˝ - - - ) - -240  - #ˇdš - (& -__sF -[0]) - - ) - -241  - #ˇdout - (& -__sF -[1]) - - ) - -242  - #ˇd”r - (& -__sF -[2]) - - ) - -248 -__BEGIN_DECLS - - -249  -ţ—»Ľ -( -FILE - *); - -250  -fţoŁ -( -FILE - *); - -251  -ăof -( -FILE - *); - -252  -ăĽÜ -( -FILE - *); - -253  -fćush -( -FILE - *); - -254  -fg‘c -( -FILE - *); - -255  -fg‘pos -( -FILE - * -__»ˇriů -, -ĺos_t - *); - -256 * -fg‘s -(* -__»ˇriů -, , -FILE - *); - -257 -FILE - * -fÝ’ -(cÚˇ * -__»ˇriů -, const * __restrict); - -258  - $ĺrštf -( -FILE - * -__»ˇriů -, cÚˇ * __»ˇriů, ...č - `__DARWIN_LDBL_COMPAT -( -ĺrštf -); - -259  - `ĺutc -(, -FILE - *); - -260  - $ĺuts -(cÚˇ * -__»ˇriů -, -FILE - * __»ˇriůč - `__DARWIN_ALIAS -( -ĺuts -); - -261 -size_t - - `ä—d -(* -__»ˇriů -, size_t, size_t, -FILE - * __restrict); - -262 -FILE - * - $äeÝ’ -(cÚˇ * -__»ˇriů -, const * __restrict, - -263 -FILE - * -__»ˇriů -č - `__DARWIN_ALIAS -( -äeÝ’ -); - -264  - $fs˙nf -( -FILE - * -__»ˇriů -, cÚˇ * __»ˇriů, ...č - `__DARWIN_LDBL_COMPAT -( -fs˙nf -); - -265  - `fŁek -( -FILE - *, , ); - -266  - `fŁŤos -( -FILE - *, cÚˇ -ĺos_t - *); - -267  - `á–l -( -FILE - *); - -268 -size_t - - $fwr™e -(cÚˇ * -__»ˇriů -, -size_t -, size_t, -FILE - * __»ˇriůč - `__DARWIN_ALIAS -( -fwr™e -); - -269  - `g‘c -( -FILE - *); - -270  - `g‘ch¬ -(); - -271 * - `g‘s -(*); - -272 #iŕ! - `defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -273 -__cÚˇ -  -sys_ĂĽ -; - -274 -__cÚˇ - *__cÚˇ -sys_”ľiˇ -[]; - -276  - `łĽÜ -(const *); - -277  - $´štf -(cÚˇ * -__»ˇriů -, ...č - `__DARWIN_LDBL_COMPAT -( -´štf -); - -278  - `putc -(, -FILE - *); - -279  - `putch¬ -(); - -280  - `puts -(const *); - -281  - `»move -(const *); - -282  - `»Çme - (const *, const *); - -283  - `»wšd -( -FILE - *); - -284  - $s˙nf -(cÚˇ * -__»ˇriů -, ...č - `__DARWIN_LDBL_COMPAT -( -s˙nf -); - -285  - `Łtbuf -( -FILE - * -__»ˇriů -, * __restrict); - -286  - `Łtvbuf -( -FILE - * -__»ˇriů -, * __»ˇriů, , -size_t -); - -287  - $Ąrštf -(* -__»ˇriů -, cÚˇ * __»ˇriů, ...č - `__DARWIN_LDBL_COMPAT -( -Ąrštf -); - -288  - $ss˙nf -(cÚˇ * -__»ˇriů -, cÚˇ * __»ˇriů, ...č - `__DARWIN_LDBL_COMPAT -( -ss˙nf -); - -289 -FILE - * - `tmpfže -(); - -290 * - `tm˛am -(*); - -291  - `ung‘c -(, -FILE - *); - -292  - $vĺrštf -( -FILE - * -__»ˇriů -, cÚˇ * __»ˇriů, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vĺrštf -); - -293  - $v´štf -(cÚˇ * -__»ˇriů -, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -v´štf -); - -294  - $vĄrštf -(* -__»ˇriů -, cÚˇ * __»ˇriů, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vĄrštf -); - -295 #iŕ! - `defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -296  - $aĄrštf -(**, cÚˇ *, ...č - `__DARWIN_LDBL_COMPAT -( -aĄrštf -); - -297  - $vaĄrštf -(**, cÚˇ *, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vaĄrštf -); - -299 -__END_DECLS - - -304 #iâdeŕ -_ANSI_SOURCE - - -305  - #L_ů”mid - 1024 - - ) - -307 -__BEGIN_DECLS - - -308 * - `ů”mid -(*); - -309 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -310 * - `ů”mid_r -(*); - -312 -FILE - * - `fdÝ’ -(, const *); - -313 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -314 * - `fg‘Ę -( -FILE - *, -size_t - *); - -316  - `fž’o -( -FILE - *); - -317  - `ćockfže -( -FILE - *); - -318 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -319 -__cÚˇ -  - -320 * - `fmtcheck -(const *, const *); - -321  - `ĺurge -( -FILE - *); - -323  - `fŁeko -( -FILE - *, -off_t -, ); - -324 -off_t - - `á–lo -( -FILE - *); - -325  - `árylockfže -( -FILE - *); - -326  - `fuĆockfže -( -FILE - *); - -327  - `g‘c_uĆocked -( -FILE - *); - -328  - `g‘ch¬_uĆocked -(); - -329 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -330  - `g‘w -( -FILE - *); - -332  - `pţoŁ -( -FILE - *); - -333 -FILE - * - `pÝ’ -(const *, const *); - -334  - `putc_uĆocked -(, -FILE - *); - -335  - `putch¬_uĆocked -(); - -336 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -337  - `putw -(, -FILE - *); - -338  - `Łtbufăr -( -FILE - *, *, ); - -339  - `ŁŽšebuf -( -FILE - *); - -341  - $˘´štf -(* -__»ˇriů -, -size_t -, cÚˇ * __»ˇriů, ...č - `__DARWIN_LDBL_COMPAT -( -˘´štf -); - -342 * - $‹m˛am -(cÚˇ *, cÚˇ *č - `__DARWIN_ALIAS -( -‹m˛am -); - -343  - $vfs˙nf -( -FILE - * -__»ˇriů -, cÚˇ * __»ˇriů, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vfs˙nf -); - -344  - $vs˙nf -(cÚˇ * -__»ˇriů -, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vs˙nf -); - -345  - $v˘´štf -(* -__»ˇriů -, -size_t -, cÚˇ * __»ˇriů, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -v˘´štf -); - -346  - $vss˙nf -(cÚˇ * -__»ˇriů -, cÚˇ * __»ˇriů, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -vss˙nf -); - -347 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -348 -FILE - * - `zÝ’ -(const *, const *, ); - -350 -__END_DECLS - - -355 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -356 -__BEGIN_DECLS - - -357 -FILE - * - `funÝ’ -(const *, - -360 - $ĺos_t - (*)(*, -ĺos_t -, ), - -362 -__END_DECLS - - -363  - #äÝ’ -( -cook› -, -â -č - `funÝ’ -(cook›, fn, 0, 0, 0) - - ) - -364  - #fwÝ’ -( -cook› -, -â -č - `funÝ’ -(cook›, 0, fn, 0, 0) - - ) - -371 -__BEGIN_DECLS - - -372  - `__¤g‘ -( -FILE - *); - -373  - $__svfs˙nf -( -FILE - *, cÚˇ *, -va_liˇ -č - `__DARWIN_LDBL_COMPAT -( -__svfs˙nf -); - -374  - `__swbuf -(, -FILE - *); - -375 -__END_DECLS - - -381  - #__sg‘c -( -p -č(--Ő)-> -_r - < 0 ? - `__¤g‘ -Őč: ()(*Ő)-> -_p -++)) - - ) - -382 #iŕ - `defšed -( -__GNUC__ -č&& defšed( -__STDC__ -) - -383  -__šlše -  - $__Ąutc -( -_c -, -FILE - * -_p -) { - -384 iŕ(-- -_p --> -_w - >đ0 || (_p->_w >đ_p-> -_lbfsize - && () -_c - != '\n')) - -385  (* -_p -->_p++ = -_c -); - -387  ( - `__swbuf -( -_c -, -_p -)); - -388 - } -} - -393  - #__Ąutc -( -c -, -p -) \ - -394 (--( -p -)-> -_w - < 0 ? \ - -395 ( -p -)-> -_w - >đŐ)-> -_lbfsize - ? \ - -396 (*( -p -)-> -_p - = ( -c -)), *(p)->_p != '\n' ? \ - -397 ()*( -p -)-> -_p -++ : \ - -398 - `__swbuf -('\n', -p -) : \ - -399 - `__swbuf -(()( -c -), -p -) : \ - -400 (*( -p -)-> -_p - = ( -c -), ()*Ő)->_p++)) - - ) - -403  - #__săof -( -p -č((Ő)-> -_ćags - & -__SEOF -č!đ0) - - ) - -404  - #__săĽÜ -( -p -č((Ő)-> -_ćags - & -__SERR -č!đ0) - - ) - -405  - #__sţ—»Ľ -( -p -č(()(Ő)-> -_ćags - &đ~( -__SERR -| -__SEOF -))) - - ) - -406  - #__sfž’o -( -p -č(Ő)-> -_fže -) - - ) - -408 #iâdeŕ -_ANSI_SOURCE - - -409 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -410  - #ăof_uĆocked -( -p -č - `__săof -Ő) - - ) - -411  - #ăĽÜ_uĆocked -( -p -č - `__săĽÜ -Ő) - - ) - -412  - #ţ—»Ľ_uĆocked -( -p -č - `__sţ—»Ľ -Ő) - - ) - -413  - #fž’o_uĆocked -( -p -č - `__sfž’o -Ő) - - ) - -416 #iâdeŕ -lšt - - -417  - #g‘c_uĆocked -( -ĺ -č - `__sg‘c -(ĺ) - - ) - -418  - #putc_uĆocked -( -x -, -ĺ -č - `__Ąutc -(x, fp) - - ) - -421  - #g‘ch¬_uĆocked -(č - `g‘c_uĆocked -( -ˇdš -) - - ) - -422  - #putch¬_uĆocked -( -x -č - `putc_uĆocked -(x, -ˇdout -) - - ) - -425 #ifdeŕ -_USE_EXTENDED_LOCALES_ - - -426  - ~ - -429 #iŕ -defšed - ( -__GNUC__ -č&& -_FORTIFY_SOURCE - > 0 && !defšed ( -__ýluĄlus -) - -431  - ~<Łcu»/_ˇdio.h -> - - @/usr/include/stdlib.h - -58 #iâdeŕ -_STDLIB_H_ - - -59  - #_STDLIB_H_ - - - ) - -61  - ~ - -63  - ~<_tyłs.h -> - -64 #iŕ! -defšed -( -_ANSI_SOURCE -) - -65  - ~ - -66 #iŕ(! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -67  - ~<®lo˙.h -> - -71 #iâdef -_SIZE_T - - -72  - #_SIZE_T - - - ) - -75  -__d¬wš_size_t - - tsize_t -; - -78 #iŕ! -defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -79 #iâdeŕ -_CT_RUNE_T - - -80  - #_CT_RUNE_T - - - ) - -81  -__d¬wš_ů_ruĂ_t - - tů_ruĂ_t -; - -84 #iâdeŕ -_RUNE_T - - -85  - #_RUNE_T - - - ) - -86  -__d¬wš_ruĂ_t - - truĂ_t -; - -90 #iâdef -__ýluĄlus - - -91 #iâdef -_WCHAR_T - - -92  - #_WCHAR_T - - - ) - -93  -__d¬wš_wch¬_t - - twch¬_t -; - -98  - mquŮ -; - -99  - m»m -; - -100 } - tdiv_t -; - -103  - mquŮ -; - -104  - m»m -; - -105 } - tldiv_t -; - -107 #iŕ! -__DARWIN_NO_LONG_LONG - - -109  - mquŮ -; - -110  - m»m -; - -111 } - tÎdiv_t -; - -114 #iâdeŕ -NULL - - -115  - #NULL - -__DARWIN_NULL - - - ) - -118  - #EXIT_FAILURE - 1 - - ) - -119  - #EXIT_SUCCESS - 0 - - ) - -121  - #RAND_MAX - 0x7fffffff - - ) - -123 #ifdeŕ -_USE_EXTENDED_LOCALES_ - - -124  - ~<_xlo˙Ë.h -> - -127 #iâdeŕ -MB_CUR_MAX - - -128 #ifdeŕ -_USE_EXTENDED_LOCALES_ - - -129  - #MB_CUR_MAX - ( - `___mb_cur_max -()) - - ) - -130 #iâdeŕ -MB_CUR_MAX_L - - -131  - #MB_CUR_MAX_L -( -x -č( - `___mb_cur_max_l -(x)) - - ) - -134  -__mb_cur_max -; - -135  - #MB_CUR_MAX - -__mb_cur_max - - - ) - -139 #iŕ! -defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) \ - -140 && -defšed -( -_USE_EXTENDED_LOCALES_ -č&& ! - $defšed -( -MB_CUR_MAX_L -) - -141  - #MB_CUR_MAX_L -( -x -č( - `___mb_cur_max_l -(x)) - - ) - -144 -__BEGIN_DECLS - - -145  - $abÜt -(č -__d—d2 -; - -146  - $abs -(č -__pu»2 -; - -147  - `©ex™ -((*)()); - -148  - `©of -(const *); - -149  - `©oi -(const *); - -150  - `©Ţ -(const *); - -151 #iŕ! -__DARWIN_NO_LONG_LONG - - -153 - `©Ţl -(const *); - -155 * - `b٬ch -(cÚˇ *, cÚˇ *, -size_t -, - -156 -size_t -, (*)(const *, const *)); - -157 * - `˙Îoc -( -size_t -, size_t); - -158 -div_t - - $div -(, č -__pu»2 -; - -159  - $ex™ -(č -__d—d2 -; - -160  - `ä“ -(*); - -161 * - `g‘’v -(const *); - -162  - $Ďbs -(č -__pu»2 -; - -163 -ldiv_t - - $ldiv -(, č -__pu»2 -; - -164 #iŕ! -__DARWIN_NO_LONG_LONG - - -166 - `Îabs -(); - -167 -Îdiv_t - - `Îdiv -(, ); - -169 * - `m®loc -( -size_t -); - -170  - `mbËn -(cÚˇ *, -size_t -); - -171 -size_t - - `mbˇowcs -( -wch¬_t - * -__»ˇriů - , const * __restrict, size_t); - -172  - `mbtowc -( -wch¬_t - * -__»ˇriů -, cÚˇ * __»ˇriů, -size_t -); - -173  - `qsÜt -(*, -size_t -, size_t, - -175  - `żnd -(); - -176 * - `»®loc -(*, -size_t -); - -177  - `¤Şd -(); - -178  - $ˇąod -(cÚˇ *, **č - `__DARWIN_ALIAS -( -ˇąod -); - -179  - $ˇąof -(cÚˇ *, **č - `__DARWIN_ALIAS -( -ˇąof -); - -180  - `ˇąŢ -(const *, **, ); - -182 - $ˇąŢd -(cÚˇ *, **č - `__DARWIN_LDBL_COMPAT -( -ˇąŢd -); - -183 #iŕ! -__DARWIN_NO_LONG_LONG - - -185 - `ˇąŢl -(const *, **, ); - -188 - `ˇąoul -(const *, **, ); - -189 #iŕ! -__DARWIN_NO_LONG_LONG - - -191 - `ˇąouÎ -(const *, **, ); - -193  - $syˇem -(cÚˇ *č - `__DARWIN_ALIAS_C -( -syˇem -); - -194 -size_t - - `wcˇombs -(* -__»ˇriů -, cÚˇ -wch¬_t - * __restrict, size_t); - -195  - `wůomb -(*, -wch¬_t -); - -197 #iâdeŕ -_ANSI_SOURCE - - -198  - $_Ex™ -(č -__d—d2 -; - -199  - `a64l -(const *); - -200  - `dżnd48 -(); - -201 * - `ecvt -(, , * -__»ˇriů -, *__restrict); - -202  - `”Şd48 -([3]); - -203 * - `fcvt -(, , * -__»ˇriů -, *__restrict); - -204 * - `gcvt -(, , *); - -205  - `g‘subÝt -(**, * const *, **); - -206  - `gżÁ± -(); - -207 #iŕ -__DARWIN_UNIX03 - - -208 * - `𙎩e -(, *, -size_t -); - -210 * - `𙎩e -(, *, ); - -212  - `jżnd48 -([3]); - -213 * - `l64a -(); - -214  - `lcÚg48 -([7]); - -215  - `ĚŞd48 -(); - -216 * - `mk‹mp -(*); - -217  - `mkˇemp -(*); - -218  - `mżnd48 -(); - -219  - `ÄŞd48 -([3]); - -220  - `posix_Ý’± -(); - -221 * - `±˘ame -(); - -222  - $pu‹nv -(*č - `__DARWIN_ALIAS -( -pu‹nv -); - -223  - `żndom -(); - -224  - `żnd_r -(*); - -225 #iŕ( -__DARWIN_UNIX03 - && ! - `defšed -( -_POSIX_C_SOURCE -)č|| defšed( -_DARWIN_C_SOURCE -č|| defšed( -_DARWIN_BETTER_REALPATH -) - -226 * - $»®·th -(cÚˇ * -__»ˇriů -, * __»ˇriůč - `__DARWIN_EXTSN -( -»®·th -); - -228 * - $»®·th -(cÚˇ * -__»ˇriů -, * __»ˇriůč - `__DARWIN_ALIAS -( -»®·th -); - -231 * - `Łed48 -([3]); - -232  - $Ł‹nv -(cÚˇ *, cÚˇ *, č - `__DARWIN_ALIAS -( -Ł‹nv -); - -233 #iŕ -__DARWIN_UNIX03 - - -234  - $Łtkey -(cÚˇ *č - `__DARWIN_ALIAS -( -Łtkey -); - -236  - `Łtkey -(const *); - -238 * - `Łtˇ©e -(const *); - -239  - `¤Şd48 -(); - -240 #iŕ -__DARWIN_UNIX03 - - -241  - `¤Şdom -(); - -243  - `¤Şdom -(); - -245  - `uĆock± -(); - -246 #iŕ -__DARWIN_UNIX03 - - -247  - $unŁ‹nv -(cÚˇ *č - `__DARWIN_ALIAS -( -unŁ‹nv -); - -249  - `unŁ‹nv -(const *); - -253 #iŕ! - `defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -254  - ~ - -256 #iâdeŕ -_DEV_T - - -257  -__d¬wš_dev_t - - tdev_t -; - -258  - #_DEV_T - - - ) - -261 #iâdef -_MODE_T - - -262  -__d¬wš_mode_t - - tmode_t -; - -263  - #_MODE_T - - - ) - -266 -u_št32_t - - -267 - `¬c4żndom -(); - -268  - `¬c4żndom_addżndom -(* -d© -,  -d©Ën -); - -269  - `¬c4żndom_ˇś -(); - -272 * - `cg‘˙p -(*, const *, ); - -273  - `cg‘ţoŁ -(); - -274  - `cg‘’t -(**, **, const *); - -275  - `cg‘fśˇ -(**, **); - -276  - `cg‘m©ch -(const *, const *); - -277  - `cg‘Ăxt -(**, **); - -278  - `cg‘num -(*, const *, *); - -279  - `cg‘Łt -(const *); - -280  - `cg‘ˇr -(*, const *, **); - -281  - `cg‘uˇr -(*, const *, **); - -283  - $d«mÚ -(, č - $__DARWIN_1050 -( -d«mÚ -č -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 -; - -284 * - `devÇme -( -dev_t -, -mode_t -); - -285 * - `devÇme_r -( -dev_t -, -mode_t -, * -buf -,  -Ën -); - -286 * - `g‘bsize -(*, *); - -287  - `g‘lßdavg -([], ); - -289 * - `g‘´ogÇme -(); - -291  - `h—psÜt -(*, -size_t -, size_t, - -293  - `m”gesÜt -(*, -size_t -, size_t, - -295  - `qsÜt_r -(*, -size_t -, size_t, *, - -297  - `żdixsÜt -(const **, , const *, - -299  - `ŁŤrogÇme -(const *); - -300  - `¤adixsÜt -(const **, , const *, - -302  - `¤Şddev -(); - -303  - `¤Şdomdev -(); - -304 * - `»®locf -(*, -size_t -); - -305 #iŕ! -__DARWIN_NO_LONG_LONG - - -307 - `ˇąoq -(const *, **, ); - -309 - `ˇąouq -(const *, **, ); - -311 * -subÝŹrg -; - -312 * - `v®loc -( -size_t -); - -316 #iŕ! - `defšed -( -__ýluĄlus -č&& defšed( -__WCHAR_MAX__ -) && __WCHAR_MAX__ <= 0xffffU - -317 #´agm¨ -GCC - -poisÚ - -mbˇowcs - -mbtowc - -wcˇombs - -wůomb - - -319 -__END_DECLS - - -321 #ifdeŕ -_USE_EXTENDED_LOCALES_ - - -322  - ~ - - @/usr/include/string.h - -58 #iâdeŕ -_STRING_H_ - - -59  - #_STRING_H_ - - - ) - -60  - ~<_tyłs.h -> - -62 #iâdef -_SIZE_T - - -63  - #_SIZE_T - - - ) - -64  -__d¬wš_size_t - - tsize_t -; - -67 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -68 #iâdeŕ -_SSIZE_T - - -69  - #_SSIZE_T - - - ) - -70  -__d¬wš_ssize_t - - tssize_t -; - -74 #iâdeŕ -NULL - - -75  - #NULL - -__DARWIN_NULL - - - ) - -78  - ~ - -80 -__BEGIN_DECLS - - -81 * -memchr -(cÚˇ *, , -size_t -); - -82  -memcmp -(cÚˇ *, cÚˇ *, -size_t -); - -83 * -memýy -(*, cÚˇ *, -size_t -); - -84 * -memmove -(*, cÚˇ *, -size_t -); - -85 * -memŁt -(*, , -size_t -); - -86 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -87 * -ˇpýy -(*, const *); - -88 * -ˇr˙َr -(const *, const *); - -90 * -ˇr˙t -(*, const *); - -91 * -ˇrchr -(const *, ); - -92  -ˇrcmp -(const *, const *); - -93  -ˇrcŢl -(const *, const *); - -94 * -ˇrýy -(*, const *); - -95 -size_t - -ˇrcĄn -(const *, const *); - -96 * - $ˇ»ĽÜ -(č - `__DARWIN_ALIAS -( -ˇ»ĽÜ -); - -97  - `ˇ»ĽÜ_r -(, *, -size_t -); - -98 -size_t - - `ˇľ’ -(const *); - -99 * - `ˇş˙t -(*, cÚˇ *, -size_t -); - -100  - `ˇşcmp -(cÚˇ *, cÚˇ *, -size_t -); - -101 * - `ˇşýy -(*, cÚˇ *, -size_t -); - -102 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -103 * - `ˇşˇr -(cÚˇ *, cÚˇ *, -size_t -); - -105 * - `ˇ˝brk -(const *, const *); - -106 * - `ˇĽchr -(const *, ); - -107 -size_t - - `ˇrĄn -(const *, const *); - -108 * - `ˇrˇr -(const *, const *); - -109 * - `ˇąok -(*, const *); - -110 -size_t - - `ˇrxäm -(*, const *, size_t); - -113 #iâdeŕ -_ANSI_SOURCE - - -114 * - `memcýy -(*, cÚˇ *, , -size_t -); - -115 * - `ˇąok_r -(*, const *, **); - -116 * - `ˇrdup -(const *); - -117 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -118  - `bcmp -(cÚˇ *, cÚˇ *, -size_t -); - -119  - `bcÝy -(cÚˇ *, *, -size_t -); - -120  - `bz”o -(*, -size_t -); - -121  - `ffs -(); - -122  - `ff¦ -(); - -123  - `ćs -(); - -124  - `㦠-(); - -125 * - `šdex -(const *, ); - -126  - `memŁt_·‰”n4 -(*, cÚˇ *, -size_t -); - -127  - `memŁt_·‰”n8 -(*, cÚˇ *, -size_t -); - -128  - `memŁt_·‰”n16 -(*, cÚˇ *, -size_t -); - -129 * - `ršdex -(const *, ); - -130  - `ˇr˙Łcmp -(const *, const *); - -131 -size_t - - `ˇľ˙t -(*, const *, size_t); - -132 -size_t - - `ˇľýy -(*, const *, size_t); - -133  - `ˇrmode -(, *); - -134  - `ˇş˙Łcmp -(cÚˇ *, cÚˇ *, -size_t -); - -135 * - `ˇrŁp -(**, const *); - -136 * - `ˇrsigÇl -( -sig -); - -137  - `swab -(cÚˇ * -__»ˇriů -, * __»ˇriů, -ssize_t -); - -140 -__END_DECLS - - -142 #ifdeŕ -_USE_EXTENDED_LOCALES_ - - -143  - ~ - -146 #iŕ - `defšed - ( -__GNUC__ -č&& -_FORTIFY_SOURCE - > 0 && !defšed ( -__ýluĄlus -) - -148  - ~<Łcu»/_ˇršg.h -> - - @/usr/include/sys/mman.h - -76 #iâdef -_SYS_MMAN_H_ - - -77  - #_SYS_MMAN_H_ - - - ) - -79  - ~ - -80  - ~ - -82  - ~ - -88 #iâdef -_MODE_T - - -89  -__d¬wš_mode_t - - tmode_t -; - -90  - #_MODE_T - - - ) - -93 #iâdeŕ -_OFF_T - - -94  -__d¬wš_off_t - - toff_t -; - -95  - #_OFF_T - - - ) - -98 #iâdeŕ -_SIZE_T - - -99  - #_SIZE_T - - - ) - -100  -__d¬wš_size_t - - tsize_t -; - -107  - #PROT_NONE - 0x00 - - ) - -108  - #PROT_READ - 0x01 - - ) - -109  - #PROT_WRITE - 0x02 - - ) - -110  - #PROT_EXEC - 0x04 - - ) - -116  - #MAP_SHARED - 0x0001 - - ) - -117  - #MAP_PRIVATE - 0x0002 - - ) - -118 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -119  - #MAP_COPY - -MAP_PRIVATE - - - ) - -125  - #MAP_FIXED - 0x0010 - - ) - -126 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -127  - #MAP_RENAME - 0x0020 - - ) - -128  - #MAP_NORESERVE - 0x0040 - - ) - -129  - #MAP_RESERVED0080 - 0x0080 - - ) - -130  - #MAP_NOEXTEND - 0x0100 - - ) - -131  - #MAP_HASSEMAPHORE - 0x0200 - - ) - -132  - #MAP_NOCACHE - 0x0400 - - ) - -138  - #MCL_CURRENT - 0x0001 - - ) - -139  - #MCL_FUTURE - 0x0002 - - ) - -144  - #MAP_FAILED - ((*)-1č - - ) - -149  - #MS_ASYNC - 0x0001 - - ) - -150  - #MS_INVALIDATE - 0x0002 - - ) - -151  - #MS_SYNC - 0x0010 - - ) - -153 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -154  - #MS_KILLPAGES - 0x0004 - - ) - -155  - #MS_DEACTIVATE - 0x0008 - - ) - -160  - #MAP_FILE - 0x0000 - - ) - -161  - #MAP_ANON - 0x1000 - - ) - -168  - #POSIX_MADV_NORMAL - 0 - - ) - -169  - #POSIX_MADV_RANDOM - 1 - - ) - -170  - #POSIX_MADV_SEQUENTIAL - 2 - - ) - -171  - #POSIX_MADV_WILLNEED - 3 - - ) - -172  - #POSIX_MADV_DONTNEED - 4 - - ) - -174 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -175  - #MADV_NORMAL - -POSIX_MADV_NORMAL - - - ) - -176  - #MADV_RANDOM - -POSIX_MADV_RANDOM - - - ) - -177  - #MADV_SEQUENTIAL - -POSIX_MADV_SEQUENTIAL - - - ) - -178  - #MADV_WILLNEED - -POSIX_MADV_WILLNEED - - - ) - -179  - #MADV_DONTNEED - -POSIX_MADV_DONTNEED - - - ) - -180  - #MADV_FREE - 5 - - ) - -185  - #MINCORE_INCORE - 0x1 - - ) - -186  - #MINCORE_REFERENCED - 0x2 - - ) - -187  - #MINCORE_MODIFIED - 0x4 - - ) - -188  - #MINCORE_REFERENCED_OTHER - 0x8 - - ) - -189  - #MINCORE_MODIFIED_OTHER - 0x10 - - ) - -194 -__BEGIN_DECLS - - -196  -mlock®l -(); - -197  -muĆock®l -(); - -199  -mlock -(cÚˇ *, -size_t -); - -200 #iâdeŕ -_MMAP - - -201  - #_MMAP - - - ) - -203 * - $mm­ -(*, -size_t -, , , , -off_t -č - `__DARWIN_ALIAS -( -mm­ -); - -206  - $m´Ůeů -(*, -size_t -, č - `__DARWIN_ALIAS -( -m´Ůeů -); - -208  - $msync -(*, -size_t -, č - `__DARWIN_ALIAS_C -( -msync -); - -210  - `muĆock -(cÚˇ *, -size_t -); - -212  - $munm­ -(*, -size_t -č - `__DARWIN_ALIAS -( -munm­ -); - -214  - `shm_Ý’ -(const *, , ...); - -215  - `shm_uĆšk -(const *); - -217  - `posix_madviŁ -(*, -size_t -, ); - -219 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -220  - `madviŁ -(*, -size_t -, ); - -221  - `mšcÜe -(cÚˇ *, -size_t -, *); - -222  - `mšh”™ -(*, -size_t -, ); - -224 -__END_DECLS - - - @/usr/include/sys/stat.h - -70 #iâdeŕ -_SYS_STAT_H_ - - -71  - #_SYS_STAT_H_ - - - ) - -73  - ~ - -74  - ~ - -77  - #__Ăed_ˇruů_timeĄec - - - ) - -78  - ~ - -85 #iâdeŕ -_BLKCNT_T - - -86  -__d¬wš_blkút_t - - tblkút_t -; - -87  - #_BLKCNT_T - - - ) - -90 #iâdeŕ -_BLKSIZE_T - - -91  -__d¬wš_blksize_t - - tblksize_t -; - -92  - #_BLKSIZE_T - - - ) - -95 #iâdeŕ -_DEV_T - - -96  -__d¬wš_dev_t - - tdev_t -; - -97  - #_DEV_T - - - ) - -100 #iâdef -_INO_T - - -101  -__d¬wš_šo_t - - tšo_t -; - -102  - #_INO_T - - - ) - -105 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -106 #iâdef -_INO64_T - - -107  -__d¬wš_šo64_t - - tšo64_t -; - -108  - #_INO64_T - - - ) - -112 #iâdef -_MODE_T - - -113  -__d¬wš_mode_t - - tmode_t -; - -114  - #_MODE_T - - - ) - -117 #iâdeŕ -_NLINK_T - - -118  -__ušt16_t - - tĆšk_t -; - -119  - #_NLINK_T - - - ) - -122 #iâdeŕ -_UID_T - - -123  -__d¬wš_uid_t - - tuid_t -; - -124  - #_UID_T - - - ) - -127 #iâdeŕ -_GID_T - - -128  -__d¬wš_gid_t - - tgid_t -; - -129  - #_GID_T - - - ) - -132 #iâdeŕ -_OFF_T - - -133  -__d¬wš_off_t - - toff_t -; - -134  - #_OFF_T - - - ) - -137 #iâdef -_TIME_T - - -138  - #_TIME_T - - - ) - -139  -__d¬wš_time_t - - ttime_t -; - -143 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -152  - soˇ© - { - -153 -__ušt16_t - - mˇ_dev -; - -154 -šo_t - - mˇ_šo -; - -155 -mode_t - - mˇ_mode -; - -156 -Ćšk_t - - mˇ_Ćšk -; - -157 -__ušt16_t - - mˇ_uid -; - -158 -__ušt16_t - - mˇ_gid -; - -159 -__ušt16_t - - mˇ_rdev -; - -160 -__št32_t - - mˇ_size -; - -161  -timeĄec - - mˇ_©imeĄec -; - -162  -timeĄec - - mˇ_mtimeĄec -; - -163  -timeĄec - - mˇ_ůimeĄec -; - -164 -__št32_t - - mˇ_blksize -; - -165 -__št32_t - - mˇ_blocks -; - -166 -__ušt32_t - - mˇ_ćags -; - -167 -__ušt32_t - - mˇ_g’ -; - -170  - #__DARWIN_STRUCT_STAT64_TIMES - \ - -171  -timeĄec - -ˇ_©imeĄec -; \ - -172  -timeĄec - -ˇ_mtimeĄec -; \ - -173  -timeĄec - -ˇ_ůimeĄec -; \ - -174  -timeĄec - -ˇ_bśthtimeĄec -; - - ) - -178  - #__DARWIN_STRUCT_STAT64_TIMES - \ - -179 -time_t - -ˇ_©ime -; \ - -180  -ˇ_©im’Łc -; \ - -181 -time_t - -ˇ_mtime -; \ - -182  -ˇ_mtim’Łc -; \ - -183 -time_t - -ˇ_ůime -; \ - -184  -ˇ_ůim’Łc -; \ - -185 -time_t - -ˇ_bśthtime -; \ - -186  -ˇ_bśthtim’Łc -; - - ) - -200  - #__DARWIN_STRUCT_STAT64 - { \ - -201 -dev_t - -ˇ_dev -; \ - -202 -mode_t - -ˇ_mode -; \ - -203 -Ćšk_t - -ˇ_Ćšk -; \ - -204 -__d¬wš_šo64_t - -ˇ_šo -; \ - -205 -uid_t - -ˇ_uid -; \ - -206 -gid_t - -ˇ_gid -; \ - -207 -dev_t - -ˇ_rdev -; \ - -208 -__DARWIN_STRUCT_STAT64_TIMES - \ - -209 -off_t - -ˇ_size -; \ - -210 -blkút_t - -ˇ_blocks -; \ - -211 -blksize_t - -ˇ_blksize -; \ - -212 -__ušt32_t - -ˇ_ćags -; \ - -213 -__ušt32_t - -ˇ_g’ -; \ - -214 -__št32_t - -ˇ_lĄ¬e -; \ - -215 -__št64_t - -ˇ_qĄ¬e -[2]; \ - -216 } - - ) - -222 #iŕ -__DARWIN_64_BIT_INO_T - - -224  -ˇ© - - g__DARWIN_STRUCT_STAT64 -; - -228  - sˇ© - { - -229 -dev_t - - mˇ_dev -; - -230 -šo_t - - mˇ_šo -; - -231 -mode_t - - mˇ_mode -; - -232 -Ćšk_t - - mˇ_Ćšk -; - -233 -uid_t - - mˇ_uid -; - -234 -gid_t - - mˇ_gid -; - -235 -dev_t - - mˇ_rdev -; - -236 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -237  -timeĄec - - mˇ_©imeĄec -; - -238  -timeĄec - - mˇ_mtimeĄec -; - -239  -timeĄec - - mˇ_ůimeĄec -; - -241 -time_t - - mˇ_©ime -; - -242  - mˇ_©im’Łc -; - -243 -time_t - - mˇ_mtime -; - -244  - mˇ_mtim’Łc -; - -245 -time_t - - mˇ_ůime -; - -246  - mˇ_ůim’Łc -; - -248 -off_t - - mˇ_size -; - -249 -blkút_t - - mˇ_blocks -; - -250 -blksize_t - - mˇ_blksize -; - -251 -__ušt32_t - - mˇ_ćags -; - -252 -__ušt32_t - - mˇ_g’ -; - -253 -__št32_t - - mˇ_lĄ¬e -; - -254 -__št64_t - - mˇ_qĄ¬e -[2]; - -259 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -261  -ˇ©64 - - g__DARWIN_STRUCT_STAT64 -; - -268 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -269  - #ˇ_©ime - -ˇ_©imeĄec -. -tv_Łc - - - ) - -270  - #ˇ_mtime - -ˇ_mtimeĄec -. -tv_Łc - - - ) - -271  - #ˇ_ůime - -ˇ_ůimeĄec -. -tv_Łc - - - ) - -272  - #ˇ_bśthtime - -ˇ_bśthtimeĄec -. -tv_Łc - - - ) - -279 #iâdeŕ -S_IFMT - - -281  - #S_IFMT - 0170000 - - ) - -282  - #S_IFIFO - 0010000 - - ) - -283  - #S_IFCHR - 0020000 - - ) - -284  - #S_IFDIR - 0040000 - - ) - -285  - #S_IFBLK - 0060000 - - ) - -286  - #S_IFREG - 0100000 - - ) - -287  - #S_IFLNK - 0120000 - - ) - -288  - #S_IFSOCK - 0140000 - - ) - -289 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -290  - #S_IFWHT - 0160000 - - ) - -291  - #S_IFXATTR - 0200000 - - ) - -296  - #S_IRWXU - 0000700 - - ) - -297  - #S_IRUSR - 0000400 - - ) - -298  - #S_IWUSR - 0000200 - - ) - -299  - #S_IXUSR - 0000100 - - ) - -301  - #S_IRWXG - 0000070 - - ) - -302  - #S_IRGRP - 0000040 - - ) - -303  - #S_IWGRP - 0000020 - - ) - -304  - #S_IXGRP - 0000010 - - ) - -306  - #S_IRWXO - 0000007 - - ) - -307  - #S_IROTH - 0000004 - - ) - -308  - #S_IWOTH - 0000002 - - ) - -309  - #S_IXOTH - 0000001 - - ) - -311  - #S_ISUID - 0004000 - - ) - -312  - #S_ISGID - 0002000 - - ) - -313  - #S_ISVTX - 0001000 - - ) - -315 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -316  - #S_ISTXT - -S_ISVTX - - - ) - -317  - #S_IREAD - -S_IRUSR - - - ) - -318  - #S_IWRITE - -S_IWUSR - - - ) - -319  - #S_IEXEC - -S_IXUSR - - - ) - -329  - #S_ISBLK -( -m -č(((mč& 0170000č=đ0060000č - - ) - -330  - #S_ISCHR -( -m -č(((mč& 0170000č=đ0020000č - - ) - -331  - #S_ISDIR -( -m -č(((mč& 0170000č=đ0040000č - - ) - -332  - #S_ISFIFO -( -m -č(((mč& 0170000č=đ0010000č - - ) - -333  - #S_ISREG -( -m -č(((mč& 0170000č=đ0100000č - - ) - -334  - #S_ISLNK -( -m -č(((mč& 0170000č=đ0120000č - - ) - -335  - #S_ISSOCK -( -m -č(((mč& 0170000č=đ0140000č - - ) - -336 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -337  - #S_ISWHT -( -m -č(((mč& 0170000č=đ0160000č - - ) - -338  - #S_ISXATTR -( -m -č(((mč& 0200000č=đ0200000č - - ) - -356  - #S_TYPEISMQ -( -buf -č(0č - - ) - -357  - #S_TYPEISSEM -( -buf -č(0č - - ) - -358  - #S_TYPEISSHM -( -buf -č(0č - - ) - -374  - #S_TYPEISTMO -( -buf -č(0č - - ) - -377 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -378  - #ACCESSPERMS - ( -S_IRWXU -| -S_IRWXG -| -S_IRWXO -č - - ) - -380  - #ALLPERMS - ( -S_ISUID -| -S_ISGID -| -S_ISTXT -| -S_IRWXU -| -S_IRWXG -| -S_IRWXO -) - - ) - -382  - #DEFFILEMODE - ( -S_IRUSR -| -S_IWUSR -| -S_IRGRP -| -S_IWGRP -| -S_IROTH -| -S_IWOTH -) - - ) - -384  - #S_BLKSIZE - 512 - - ) - -391  - #UF_SETTABLE - 0x0000fffŕ - - ) - -392  - #UF_NODUMP - 0x00000001 - - ) - -393  - #UF_IMMUTABLE - 0x00000002 - - ) - -394  - #UF_APPEND - 0x00000004 - - ) - -395  - #UF_OPAQUE - 0x00000008 - - ) - -402  - #UF_HIDDEN - 0x00008000 - - ) - -407  - #SF_SETTABLE - 0xffff0000 - - ) - -408  - #SF_ARCHIVED - 0x00010000 - - ) - -409  - #SF_IMMUTABLE - 0x00020000 - - ) - -410  - #SF_APPEND - 0x00040000 - - ) - -422 -__BEGIN_DECLS - - -424  - $chmod -(cÚˇ *, -mode_t -č - `__DARWIN_ALIAS -( -chmod -); - -425  - $fchmod -(, -mode_t -č - `__DARWIN_ALIAS -( -fchmod -); - -426  - $fˇ© -(,  -ˇ© - *č - `__DARWIN_INODE64 -( -fˇ© -); - -427  - $lˇ© -(cÚˇ *,  -ˇ© - *č - `__DARWIN_INODE64 -( -lˇ© -); - -428  - `mkdś -(cÚˇ *, -mode_t -); - -429  - `mkfifo -(cÚˇ *, -mode_t -); - -430  - $ˇ© -(cÚˇ *,  -ˇ© - *č - `__DARWIN_INODE64 -(stat); - -431  - `mknod -(cÚˇ *, -mode_t -, -dev_t -); - -432 -mode_t - - `umask -(mode_t); - -434 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -435 #iâdeŕ -_FILESEC_T - - -436  -_fžeŁc -; - -437  -_fžeŁc - * - tfžeŁc_t -; - -438  - #_FILESEC_T - - - ) - -440  - `chćags -(cÚˇ *, -__ušt32_t -); - -441  - `chmodx_Ĺ -(cÚˇ *, -fžeŁc_t -); - -442  - `fchćags -(, -__ušt32_t -); - -443  - `fchmodx_Ĺ -(, -fžeŁc_t -); - -444  - $fˇ©x_Ĺ -(,  -ˇ© - *, -fžeŁc_t -č - `__DARWIN_INODE64 -( -fˇ©x_Ĺ -); - -445  - `lchćags -(cÚˇ *, -__ušt32_t -); - -446  - `lchmod -(cÚˇ *, -mode_t -); - -447  - $lˇ©x_Ĺ -(cÚˇ *,  -ˇ© - *, -fžeŁc_t -č - `__DARWIN_INODE64 -( -lˇ©x_Ĺ -); - -448  - `mkdśx_Ĺ -(cÚˇ *, -fžeŁc_t -); - -449  - `mkfifox_Ĺ -(cÚˇ *, -fžeŁc_t -); - -450  - $ˇ©x_Ĺ -(cÚˇ *,  -ˇ© - *, -fžeŁc_t -č - `__DARWIN_INODE64 -( -ˇ©x_Ĺ -); - -451  - `umaskx_Ĺ -( -fžeŁc_t -); - -453  - `fˇ©x64_Ĺ -(,  -ˇ©64 - *, -fžeŁc_t -); - -454  - `lˇ©x64_Ĺ -(cÚˇ *,  -ˇ©64 - *, -fžeŁc_t -); - -455  - `ˇ©x64_Ĺ -(cÚˇ *,  -ˇ©64 - *, -fžeŁc_t -); - -456  - `fˇ©64 -(,  -ˇ©64 - *); - -457  - `lˇ©64 -(cÚˇ *,  -ˇ©64 - *); - -458  - `ˇ©64 -(cÚˇ *,  -ˇ©64 - *); - -461 -__END_DECLS - - - @/usr/include/sys/types.h - -69 #iâdeŕ -_SYS_TYPES_H_ - - -70  - #_SYS_TYPES_H_ - - - ) - -72  - ~ - -74 #iâdeŕ -__ASSEMBLER__ - - -75  - ~ - -78  - ~ - -79  - ~ - -81  - ~ - -83 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -84  - tu_ch¬ -; - -85  - tu_shÜt -; - -86  - tu_št -; - -87 #iâdeŕ -_U_LONG - - -88  - tu_lÚg -; - -89  - #_U_LONG - - - ) - -91  - tushÜt -; - -92  - tušt -; - -95  -u_št64_t - - tu_quad_t -; - -96  -št64_t - - tquad_t -; - -97  -quad_t - * - tqaddr_t -; - -99 * - t˙ddr_t -; - -100  -št32_t - - tdaddr_t -; - -102 #iâdeŕ -_DEV_T - - -103  -__d¬wš_dev_t - - tdev_t -; - -104  - #_DEV_T - - - ) - -107  -u_št32_t - - tfix±_t -; - -109 #iâdeŕ -_BLKCNT_T - - -110  -__d¬wš_blkút_t - - tblkút_t -; - -111  - #_BLKCNT_T - - - ) - -114 #iâdeŕ -_BLKSIZE_T - - -115  -__d¬wš_blksize_t - - tblksize_t -; - -116  - #_BLKSIZE_T - - - ) - -119 #iâdeŕ -_GID_T - - -120  -__d¬wš_gid_t - - tgid_t -; - -121  - #_GID_T - - - ) - -124 #iâdeŕ -_IN_ADDR_T - - -125  - #_IN_ADDR_T - - - ) - -126  -__ušt32_t - - tš_addr_t -; - -129 #iâdeŕ -_IN_PORT_T - - -130  - #_IN_PORT_T - - - ) - -131  -__ušt16_t - - tš_pÜt_t -; - -134 #iâdef -_INO_T - - -135  -__d¬wš_šo_t - - tšo_t -; - -136  - #_INO_T - - - ) - -139 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -140 #iâdef -_INO64_T - - -141  -__d¬wš_šo64_t - - tšo64_t -; - -142  - #_INO64_T - - - ) - -146 #iâdeŕ -_KEY_T - - -147  - #_KEY_T - - - ) - -148  -__št32_t - - tkey_t -; - -151 #iâdef -_MODE_T - - -152  -__d¬wš_mode_t - - tmode_t -; - -153  - #_MODE_T - - - ) - -156 #iâdeŕ -_NLINK_T - - -157  -__ušt16_t - - tĆšk_t -; - -158  - #_NLINK_T - - - ) - -161 #iâdeŕ -_ID_T - - -162  - #_ID_T - - - ) - -163  -__d¬wš_id_t - - tid_t -; - -166 #iâdeŕ -_PID_T - - -167  -__d¬wš_pid_t - - tpid_t -; - -168  - #_PID_T - - - ) - -171 #iâdeŕ -_OFF_T - - -172  -__d¬wš_off_t - - toff_t -; - -173  - #_OFF_T - - - ) - -176  -št32_t - - tŁgsz_t -; - -177  -št32_t - - tswblk_t -; - -179 #iâdeŕ -_UID_T - - -180  -__d¬wš_uid_t - - tuid_t -; - -181  - #_UID_T - - - ) - -184 #iâdeŕ -_ID_T - - -185  -__d¬wš_id_t - - tid_t -; - -186  - #_ID_T - - - ) - -189 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -191 #iŕ -defšed -( -__ýluĄlus -) - -197  -šlše - -__št32_t - - $majÜ -( -__ušt32_t - -_x -) - -199  ( -__št32_t -)((( -__ušt32_t -) -_x - >> 24) & 0xff); - -200 - } -} - -202  -šlše - -__št32_t - - $mšÜ -( -__ušt32_t - -_x -) - -204  ( -__št32_t -)(( -_x -) & 0xffffff); - -205 - } -} - -207  -šlše - -dev_t - - $makedev -( -__ušt32_t - -_majÜ -, __ušt32_ -_mšÜ -) - -209  ( -dev_t -)((( -_majÜ -č<< 24č| ( -_mšÜ -)); - -210 - } -} - -214  - #majÜ -( -x -č(( -št32_t -)((( -u_št32_t -)(xč>> 24č& 0xff)) - - ) - -215  - #mšÜ -( -x -č(( -št32_t -)((xč& 0xffffff)) - - ) - -216  - #makedev -( -x -, -y -č(( -dev_t -)(((xč<< 24č| (y))) - - ) - -221 #iâdef -_CLOCK_T - - -222  - #_CLOCK_T - - - ) - -223  -__d¬wš_ţock_t - - tţock_t -; - -226 #iâdeŕ -_SIZE_T - - -227  - #_SIZE_T - - - ) - -230  -__d¬wš_size_t - - tsize_t -; - -233 #iâdef -_SSIZE_T - - -234  - #_SSIZE_T - - - ) - -235  -__d¬wš_ssize_t - - tssize_t -; - -238 #iâdef -_TIME_T - - -239  - #_TIME_T - - - ) - -240  -__d¬wš_time_t - - ttime_t -; - -243 #iâdeŕ -_USECONDS_T - - -244  - #_USECONDS_T - - - ) - -245  -__d¬wš_uŁcÚds_t - - tuŁcÚds_t -; - -248 #iâdeŕ -_SUSECONDS_T - - -249  - #_SUSECONDS_T - - - ) - -250  -__d¬wš_suŁcÚds_t - - tsuŁcÚds_t -; - -253 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -259  - #__Ăed_fd_Łt - - - ) - -260  - ~ - -262  - #NBBY - -__DARWIN_NBBY - - - ) - -263  - #NFDBITS - -__DARWIN_NFDBITS - - - ) - -264  - #howmŞy -( -x -, -y -č - `__DARWIN_howmŞy -(x, yč - - ) - -265  -__št32_t - - tfd_mask -; - -273 #iâdef -FD_SETSIZE - - -274  - #FD_SETSIZE - -__DARWIN_FD_SETSIZE - - - ) - -276 #iâdeŕ -FD_SET - - -277  - #FD_SET -( -n -, -p -č - `__DARWIN_FD_SET -Ň,…) - - ) - -279 #iâdeŕ -FD_CLR - - -280  - #FD_CLR -( -n -, -p -č - `__DARWIN_FD_CLR -Ň,…) - - ) - -282 #iâdeŕ -FD_ISSET - - -283  - #FD_ISSET -( -n -, -p -č - `__DARWIN_FD_ISSET -Ň,…) - - ) - -285 #iâdeŕ -FD_ZERO - - -286  - #FD_ZERO -( -p -č - `__DARWIN_FD_ZERO -Ő) - - ) - -288 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -289 #iâdeŕ -FD_COPY - - -290  - #FD_COPY -( -f -, -t -č - `__DARWIN_FD_COPY -(f,) - - ) - -295 #iŕ -defšed -( -__STDC__ -č&& defšed( -KERNEL -) - -301  - g´oc -; - -302  - gpg˝ -; - -303  - guüed -; - -304  - gru§ge -; - -305  - gfže -; - -306  - gbuf -; - -307  - g‰y -; - -308  - guio -; - -314 #iâdeŕ -__POSIX_LIB__ - - -316 #iâdeŕ -_PTHREAD_ATTR_T - - -317  - #_PTHREAD_ATTR_T - - - ) - -318  -__d¬wš_±h»ad_©Ś_t - - t±h»ad_©Ś_t -; - -320 #iâdeŕ -_PTHREAD_COND_T - - -321  - #_PTHREAD_COND_T - - - ) - -322  -__d¬wš_±h»ad_cÚd_t - - t±h»ad_cÚd_t -; - -324 #iâdeŕ -_PTHREAD_CONDATTR_T - - -325  - #_PTHREAD_CONDATTR_T - - - ) - -326  -__d¬wš_±h»ad_cÚd©Ś_t - - t±h»ad_cÚd©Ś_t -; - -328 #iâdeŕ -_PTHREAD_MUTEX_T - - -329  - #_PTHREAD_MUTEX_T - - - ) - -330  -__d¬wš_±h»ad_mu‹x_t - - t±h»ad_mu‹x_t -; - -332 #iâdeŕ -_PTHREAD_MUTEXATTR_T - - -333  - #_PTHREAD_MUTEXATTR_T - - - ) - -334  -__d¬wš_±h»ad_mu‹x©Ś_t - - t±h»ad_mu‹x©Ś_t -; - -336 #iâdeŕ -_PTHREAD_ONCE_T - - -337  - #_PTHREAD_ONCE_T - - - ) - -338  -__d¬wš_±h»ad_Úű_t - - t±h»ad_Úű_t -; - -340 #iâdeŕ -_PTHREAD_RWLOCK_T - - -341  - #_PTHREAD_RWLOCK_T - - - ) - -342  -__d¬wš_±h»ad_rwlock_t - - t±h»ad_rwlock_t -; - -344 #iâdeŕ -_PTHREAD_RWLOCKATTR_T - - -345  - #_PTHREAD_RWLOCKATTR_T - - - ) - -346  -__d¬wš_±h»ad_rwlock©Ś_t - - t±h»ad_rwlock©Ś_t -; - -348 #iâdeŕ -_PTHREAD_T - - -349  - #_PTHREAD_T - - - ) - -350  -__d¬wš_±h»ad_t - - t±h»ad_t -; - -355 #iâdeŕ -_PTHREAD_KEY_T - - -356  - #_PTHREAD_KEY_T - - - ) - -357  -__d¬wš_±h»ad_key_t - - t±h»ad_key_t -; - -361 #iâdeŕ -_FSBLKCNT_T - - -362  - #_FSBLKCNT_T - - - ) - -363  -__d¬wš_fsblkút_t - - tfsblkút_t -; - -366 #iâdeŕ -_FSFILCNT_T - - -367  - #_FSFILCNT_T - - - ) - -368  -__d¬wš_fsfžút_t - - tfsfžút_t -; - - @/usr/include/unistd.h - -68 #iâdeŕ -_UNISTD_H_ - - -69  - #_UNISTD_H_ - - - ) - -71  - ~<_tyłs.h -> - -72  - ~ - -74 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -75 #iâdeŕ -_DEV_T - - -76  - #_DEV_T - - - ) - -77  -__d¬wš_dev_t - - tdev_t -; - -81 #iâdeŕ -_GID_T - - -82  - #_GID_T - - - ) - -83  -__d¬wš_gid_t - - tgid_t -; - -86 #iâdeŕ -_INTPTR_T - - -87  - #_INTPTR_T - - - ) - -88  -__d¬wš_šŤŚ_t - - tšŤŚ_t -; - -91 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -92 #iâdeŕ -_MODE_T - - -93  - #_MODE_T - - - ) - -94  -__d¬wš_mode_t - - tmode_t -; - -98 #iâdeŕ -_OFF_T - - -99  - #_OFF_T - - - ) - -100  -__d¬wš_off_t - - toff_t -; - -103 #iâdeŕ -_PID_T - - -104  - #_PID_T - - - ) - -105  -__d¬wš_pid_t - - tpid_t -; - -108 #iâdeŕ -_SIZE_T - - -109  - #_SIZE_T - - - ) - -112  -__d¬wš_size_t - - tsize_t -; - -115 #iâdef -_SSIZE_T - - -116  - #_SSIZE_T - - - ) - -117  -__d¬wš_ssize_t - - tssize_t -; - -120 #iâdeŕ -_UID_T - - -121  - #_UID_T - - - ) - -122  -__d¬wš_uid_t - - tuid_t -; - -125 #iâdeŕ -_USECONDS_T - - -126  - #_USECONDS_T - - - ) - -127  -__d¬wš_uŁcÚds_t - - tuŁcÚds_t -; - -130 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -131 #iâdeŕ -_UUID_T - - -132  - #_UUID_T - - - ) - -133  -__d¬wš_uuid_t - - tuuid_t -; - -137  - #STDIN_FILENO - 0 - - ) - -138  - #STDOUT_FILENO - 1 - - ) - -139  - #STDERR_FILENO - 2 - - ) - -141 #iâdeŕ -NULL - - -142  - #NULL - -__DARWIN_NULL - - - ) - -147  - #_XOPEN_VERSION - 600 - - ) - -148  - #_XOPEN_XCU_VERSION - 4 - - ) - -152  - #_POSIX_ADVISORY_INFO - (-1č - - ) - -153  - #_POSIX_ASYNCHRONOUS_IO - (-1č - - ) - -154  - #_POSIX_BARRIERS - (-1č - - ) - -155  - #_POSIX_CHOWN_RESTRICTED - 200112L - - ) - -156  - #_POSIX_CLOCK_SELECTION - (-1č - - ) - -157  - #_POSIX_CPUTIME - (-1č - - ) - -158  - #_POSIX_FSYNC - 200112L - - ) - -159  - #_POSIX_IPV6 - 200112L - - ) - -160  - #_POSIX_JOB_CONTROL - 200112L - - ) - -161  - #_POSIX_MAPPED_FILES - 200112L - - ) - -162  - #_POSIX_MEMLOCK - (-1č - - ) - -163  - #_POSIX_MEMLOCK_RANGE - (-1č - - ) - -164  - #_POSIX_MEMORY_PROTECTION - 200112L - - ) - -165  - #_POSIX_MESSAGE_PASSING - (-1č - - ) - -166  - #_POSIX_MONOTONIC_CLOCK - (-1č - - ) - -167  - #_POSIX_NO_TRUNC - 200112L - - ) - -168  - #_POSIX_PRIORITIZED_IO - (-1č - - ) - -169  - #_POSIX_PRIORITY_SCHEDULING - (-1č - - ) - -170  - #_POSIX_RAW_SOCKETS - (-1č - - ) - -171  - #_POSIX_READER_WRITER_LOCKS - 200112L - - ) - -172  - #_POSIX_REALTIME_SIGNALS - (-1č - - ) - -173  - #_POSIX_REGEXP - 200112L - - ) - -174  - #_POSIX_SAVED_IDS - 200112L - - ) - -175  - #_POSIX_SEMAPHORES - (-1č - - ) - -176  - #_POSIX_SHARED_MEMORY_OBJECTS - (-1č - - ) - -177  - #_POSIX_SHELL - 200112L - - ) - -178  - #_POSIX_SPAWN - (-1č - - ) - -179  - #_POSIX_SPIN_LOCKS - (-1č - - ) - -180  - #_POSIX_SPORADIC_SERVER - (-1č - - ) - -181  - #_POSIX_SYNCHRONIZED_IO - (-1č - - ) - -182  - #_POSIX_THREAD_ATTR_STACKADDR - 200112L - - ) - -183  - #_POSIX_THREAD_ATTR_STACKSIZE - 200112L - - ) - -184  - #_POSIX_THREAD_CPUTIME - (-1č - - ) - -185  - #_POSIX_THREAD_PRIO_INHERIT - (-1č - - ) - -186  - #_POSIX_THREAD_PRIO_PROTECT - (-1č - - ) - -187  - #_POSIX_THREAD_PRIORITY_SCHEDULING - (-1č - - ) - -188  - #_POSIX_THREAD_PROCESS_SHARED - 200112L - - ) - -189  - #_POSIX_THREAD_SAFE_FUNCTIONS - 200112L - - ) - -190  - #_POSIX_THREAD_SPORADIC_SERVER - (-1č - - ) - -191  - #_POSIX_THREADS - 200112L - - ) - -192  - #_POSIX_TIMEOUTS - (-1č - - ) - -193  - #_POSIX_TIMERS - (-1č - - ) - -194  - #_POSIX_TRACE - (-1č - - ) - -195  - #_POSIX_TRACE_EVENT_FILTER - (-1č - - ) - -196  - #_POSIX_TRACE_INHERIT - (-1č - - ) - -197  - #_POSIX_TRACE_LOG - (-1č - - ) - -198  - #_POSIX_TYPED_MEMORY_OBJECTS - (-1č - - ) - -199 #iâdeŕ -_POSIX_VDISABLE - - -200  - #_POSIX_VDISABLE - 0xfŕ - - ) - -203  - #_POSIX2_C_BIND - 200112L - - ) - -204  - #_POSIX2_C_DEV - 200112L - - ) - -205  - #_POSIX2_CHAR_TERM - 200112L - - ) - -206  - #_POSIX2_FORT_DEV - (-1č - - ) - -207  - #_POSIX2_FORT_RUN - 200112L - - ) - -208  - #_POSIX2_LOCALEDEF - 200112L - - ) - -209  - #_POSIX2_PBS - (-1) - - ) - -210  - #_POSIX2_PBS_ACCOUNTING - (-1) - - ) - -211  - #_POSIX2_PBS_CHECKPOINT - (-1) - - ) - -212  - #_POSIX2_PBS_LOCATE - (-1) - - ) - -213  - #_POSIX2_PBS_MESSAGE - (-1) - - ) - -214  - #_POSIX2_PBS_TRACK - (-1) - - ) - -215  - #_POSIX2_SW_DEV - 200112L - - ) - -216  - #_POSIX2_UPE - 200112L - - ) - -218  - #_V6_ILP32_OFF32 - (-1) - - ) - -219  - #_V6_ILP32_OFFBIG - (1) - - ) - -220  - #_V6_LP64_OFF64 - (-1) - - ) - -221  - #_V6_LPBIG_OFFBIG - (-1) - - ) - -223  - #_XBS5_ILP32_OFF32 - -_V6_ILP32_OFF32 - - - ) - -224  - #_XBS5_ILP32_OFFBIG - -_V6_ILP32_OFFBIG - - - ) - -225  - #_XBS5_LP64_OFF64 - -_V6_LP64_OFF64 - - - ) - -226  - #_XBS5_LPBIG_OFFBIG - -_V6_LPBIG_OFFBIG - - - ) - -228  - #_XOPEN_CRYPT - (1) - - ) - -229  - #_XOPEN_ENH_I18N - (1č - - ) - -230  - #_XOPEN_LEGACY - (-1č - - ) - -231  - #_XOPEN_REALTIME - (-1č - - ) - -232  - #_XOPEN_REALTIME_THREADS - (-1č - - ) - -233  - #_XOPEN_SHM - (1) - - ) - -234  - #_XOPEN_STREAMS - (-1) - - ) - -235  - #_XOPEN_UNIX - (1) - - ) - -238  - #F_ULOCK - 0 - - ) - -239  - #F_LOCK - 1 - - ) - -240  - #F_TLOCK - 2 - - ) - -241  - #F_TEST - 3 - - ) - -244  - #_SC_ARG_MAX - 1 - - ) - -245  - #_SC_CHILD_MAX - 2 - - ) - -246  - #_SC_CLK_TCK - 3 - - ) - -247  - #_SC_NGROUPS_MAX - 4 - - ) - -248  - #_SC_OPEN_MAX - 5 - - ) - -249  - #_SC_JOB_CONTROL - 6 - - ) - -250  - #_SC_SAVED_IDS - 7 - - ) - -251  - #_SC_VERSION - 8 - - ) - -252  - #_SC_BC_BASE_MAX - 9 - - ) - -253  - #_SC_BC_DIM_MAX - 10 - - ) - -254  - #_SC_BC_SCALE_MAX - 11 - - ) - -255  - #_SC_BC_STRING_MAX - 12 - - ) - -256  - #_SC_COLL_WEIGHTS_MAX - 13 - - ) - -257  - #_SC_EXPR_NEST_MAX - 14 - - ) - -258  - #_SC_LINE_MAX - 15 - - ) - -259  - #_SC_RE_DUP_MAX - 16 - - ) - -260  - #_SC_2_VERSION - 17 - - ) - -261  - #_SC_2_C_BIND - 18 - - ) - -262  - #_SC_2_C_DEV - 19 - - ) - -263  - #_SC_2_CHAR_TERM - 20 - - ) - -264  - #_SC_2_FORT_DEV - 21 - - ) - -265  - #_SC_2_FORT_RUN - 22 - - ) - -266  - #_SC_2_LOCALEDEF - 23 - - ) - -267  - #_SC_2_SW_DEV - 24 - - ) - -268  - #_SC_2_UPE - 25 - - ) - -269  - #_SC_STREAM_MAX - 26 - - ) - -270  - #_SC_TZNAME_MAX - 27 - - ) - -271  - #_SC_ASYNCHRONOUS_IO - 28 - - ) - -272  - #_SC_PAGESIZE - 29 - - ) - -273  - #_SC_MEMLOCK - 30 - - ) - -274  - #_SC_MEMLOCK_RANGE - 31 - - ) - -275  - #_SC_MEMORY_PROTECTION - 32 - - ) - -276  - #_SC_MESSAGE_PASSING - 33 - - ) - -277  - #_SC_PRIORITIZED_IO - 34 - - ) - -278  - #_SC_PRIORITY_SCHEDULING - 35 - - ) - -279  - #_SC_REALTIME_SIGNALS - 36 - - ) - -280  - #_SC_SEMAPHORES - 37 - - ) - -281  - #_SC_FSYNC - 38 - - ) - -282  - #_SC_SHARED_MEMORY_OBJECTS - 39 - - ) - -283  - #_SC_SYNCHRONIZED_IO - 40 - - ) - -284  - #_SC_TIMERS - 41 - - ) - -285  - #_SC_AIO_LISTIO_MAX - 42 - - ) - -286  - #_SC_AIO_MAX - 43 - - ) - -287  - #_SC_AIO_PRIO_DELTA_MAX - 44 - - ) - -288  - #_SC_DELAYTIMER_MAX - 45 - - ) - -289  - #_SC_MQ_OPEN_MAX - 46 - - ) - -290  - #_SC_MAPPED_FILES - 47 - - ) - -291  - #_SC_RTSIG_MAX - 48 - - ) - -292  - #_SC_SEM_NSEMS_MAX - 49 - - ) - -293  - #_SC_SEM_VALUE_MAX - 50 - - ) - -294  - #_SC_SIGQUEUE_MAX - 51 - - ) - -295  - #_SC_TIMER_MAX - 52 - - ) - -296 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -297  - #_SC_NPROCESSORS_CONF - 57 - - ) - -298  - #_SC_NPROCESSORS_ONLN - 58 - - ) - -300  - #_SC_2_PBS - 59 - - ) - -301  - #_SC_2_PBS_ACCOUNTING - 60 - - ) - -302  - #_SC_2_PBS_CHECKPOINT - 61 - - ) - -303  - #_SC_2_PBS_LOCATE - 62 - - ) - -304  - #_SC_2_PBS_MESSAGE - 63 - - ) - -305  - #_SC_2_PBS_TRACK - 64 - - ) - -306  - #_SC_ADVISORY_INFO - 65 - - ) - -307  - #_SC_BARRIERS - 66 - - ) - -308  - #_SC_CLOCK_SELECTION - 67 - - ) - -309  - #_SC_CPUTIME - 68 - - ) - -310  - #_SC_FILE_LOCKING - 69 - - ) - -311  - #_SC_GETGR_R_SIZE_MAX - 70 - - ) - -312  - #_SC_GETPW_R_SIZE_MAX - 71 - - ) - -313  - #_SC_HOST_NAME_MAX - 72 - - ) - -314  - #_SC_LOGIN_NAME_MAX - 73 - - ) - -315  - #_SC_MONOTONIC_CLOCK - 74 - - ) - -316  - #_SC_MQ_PRIO_MAX - 75 - - ) - -317  - #_SC_READER_WRITER_LOCKS - 76 - - ) - -318  - #_SC_REGEXP - 77 - - ) - -319  - #_SC_SHELL - 78 - - ) - -320  - #_SC_SPAWN - 79 - - ) - -321  - #_SC_SPIN_LOCKS - 80 - - ) - -322  - #_SC_SPORADIC_SERVER - 81 - - ) - -323  - #_SC_THREAD_ATTR_STACKADDR - 82 - - ) - -324  - #_SC_THREAD_ATTR_STACKSIZE - 83 - - ) - -325  - #_SC_THREAD_CPUTIME - 84 - - ) - -326  - #_SC_THREAD_DESTRUCTOR_ITERATIONS - 85 - - ) - -327  - #_SC_THREAD_KEYS_MAX - 86 - - ) - -328  - #_SC_THREAD_PRIO_INHERIT - 87 - - ) - -329  - #_SC_THREAD_PRIO_PROTECT - 88 - - ) - -330  - #_SC_THREAD_PRIORITY_SCHEDULING - 89 - - ) - -331  - #_SC_THREAD_PROCESS_SHARED - 90 - - ) - -332  - #_SC_THREAD_SAFE_FUNCTIONS - 91 - - ) - -333  - #_SC_THREAD_SPORADIC_SERVER - 92 - - ) - -334  - #_SC_THREAD_STACK_MIN - 93 - - ) - -335  - #_SC_THREAD_THREADS_MAX - 94 - - ) - -336  - #_SC_TIMEOUTS - 95 - - ) - -337  - #_SC_THREADS - 96 - - ) - -338  - #_SC_TRACE - 97 - - ) - -339  - #_SC_TRACE_EVENT_FILTER - 98 - - ) - -340  - #_SC_TRACE_INHERIT - 99 - - ) - -341  - #_SC_TRACE_LOG - 100 - - ) - -342  - #_SC_TTY_NAME_MAX - 101 - - ) - -343  - #_SC_TYPED_MEMORY_OBJECTS - 102 - - ) - -344  - #_SC_V6_ILP32_OFF32 - 103 - - ) - -345  - #_SC_V6_ILP32_OFFBIG - 104 - - ) - -346  - #_SC_V6_LP64_OFF64 - 105 - - ) - -347  - #_SC_V6_LPBIG_OFFBIG - 106 - - ) - -348  - #_SC_IPV6 - 118 - - ) - -349  - #_SC_RAW_SOCKETS - 119 - - ) - -350  - #_SC_SYMLOOP_MAX - 120 - - ) - -351  - #_SC_ATEXIT_MAX - 107 - - ) - -352  - #_SC_IOV_MAX - 56 - - ) - -353  - #_SC_PAGE_SIZE - -_SC_PAGESIZE - - - ) - -354  - #_SC_XOPEN_CRYPT - 108 - - ) - -355  - #_SC_XOPEN_ENH_I18N - 109 - - ) - -356  - #_SC_XOPEN_LEGACY - 110 - - ) - -357  - #_SC_XOPEN_REALTIME - 111 - - ) - -358  - #_SC_XOPEN_REALTIME_THREADS - 112 - - ) - -359  - #_SC_XOPEN_SHM - 113 - - ) - -360  - #_SC_XOPEN_STREAMS - 114 - - ) - -361  - #_SC_XOPEN_UNIX - 115 - - ) - -362  - #_SC_XOPEN_VERSION - 116 - - ) - -363  - #_SC_XOPEN_XCU_VERSION - 121 - - ) - -364  - #_SC_XBS5_ILP32_OFF32 - 122 - - ) - -365  - #_SC_XBS5_ILP32_OFFBIG - 123 - - ) - -366  - #_SC_XBS5_LP64_OFF64 - 124 - - ) - -367  - #_SC_XBS5_LPBIG_OFFBIG - 125 - - ) - -368  - #_SC_SS_REPL_MAX - 126 - - ) - -369  - #_SC_TRACE_EVENT_NAME_MAX - 127 - - ) - -370  - #_SC_TRACE_NAME_MAX - 128 - - ) - -371  - #_SC_TRACE_SYS_MAX - 129 - - ) - -372  - #_SC_TRACE_USER_EVENT_MAX - 130 - - ) - -373  - #_SC_PASS_MAX - 131 - - ) - -375 #iâdeŕ -_CS_PATH - - -376  - #_CS_PATH - 1 - - ) - -378  - #_CS_POSIX_V6_ILP32_OFF32_CFLAGS - 2 - - ) - -379  - #_CS_POSIX_V6_ILP32_OFF32_LDFLAGS - 3 - - ) - -380  - #_CS_POSIX_V6_ILP32_OFF32_LIBS - 4 - - ) - -381  - #_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS - 5 - - ) - -382  - #_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS - 6 - - ) - -383  - #_CS_POSIX_V6_ILP32_OFFBIG_LIBS - 7 - - ) - -384  - #_CS_POSIX_V6_LP64_OFF64_CFLAGS - 8 - - ) - -385  - #_CS_POSIX_V6_LP64_OFF64_LDFLAGS - 9 - - ) - -386  - #_CS_POSIX_V6_LP64_OFF64_LIBS - 10 - - ) - -387  - #_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS - 11 - - ) - -388  - #_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS - 12 - - ) - -389  - #_CS_POSIX_V6_LPBIG_OFFBIG_LIBS - 13 - - ) - -390  - #_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS - 14 - - ) - -393  - #_CS_XBS5_ILP32_OFF32_CFLAGS - 20 - - ) - -394  - #_CS_XBS5_ILP32_OFF32_LDFLAGS - 21 - - ) - -395  - #_CS_XBS5_ILP32_OFF32_LIBS - 22 - - ) - -396  - #_CS_XBS5_ILP32_OFF32_LINTFLAGS - 23 - - ) - -397  - #_CS_XBS5_ILP32_OFFBIG_CFLAGS - 24 - - ) - -398  - #_CS_XBS5_ILP32_OFFBIG_LDFLAGS - 25 - - ) - -399  - #_CS_XBS5_ILP32_OFFBIG_LIBS - 26 - - ) - -400  - #_CS_XBS5_ILP32_OFFBIG_LINTFLAGS - 27 - - ) - -401  - #_CS_XBS5_LP64_OFF64_CFLAGS - 28 - - ) - -402  - #_CS_XBS5_LP64_OFF64_LDFLAGS - 29 - - ) - -403  - #_CS_XBS5_LP64_OFF64_LIBS - 30 - - ) - -404  - #_CS_XBS5_LP64_OFF64_LINTFLAGS - 31 - - ) - -405  - #_CS_XBS5_LPBIG_OFFBIG_CFLAGS - 32 - - ) - -406  - #_CS_XBS5_LPBIG_OFFBIG_LDFLAGS - 33 - - ) - -407  - #_CS_XBS5_LPBIG_OFFBIG_LIBS - 34 - - ) - -408  - #_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS - 35 - - ) - -410  - #_CS_DARWIN_USER_DIR - 65536 - - ) - -411  - #_CS_DARWIN_USER_TEMP_DIR - 65537 - - ) - -412  - #_CS_DARWIN_USER_CACHE_DIR - 65538 - - ) - -414 -__BEGIN_DECLS - - -416  - $_ex™ -(č -__d—d2 -; - -417  - `acűss -(const *, ); - -419 - `®¬m -(); - -420  - `chdś -(const *); - -421  - `chown -(cÚˇ *, -uid_t -, -gid_t -); - -422  - $ţoŁ -(č - `__DARWIN_ALIAS_C -( -ţoŁ -); - -423 -size_t - - $cÚfˇr -(, *, -size_t -č - `__DARWIN_ALIAS -( -cÚfˇr -); - -424 * - `üy± -(const *, const *); - -425 * - `ů”mid -(*); - -426  - `dup -(); - -427  - `dup2 -(, ); - -428 #iŕ -__DARWIN_UNIX03 - - -429  - $’üy± -(*, č - `__DARWIN_ALIAS -( -’üy± -); - -431  - `’üy± -(*, ); - -433  - `exeţ -(const *, const *, ...); - -434  - `exeţe -(const *, const *, ...); - -435  - `exeţp -(const *, const *, ...); - -436  - `execv -(const *, * const *); - -437  - `execve -(const *, * const *, * const *); - -438  - `execvp -(const *, * const *); - -439  - `fchown -(, -uid_t -, -gid_t -); - -440  - `fchdś -(); - -441 -pid_t - - `fÜk -(); - -442  - `ĺ©hcÚf -(, ); - -443  - $fsync -(č - `__DARWIN_ALIAS_C -( -fsync -); - -444  - `árun˙‹ -(, -off_t -); - -445 * - `g‘cwd -(*, -size_t -); - -446 -gid_t - - `g‘egid -(); - -447 -uid_t - - `g‘euid -(); - -448 -gid_t - - `g‘gid -(); - -449  - `g‘groups -(, -gid_t - []); - -450  - `g‘hoˇid -(); - -451  - `g‘hoˇÇme -(*, -size_t -); - -452 * - `g‘logš -(); - -453  - `g‘logš_r -(*, -size_t -); - -454  - $g‘Ýt -(, * cÚˇ [], cÚˇ *č - `__DARWIN_ALIAS -( -g‘Ýt -); - -455 -pid_t - - `g‘pgid -(pid_t); - -456 -pid_t - - `g‘pg˝ -(); - -457 -pid_t - - `g‘pid -(); - -458 -pid_t - - `g‘µid -(); - -459 -pid_t - - `g‘sid -(pid_t); - -460 -uid_t - - `g‘uid -(); - -461 * - `g‘wd -(*); - -462  - `i§‰y -(); - -463  - $lchown -(cÚˇ *, -uid_t -, -gid_t -č - `__DARWIN_ALIAS -( -lchown -); - -464  - `lšk -(const *, const *); - -465  - $lockf -(, , -off_t -č - `__DARWIN_ALIAS_C -( -lockf -); - -466 -off_t - - `lŁek -(, off_t, ); - -467  - $niű -(č - `__DARWIN_ALIAS -( -niű -); - -468  - `·thcÚf -(const *, ); - -469  - $·uŁ -(č - `__DARWIN_ALIAS_C -( -·uŁ -); - -470  - `pťe -([2]); - -471 -ssize_t - - $´—d -(, *, -size_t -, -off_t -č - `__DARWIN_ALIAS_C -( -´—d -); - -472 -ssize_t - - $pwr™e -(, cÚˇ *, -size_t -, -off_t -č - `__DARWIN_ALIAS_C -( -pwr™e -); - -473 -ssize_t - - $»ad -(, *, -size_t -č - `__DARWIN_ALIAS_C -( -»ad -); - -474 -ssize_t - - `»adlšk -(cÚˇ * -__»ˇriů -, * __»ˇriů, -size_t -); - -475  - `rmdś -(const *); - -476  - `Ł‹gid -( -gid_t -); - -477  - `Ł‹uid -( -uid_t -); - -478  - `Łtgid -( -gid_t -); - -479  - `ŁŤgid -( -pid_t -,…id_t); - -480 #iŕ -__DARWIN_UNIX03 - - -481 -pid_t - - $ŁŤg˝ -(č - `__DARWIN_ALIAS -( -ŁŤg˝ -); - -483  - `ŁŤg˝ -( -pid_t - -pid -,…id_ -pg˝ -); - -485  - $ŁŚegid -( -gid_t -, gid_tč - `__DARWIN_ALIAS -( -ŁŚegid -); - -486  - $ŁŚeuid -( -uid_t -, uid_tč - `__DARWIN_ALIAS -( -ŁŚeuid -); - -487 -pid_t - - `Łtsid -(); - -488  - `Łtuid -( -uid_t -); - -490 - $¦“p -(č - `__DARWIN_ALIAS_C -( -¦“p -); - -491  - `swab -(cÚˇ * -__»ˇriů -, * __»ˇriů, -ssize_t -); - -492  - `symlšk -(const *, const *); - -493  - `sync -(); - -494  - `syscÚf -(); - -495 -pid_t - - `tcg‘pg˝ -(); - -496  - `tcŁŤg˝ -(, -pid_t -); - -497  - `Śun˙‹ -(cÚˇ *, -off_t -); - -498 * - `‰yÇme -(); - -499 #iŕ -__DARWIN_UNIX03 - - -500  - $‰yÇme_r -(, *, -size_t -č - `__DARWIN_ALIAS -( -‰yÇme_r -); - -502 * - `‰yÇme_r -(, *, -size_t -); - -504 -uŁcÚds_t - - -505 - `u®¬m -( -uŁcÚds_t -, useconds_t); - -506  - `uĆšk -(const *); - -507  - $u¦“p -( -uŁcÚds_t -č - `__DARWIN_ALIAS_C -( -u¦“p -); - -508 -pid_t - - `vfÜk -(); - -509 -ssize_t - - $wr™e -(, cÚˇ *, -size_t -č - `__DARWIN_ALIAS_C -( -wr™e -); - -511 * -ÝŹrg -; - -512  -Ýtšd -, -Ý‹Ľ -, -ÝtÝt -; - -514 #if ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -515  - ~ - -517  - $_Ex™ -(č -__d—d2 -; - -518  - `acűssx_Ĺ -(cÚˇ  -acűssx_desüťtÜ - *, -size_t -, *, -uid_t -); - -519  - `aců -(const *); - -520  - `add_´ofž -(*, -size_t -, , ); - -521 * - `brk -(const *); - -522  - `chroŮ -(const *); - -523  - `’duŁrsh–l -(); - -524  - `execvP -(const *, const *, * const *); - -525 * - `fćagˇoˇr -(); - -526  - `g‘dŹbËsize -(); - -527  - `g‘domašÇme -(*, ); - -528  - `g‘grou¶iˇ -(const *, , *, *); - -529 -mode_t - - `g‘mode -(const *, mode_t); - -530  - $g‘·gesize -(č -__pu»2 -; - -531 * - `g‘·ss -(const *); - -532  - `g‘ł”eid -(, -uid_t - *, -gid_t - *); - -533  - `g‘pgid -( -pid_t - -_pid -); - -534  - `g‘sgroups_Ĺ -(*, -uuid_t -); - -535  - `g‘sid -( -pid_t - -_pid -); - -536 * - `g‘uŁrsh–l -(); - -537  - `g‘wgroups_Ĺ -(*, -uuid_t -); - -538  - `š™groups -(const *, ); - -539  - `śuŁrok -(, , const *, const *); - -540  - `śuŁrok_§ -(const *, , , const *, const *); - -541  - `isŁtugid -(); - -542 * - `mkd‹mp -(*); - -543  - `mknod -(cÚˇ *, -mode_t -, -dev_t -); - -544  - `mkˇemp -(*); - -545  - `mkˇemps -(*, ); - -546 * - `mk‹mp -(*); - -547  - `nfssvc -(, *); - -548  - `´ofž -(*, -size_t -, , ); - -549  - `±h»ad_Łtugid_Ĺ -( -uid_t -, -gid_t -); - -550  - `±h»ad_g‘ugid_Ĺ -Đ -uid_t - *, -gid_t - *); - -551  - `rcmd -(**, , const *, const *, const *, *); - -552  - `rcmd_af -(**, , const *, const *, const *, *, - -554  - `»boŮ -(); - -555  - `»voke -(const *); - -556  - `ĽesvpÜt -(*); - -557  - `ĽesvpÜt_af -(*, ); - -558  - `ruŁrok -(const *, , const *, const *); - -559 * - `sbrk -(); - -560  - `ŁtdomašÇme -(const *, ); - -561  - `Łtgroups -(, cÚˇ -gid_t - *); - -562  - `Łthoˇid -(); - -563  - `ŁthoˇÇme -(const *, ); - -564 #iŕ -__DARWIN_UNIX03 - - -565  - $Łtkey -(cÚˇ *č - `__DARWIN_ALIAS -( -Łtkey -); - -567  - `Łtkey -(const *); - -569  - `ŁŽogš -(const *); - -570 * - `Łtmode -(const *); - -571  - `ŁŚgid -( -gid_t -); - -572  - `ŁŚuid -( -uid_t -); - -573  - `Łtsgroups_Ĺ -(, cÚˇ -uuid_t -); - -574  - `ŁtuŁrsh–l -(); - -575  - `Łtwgroups_Ĺ -(, cÚˇ -uuid_t -); - -576  - `ˇąofćags -(**, *, *); - -577  - `sw­Ú -(const *); - -578  - `sys˙Î -(, ...); - -579  - `‰y¦Ů -(); - -580  - `und–‘e -(const *); - -581  - `unwh™eout -(const *); - -582 * - `v®loc -( -size_t -); - -584 * -subÝŹrg -; - -585  - `g‘subÝt -(**, * const *, **); - -588 #ifdeŕ -__LP64__ - - -589  - $g‘©Śliˇ -(cÚˇ *,*,*, -size_t -,č - `__DARWIN_ALIAS -( -g‘©Śliˇ -); - -590  - $ŁŹ‰ľiˇ -(cÚˇ *,*,*, -size_t -,č - `__DARWIN_ALIAS -( -ŁŹ‰ľiˇ -); - -591  - `exchŞged©a -(const *,const *,); - -592  - `g‘dś’Ś›§‰r -(,*,*, -size_t -,*,*,*,); - -593  - `٬chfs -(const *,*,*,,,*); - -595  - `fsůl -(const *,,*,); - -597  - $g‘©Śliˇ -(cÚˇ *,*,*, -size_t -,č - `__DARWIN_ALIAS -( -g‘©Śliˇ -); - -598  - $ŁŹ‰ľiˇ -(cÚˇ *,*,*, -size_t -,č - `__DARWIN_ALIAS -( -ŁŹ‰ľiˇ -); - -599  - `exchŞged©a -(const *,const *,); - -600  - `g‘dś’Ś›§‰r -(,*,*, -size_t -,*,*,*,); - -601  - `٬chfs -(const *,*,*,,,*); - -603  - `fsůl -(const *,,*,); - -606  -ÝŚeŁt -; - -609 -__END_DECLS - - - @/usr/include/_types.h - -24 #iâdeŕ -__TYPES_H_ - - -25  - #__TYPES_H_ - - - ) - -27  - ~ - -29  - t__d¬wš_Ć_™em -; - -30  - t__d¬wš_wůżns_t -; - -31 #ifdeŕ -__LP64__ - - -32  -__ušt32_t - - t__d¬wš_wůył_t -; - -34  - t__d¬wš_wůył_t -; - -37 #ifdeŕ -__WCHAR_MAX__ - - -38  - #__DARWIN_WCHAR_MAX - -__WCHAR_MAX__ - - - ) - -40  - #__DARWIN_WCHAR_MAX - 0x7fffffff - - ) - -43 #iŕ -__DARWIN_WCHAR_MAX - > 0xffffU - -44  - #__DARWIN_WCHAR_MIN - (-0x7ffffffŕ- 1) - - ) - -46  - #__DARWIN_WCHAR_MIN - 0 - - ) - -48  - #__DARWIN_WEOF - (( -__d¬wš_wšt_t -)-1) - - ) - - @/usr/include/_xlocale.h - -24 #iâdeŕ -__XLOCALE_H_ - - -25  - #__XLOCALE_H_ - - - ) - -27  - ~ - -29 -__BEGIN_DECLS - - -30  -___mb_cur_max -(); - -31  -___mb_cur_max_l -( -lo˙Ë_t -); - -32 - g__END_DECLS - - - @/usr/include/alloca.h - -24 #iâdeŕ -_ALLOCA_H_ - - -25  - #_ALLOCA_H_ - - - ) - -27  - ~ - -28  - ~<_tyłs.h -> - -30 #iâdef -_SIZE_T - - -31  - #_SIZE_T - - - ) - -32  -__d¬wš_size_t - - tsize_t -; - -35 -__BEGIN_DECLS - - -36 * -®lo˙ -( -size_t -); - -37 - g__END_DECLS - - -39 #iŕ -defšed -( -__GNUC__ -) && __GNUC__ >= 3 - -41 #undeŕ -®lo˙ - - -42 #undeŕ -__®lo˙ - - -43  - #®lo˙ -( -size -č - `__®lo˙ -(size) - - ) - -44  - #__®lo˙ -( -size -č - `__bužtš_®lo˙ -(size) - - ) - - @/usr/include/available.h - -65 #iâdeŕ -_AVAILABLE_H_ - - -66  - #_AVAILABLE_H_ - - - ) - -72  - #__MAC_OS_X_VERSION_10_0 - 1000 - - ) - -73  - #__MAC_OS_X_VERSION_10_1 - 1010 - - ) - -74  - #__MAC_OS_X_VERSION_10_2 - 1020 - - ) - -75  - #__MAC_OS_X_VERSION_10_3 - 1030 - - ) - -76  - #__MAC_OS_X_VERSION_10_4 - 1040 - - ) - -77  - #__MAC_OS_X_VERSION_10_5 - 1050 - - ) - -84 #iâdeŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - - -85 #ifdeŕ -__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - - -86  - #__MAC_OS_X_VERSION_MIN_REQUIRED - -__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - - - ) - -88 #iŕ -__µc64__ - || -__i386__ - || -__x86_64__ - - -89  - #__MAC_OS_X_VERSION_MIN_REQUIRED - -__MAC_OS_X_VERSION_10_4 - - - ) - -91  - #__MAC_OS_X_VERSION_MIN_REQUIRED - -__MAC_OS_X_VERSION_10_1 - - - ) - -99 #iâdeŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - - -100 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - > -__MAC_OS_X_VERSION_10_5 - - -101  - #__MAC_OS_X_VERSION_MAX_ALLOWED - -__MAC_OS_X_VERSION_MIN_REQUIRED - - - ) - -103  - #__MAC_OS_X_VERSION_MAX_ALLOWED - -__MAC_OS_X_VERSION_10_5 - - - ) - -110 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_MIN_REQUIRED - - -111 #”rÜ -__MAC_OS_X_VERSION_MAX_ALLOWED - -muˇ - -be - >đ -__MAC_OS_X_VERSION_MIN_REQUIRED - - -113 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_0 - - -114 #”rÜ -__MAC_OS_X_VERSION_MIN_REQUIRED - -muˇ - -be - >đ -__MAC_OS_X_VERSION_10_0 - - -120 #iŕ -defšed -( -__GNUC__ -č&& ((__GNUC__ >đ4č|| ((__GNUC__ =đ3č&& ( -__GNUC_MINOR__ - >đ1))č&& ( -__MAC_OS_X_VERSION_MIN_REQUIRED - >= 1020) - -121  - #__DARWIN_WEAK_IMPORT_ATTRIBUTE - - `__©Śibu‹__ -(( -w—k_impÜt -)) - - ) - -122 #–iŕ -defšed -( -__MWERKS__ -č&& (__MWERKS__ >đ0x3205č&& ( -__MAC_OS_X_VERSION_MIN_REQUIRED - >= 1020) - -123  - #__DARWIN_WEAK_IMPORT_ATTRIBUTE - - `__©Śibu‹__ -(( -w—k_impÜt -)) - - ) - -125  - #__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -131 #iŕ -defšed -( -__GNUC__ -č&& ((__GNUC__ >đ4č|| ((__GNUC__ =đ3č&& ( -__GNUC_MINOR__ - >= 1))) - -132  - #__DARWIN_DEPRECATED_ATTRIBUTE - - `__©Śibu‹__ -(( -d•»˙‹d -)) - - ) - -134  - #__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -140 #iŕ -defšed -( -__GNUC__ -č&& ((__GNUC__ >đ4č|| ((__GNUC__ =đ3č&& ( -__GNUC_MINOR__ - >= 1))) - -141  - #__DARWIN_UNAVAILABLE_ATTRIBUTE - - `__©Śibu‹__ -(( -uÇvažabË -)) - - ) - -143  - #__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -153  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -161  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -168  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -180 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_10_1 - - -181  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - -__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -182 #–iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_1 - - -183  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - -__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -185  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -194 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_1 - - -195  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -197  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED - -__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -206 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_1 - - -207  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -209  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 - -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -217 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_1 - - -218  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -220  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -234 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_10_2 - - -235  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - -__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -236 #–iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_2 - - -237  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - -__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -239  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -248 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_2 - - -249  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -251  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED - -__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -260 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_2 - - -261  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -263  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -272 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_2 - - -273  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -275  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - -__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -283 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_2 - - -284  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -286  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -298 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_10_3 - - -299  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - -__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -300 #–iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_3 - - -301  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - -__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -303  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - - - ) - -312 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_3 - - -313  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -315  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED - -__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - - - ) - -324 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_3 - - -325  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -327  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -336 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_3 - - -337  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -339  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -348 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_3 - - -349  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -351  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - -__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -359 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_3 - - -360  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -362  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER - - - ) - -375 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_10_4 - - -376  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - -__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -377 #–iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_4 - - -378  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - -__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -380  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - - - ) - -389 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -390  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -392  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED - -__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - - - ) - -401 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -402  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -404  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -413 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -414  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -416  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -425 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -426  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -428  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -437 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -438  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -440  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - -__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - - - ) - -448 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_4 - - -449  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -451  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER - - - ) - -463 #iŕ -__MAC_OS_X_VERSION_MAX_ALLOWED - < -__MAC_OS_X_VERSION_10_5 - - -464  - #__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER - -__DARWIN_UNAVAILABLE_ATTRIBUTE - - - ) - -465 #–iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - < -__MAC_OS_X_VERSION_10_5 - - -466  - #__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER - -__DARWIN_WEAK_IMPORT_ATTRIBUTE - - - ) - -468  - #__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER - - - ) - -477 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -478  - #__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -480  - #__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED - -__AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER - - - ) - -489 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -490  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -492  - #__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - - - ) - -501 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -502  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -504  - #__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - - - ) - -513 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -514  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -516  - #__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - - - ) - -525 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -526  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -528  - #__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - - - ) - -537 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -538  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -540  - #__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - -__AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - - - ) - -548 #iŕ -__MAC_OS_X_VERSION_MIN_REQUIRED - >đ -__MAC_OS_X_VERSION_10_5 - - -549  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER - -__DARWIN_DEPRECATED_ATTRIBUTE - - - ) - -551  - #__DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER - - - ) - - @/usr/include/machine/endian.h - -31 #iâdeŕ -_BSD_MACHINE_ENDIAN_H_ - - -32  - #_BSD_MACHINE_ENDIAN_H_ - - - ) - -34 #iŕ -defšed - ( -__µc__ -č|| defšed( -__µc64__ -) - -35  - ~"µc/’dźn.h -" - -36 #–iŕ -defšed - ( -__i386__ -č|| defšed( -__x86_64__ -) - -37  - ~"i386/’dźn.h -" - -38 #–iŕ -defšed - ( -__¬m__ -) - -39  - ~"¬m/’dźn.h -" - -41 #”rÜ -¬ch™eůu» - -nŮ - -suµÜ‹d - - - @/usr/include/machine/types.h - -31 #iâdeŕ -_BSD_MACHINE_TYPES_H_ - - -32  - #_BSD_MACHINE_TYPES_H_ - - - ) - -34 #iŕ -defšed - ( -__µc__ -č|| defšed ( -__µc64__ -) - -35  - ~"µc/tyłs.h -" - -36 #–iŕ -defšed - ( -__i386__ -č|| defšed( -__x86_64__ -) - -37  - ~"i386/tyłs.h -" - -38 #–iŕ -defšed - ( -__¬m__ -) - -39  - ~"¬m/tyłs.h -" - -41 #”rÜ -¬ch™eůu» - -nŮ - -suµÜ‹d - - - @/usr/include/secure/_stdio.h - -24 #iâdeŕ -_STDIO_H_ - - -25 #”rÜ -”rÜ - "Never use directly; include instead." - -28 #iâdeŕ -_SECURE__STDIO_H_ - - -29  - #_SECURE__STDIO_H_ - - - ) - -31  - ~<Łcu»/_commÚ.h -> - -33 #iŕ -_USE_FORTIFY_LEVEL - > 0 - -35 #undeŕ -Ąrštf - - -36 #undeŕ -vĄrštf - - -37 #undeŕ -˘´štf - - -38 #undeŕ -v˘´štf - - -42  - $__Ąrštf_chk - (* -__»ˇriů -, , -size_t -, - -43 cÚˇ * -__»ˇriů -, ...) - -44 - `__DARWIN_LDBL_COMPAT - ( -__Ąrštf_chk -); - -46  - #Ąrštf -( -ˇr -, ...) \ - -47 - `__bužtš___Ąrštf_chk - ( -ˇr -, 0, - `__d¬wš_obsz -(ˇr), -__VA_ARGS__ -) - - ) - -49  - $__˘´štf_chk - (* -__»ˇriů -, -size_t -, , size_t, - -50 cÚˇ * -__»ˇriů -, ...) - -51 - `__DARWIN_LDBL_COMPAT - ( -__˘´štf_chk -); - -53  - #˘´štf -( -ˇr -, -Ën -, ...) \ - -54 - `__bužtš___˘´štf_chk - ( -ˇr -, -Ën -, 0, - `__d¬wš_obsz -(ˇr), -__VA_ARGS__ -) - - ) - -56  - $__vĄrštf_chk - (* -__»ˇriů -, , -size_t -, - -57 cÚˇ * -__»ˇriů -, -va_liˇ - -¬g -) - -58 - `__DARWIN_LDBL_COMPAT - ( -__vĄrštf_chk -); - -60  - #vĄrštf -( -ˇr -, -fÜm© -, -­ -) \ - -61 - `__bužtš___vĄrštf_chk - ( -ˇr -, 0, - `__d¬wš_obsz -(ˇr), -fÜm© -, -­ -) - - ) - -63  - $__v˘´štf_chk - (* -__»ˇriů -, -size_t -, , size_t, - -64 cÚˇ * -__»ˇriů -, -va_liˇ - -¬g -) - -65 - `__DARWIN_LDBL_COMPAT - ( -__v˘´štf_chk -); - -67  - #v˘´štf -( -ˇr -, -Ën -, -fÜm© -, -­ -) \ - -68 - `__bužtš___v˘´štf_chk - ( -ˇr -, -Ën -, 0, - `__d¬wš_obsz -(ˇr), -fÜm© -, -­ -) - - ) - - @/usr/include/secure/_string.h - -24 #iâdeŕ -_STRING_H_ - - -28 #iâdeŕ -_SECURE__STRING_H_ - - -29  - #_SECURE__STRING_H_ - - - ) - -31  - ~<Łcu»/_commÚ.h -> - -33 #iŕ -_USE_FORTIFY_LEVEL - > 0 - -38 #undeŕ -memýy - - -39 #undeŕ -memmove - - -40 #undeŕ -memŁt - - -41 #undeŕ -ˇrýy - - -42 #undeŕ -ˇpýy - - -43 #undeŕ -ˇşýy - - -44 #undeŕ -ˇr˙t - - -45 #undeŕ -ˇş˙t - - -47  - #memýy -( -deˇ -, -¤c -, -Ën -) \ - -48 (( - `__d¬wš_obsz0 - ( -deˇ -č!đ( -size_t -) -1) \ - -49 ? - `__bužtš___memýy_chk - ( -deˇ -, -¤c -, -Ën -, - `__d¬wš_obsz0 - (dest)) \ - -50 : - `__šlše_memýy_chk - ( -deˇ -, -¤c -, -Ën -)) - - ) - -52  -šlše - * - -53 - $__šlše_memýy_chk - (* -__deˇ -, cÚˇ * -__¤c -, -size_t - -__Ën -) - -55  - `__bužtš___memýy_chk - ( -__deˇ -, -__¤c -, -__Ën -, - `__d¬wš_obsz0 -(__dest)); - -56 - } -} - -58  - #memmove -( -deˇ -, -¤c -, -Ën -) \ - -59 (( - `__d¬wš_obsz0 - ( -deˇ -č!đ( -size_t -) -1) \ - -60 ? - `__bužtš___memmove_chk - ( -deˇ -, -¤c -, -Ën -, - `__d¬wš_obsz0 - (dest)) \ - -61 : - `__šlše_memmove_chk - ( -deˇ -, -¤c -, -Ën -)) - - ) - -63  -šlše - * - -64 - $__šlše_memmove_chk - (* -__deˇ -, cÚˇ * -__¤c -, -size_t - -__Ën -) - -66  - `__bužtš___memmove_chk - ( -__deˇ -, -__¤c -, -__Ën -, - `__d¬wš_obsz0 -(__dest)); - -67 - } -} - -69  - #memŁt -( -deˇ -, -v® -, -Ën -) \ - -70 (( - `__d¬wš_obsz0 - ( -deˇ -č!đ( -size_t -) -1) \ - -71 ? - `__bužtš___memŁt_chk - ( -deˇ -, -v® -, -Ën -, - `__d¬wš_obsz0 - (dest)) \ - -72 : - `__šlše_memŁt_chk - ( -deˇ -, -v® -, -Ën -)) - - ) - -74  -šlše - * - -75 - $__šlše_memŁt_chk - (* -__deˇ -,  -__v® -, -size_t - -__Ën -) - -77  - `__bužtš___memŁt_chk - ( -__deˇ -, -__v® -, -__Ën -, - `__d¬wš_obsz0 -(__dest)); - -78 - } -} - -80  - #ˇrýy -( -deˇ -, -¤c -) \ - -81 (( - `__d¬wš_obsz0 - ( -deˇ -č!đ( -size_t -) -1) \ - -82 ? - `__bužtš___ˇrýy_chk - ( -deˇ -, -¤c -, - `__d¬wš_obsz - (dest)) \ - -83 : - `__šlše_ˇrýy_chk - ( -deˇ -, -¤c -)) - - ) - -85  -šlše - * - -86 - $__šlše_ˇrýy_chk - (* -__»ˇriů - -__deˇ -, cÚˇ *__»ˇriů -__¤c -) - -88  - `__bužtš___ˇrýy_chk - ( -__deˇ -, -__¤c -, - `__d¬wš_obsz -(__dest)); - -89 - } -} - -91  - #ˇpýy -( -deˇ -, -¤c -) \ - -92 (( - `__d¬wš_obsz0 - ( -deˇ -č!đ( -size_t -) -1) \ - -93 ? - `__bužtš___ˇpýy_chk - ( -deˇ -, -¤c -, - `__d¬wš_obsz - (dest)) \ - -94 : - `__šlše_ˇpýy_chk - ( -deˇ -, -¤c -)) - - ) - -96  -šlše - * - -97 - $__šlše_ˇpýy_chk - (* -__deˇ -, cÚˇ * -__¤c -) - -99  - `__bužtš___ˇpýy_chk - ( -__deˇ -, -__¤c -, - `__d¬wš_obsz -(__dest)); - -100 - } -} - -102  - #ˇşýy -( -deˇ -, -¤c -, -Ën -) \ - -103 (( - `__d¬wš_obsz0 - ( -deˇ -č!đ( -size_t -) -1) \ - -104 ? - `__bužtš___ˇşýy_chk - ( -deˇ -, -¤c -, -Ën -, - `__d¬wš_obsz - (dest)) \ - -105 : - `__šlše_ˇşýy_chk - ( -deˇ -, -¤c -, -Ën -)) - - ) - -107  -šlše - * - -108 - $__šlše_ˇşýy_chk - (* -__»ˇriů - -__deˇ -, cÚˇ *__»ˇriů -__¤c -, - -109 -size_t - -__Ën -) - -111  - `__bužtš___ˇşýy_chk - ( -__deˇ -, -__¤c -, -__Ën -, - `__d¬wš_obsz -(__dest)); - -112 - } -} - -114  - #ˇr˙t -( -deˇ -, -¤c -) \ - -115 (( - `__d¬wš_obsz0 - ( -deˇ -č!đ( -size_t -) -1) \ - -116 ? - `__bužtš___ˇr˙t_chk - ( -deˇ -, -¤c -, - `__d¬wš_obsz - (dest)) \ - -117 : - `__šlše_ˇr˙t_chk - ( -deˇ -, -¤c -)) - - ) - -119  -šlše - * - -120 - $__šlše_ˇr˙t_chk - (* -__»ˇriů - -__deˇ -, cÚˇ *__»ˇriů -__¤c -) - -122  - `__bužtš___ˇr˙t_chk - ( -__deˇ -, -__¤c -, - `__d¬wš_obsz -(__dest)); - -123 - } -} - -125  - #ˇş˙t -( -deˇ -, -¤c -, -Ën -) \ - -126 (( - `__d¬wš_obsz0 - ( -deˇ -č!đ( -size_t -) -1) \ - -127 ? - `__bužtš___ˇr˙t_chk - ( -deˇ -, -¤c -, - `__d¬wš_obsz - (dest)) \ - -128 : - `__šlše_ˇş˙t_chk - ( -deˇ -, -¤c -, -Ën -)) - - ) - -130  -šlše - * - -131 - $__šlše_ˇş˙t_chk - (* -__»ˇriů - -__deˇ -, cÚˇ *__»ˇriů -__¤c -, - -132 -size_t - -__Ën -) - -134  - `__bužtš___ˇş˙t_chk - ( -__deˇ -, -__¤c -, -__Ën -, - `__d¬wš_obsz -(__dest)); - -135 - } -} - - @/usr/include/sys/_structs.h - -29  - ~ - -30  - ~ - -32 #ifdeŕ -__Ăed_ucÚ‹xt_t - - -33 #iâdeŕ -__Ăed_ˇruů_ucÚ‹xt - - -34  - #__Ăed_ˇruů_ucÚ‹xt - - - ) - -38 #ifdeŕ -__Ăed_ucÚ‹xt64_t - - -39 #iâdeŕ -__Ăed_ˇruů_ucÚ‹xt64 - - -40  - #__Ăed_ˇruů_ucÚ‹xt64 - - - ) - -44 #ifdeŕ -__Ăed_ˇruů_ucÚ‹xt - - -45 #iâdeŕ -__Ăed_ˇruů_mcÚ‹xt - - -46  - #__Ăed_ˇruů_mcÚ‹xt - - - ) - -50 #ifdeŕ -__Ăed_ˇruů_ucÚ‹xt64 - - -51 #iâdeŕ -__Ăed_ˇruů_mcÚ‹xt64 - - -52  - #__Ăed_ˇruů_mcÚ‹xt64 - - - ) - -56 #iŕ -defšed -( -__Ăed_ˇruů_mcÚ‹xt -č|| defšed( -__Ăed_ˇruů_mcÚ‹xt64 -) - -57  - ~ - -60 #iŕ -defšed -( -__Ăed_ˇack_t -č|| defšed( -__Ăed_ˇruů_ucÚ‹xt -č|| defšed( -__Ăed_ˇruů_ucÚ‹xt64 -) - -61 #iâdeŕ -__Ăed_ˇruů_sig®tˇack - - -62  - #__Ăed_ˇruů_sig®tˇack - - - ) - -66 #ifdeŕ -__Ăed_ˇruů_sig®tˇack - - -67 #undeŕ -__Ăed_ˇruů_sig®tˇack - - -69 #iâdeŕ -_STRUCT_SIGALTSTACK - - -70 #iŕ -__DARWIN_UNIX03 - - -71  - #_STRUCT_SIGALTSTACK -  -__d¬wš_sig®tˇack - - - ) - -73  - #_STRUCT_SIGALTSTACK -  -sig®tˇack - - - ) - -75 - g_STRUCT_SIGALTSTACK - - -77 * - gss_Ą -; - -78 -__d¬wš_size_t - - gss_size -; - -79  - gss_ćags -; - -84 #ifdeŕ -__Ăed_ˇruů_timeĄec - - -85 #undeŕ -__Ăed_ˇruů_timeĄec - - -86 #iâdeŕ -_STRUCT_TIMESPEC - - -87  - #_STRUCT_TIMESPEC -  -timeĄec - - - ) - -88 - g_STRUCT_TIMESPEC - - -90 -__d¬wš_time_t - - gtv_Łc -; - -91  - gtv_nŁc -; - -96 #ifdeŕ -__Ăed_ˇruů_timev® - - -97 #undeŕ -__Ăed_ˇruů_timev® - - -98 #iâdeŕ -_STRUCT_TIMEVAL - - -99  - #_STRUCT_TIMEVAL -  -timev® - - - ) - -100 - g_STRUCT_TIMEVAL - - -102 -__d¬wš_time_t - - gtv_Łc -; - -103 -__d¬wš_suŁcÚds_t - - gtv_uŁc -; - -108 #ifdeŕ -__Ăed_ˇruů_timev®32 - - -109 #undeŕ -__Ăed_ˇruů_timev®32 - - -110 #iâdeŕ -_STRUCT_TIMEVAL32 - - -111  - #_STRUCT_TIMEVAL32 -  -timev®32 - - - ) - -112 - g_STRUCT_TIMEVAL32 - - -114 -__št32_t - - gtv_Łc -; - -115 -__št32_t - - gtv_uŁc -; - -120 #ifdeŕ -__Ăed_ˇruů_ucÚ‹xt - - -121 #undeŕ -__Ăed_ˇruů_ucÚ‹xt - - -122 #iâdeŕ -_STRUCT_UCONTEXT - - -123 #iŕ -__DARWIN_UNIX03 - - -124  - #_STRUCT_UCONTEXT -  -__d¬wš_ucÚ‹xt - - - ) - -126  - #_STRUCT_UCONTEXT -  -ucÚ‹xt - - - ) - -128 - g_STRUCT_UCONTEXT - - -130  - guc_Úˇack -; - -131 -__d¬wš_sigŁt_t - - guc_sigmask -; - -132 -_STRUCT_SIGALTSTACK - - guc_ˇack -; - -133 -_STRUCT_UCONTEXT - * - guc_lšk -; - -134 -__d¬wš_size_t - - guc_mcsize -; - -135 -_STRUCT_MCONTEXT - * - guc_mcÚ‹xt -; - -136 #ifdeŕ -_XOPEN_SOURCE - - -137 -_STRUCT_MCONTEXT - - g__mcÚ‹xt_d©a -; - -143 #ifdeŕ -__Ăed_ˇruů_ucÚ‹xt64 - - -144 #undeŕ -__Ăed_ˇruů_ucÚ‹xt64 - - -145 #iâdeŕ -_STRUCT_UCONTEXT64 - - -146 #iŕ -__DARWIN_UNIX03 - - -147  - #_STRUCT_UCONTEXT64 -  -__d¬wš_ucÚ‹xt64 - - - ) - -149  - #_STRUCT_UCONTEXT64 -  -ucÚ‹xt64 - - - ) - -151 - g_STRUCT_UCONTEXT64 - - -153  - guc_Úˇack -; - -154 -__d¬wš_sigŁt_t - - guc_sigmask -; - -155 -_STRUCT_SIGALTSTACK - - guc_ˇack -; - -156 -_STRUCT_UCONTEXT64 - * - guc_lšk -; - -157 -__d¬wš_size_t - - guc_mcsize -; - -158 -_STRUCT_MCONTEXT64 - * - guc_mcÚ‹xt64 -; - -164 #ifdeŕ -__Ăed_fd_Łt - - -165 #undeŕ -__Ăed_fd_Łt - - -166 #iâdeŕ -_FD_SET - - -167  - #_FD_SET - - - ) - -174 #ifdeŕ -FD_SETSIZE - - -175  - #__DARWIN_FD_SETSIZE - -FD_SETSIZE - - - ) - -177  - #__DARWIN_FD_SETSIZE - 1024 - - ) - -179  - #__DARWIN_NBBY - 8 - - ) - -180  - #__DARWIN_NFDBITS - (( -__št32_t -č* -__DARWIN_NBBY -č - - ) - -181  - #__DARWIN_howmŞy -( -x -, -y -č(((xč+ ((yč- 1)č/ (y)č - - ) - -183 -__BEGIN_DECLS - - -184  - sfd_Łt - { - -185 -__št32_t - - mfds_b™s -[ -__DARWIN_howmŞy -( -__DARWIN_FD_SETSIZE -, -__DARWIN_NFDBITS -)]; - -186 } - tfd_Łt -; - -187 -__END_DECLS - - -190  -__šlše -  - -191 - $__d¬wš_fd_isŁt -( -_n -,  -fd_Łt - * -_p -) - -193  ( -_p --> -fds_b™s -[ -_n -/ -__DARWIN_NFDBITS -] & (1<<(_n % __DARWIN_NFDBITS))); - -194 - } -} - -196  - #__DARWIN_FD_SET -( -n -, -p -čdŘ{  -__fd - = (n); (Ő)-> -fds_b™s -[__fd/ -__DARWIN_NFDBITS -] |đ(1<<(__fd % __DARWIN_NFDBITS))); } 0) - - ) - -197  - #__DARWIN_FD_CLR -( -n -, -p -čdŘ{  -__fd - = (n); (Ő)-> -fds_b™s -[__fd/ -__DARWIN_NFDBITS -] &đ~(1<<(__fd % __DARWIN_NFDBITS))); } 0) - - ) - -198  - #__DARWIN_FD_ISSET -( -n -, -p -č - `__d¬wš_fd_isŁt -(Ň), (p)) - - ) - -200 #iŕ -__GNUC__ - > 3 || __GNUC__ =đ3 && -__GNUC_MINOR__ - >= 3 - -205  - #__DARWIN_FD_ZERO -( -p -č - `__bužtš_bz”o -Ő, (*Ő))) - - ) - -207  - #__DARWIN_FD_ZERO -( -p -č - `bz”o -Ő, (*Ő))) - - ) - -210  - #__DARWIN_FD_COPY -( -f -, -t -č - `bcÝy -(f,, (*(f))) - - ) - -214 #ifdeŕ -__Ăed_ˇack_t - - -215 #undeŕ -__Ăed_ˇack_t - - -216 #iâdeŕ -_STACK_T - - -217  - #_STACK_T - - - ) - -218  -_STRUCT_SIGALTSTACK - - tˇack_t -; - -222 #ifdeŕ -__Ăed_ucÚ‹xt_t - - -223 #undeŕ -__Ăed_ucÚ‹xt_t - - -225 #iâdeŕ -_UCONTEXT_T - - -226  - #_UCONTEXT_T - - - ) - -227  -_STRUCT_UCONTEXT - - tucÚ‹xt_t -; - -231 #ifdeŕ -__Ăed_ucÚ‹xt64_t - - -232 #undeŕ -__Ăed_ucÚ‹xt64_t - - -233 #iâdeŕ -_UCONTEXT64_T - - -234  - #_UCONTEXT64_T - - - ) - -235  -_STRUCT_UCONTEXT64 - - tucÚ‹xt64_t -; - - @/usr/include/sys/_types.h - -29 #iâdeŕ -_SYS__TYPES_H_ - - -30  - #_SYS__TYPES_H_ - - - ) - -32  - ~ - -33  - ~ - -36 #iŕ -defšed -( -__LP64__ -) - -37  - #__PTHREAD_SIZE__ - 1168 - - ) - -38  - #__PTHREAD_ATTR_SIZE__ - 56 - - ) - -39  - #__PTHREAD_MUTEXATTR_SIZE__ - 8 - - ) - -40  - #__PTHREAD_MUTEX_SIZE__ - 56 - - ) - -41  - #__PTHREAD_CONDATTR_SIZE__ - 8 - - ) - -42  - #__PTHREAD_COND_SIZE__ - 40 - - ) - -43  - #__PTHREAD_ONCE_SIZE__ - 8 - - ) - -44  - #__PTHREAD_RWLOCK_SIZE__ - 192 - - ) - -45  - #__PTHREAD_RWLOCKATTR_SIZE__ - 16 - - ) - -47  - #__PTHREAD_SIZE__ - 596 - - ) - -48  - #__PTHREAD_ATTR_SIZE__ - 36 - - ) - -49  - #__PTHREAD_MUTEXATTR_SIZE__ - 8 - - ) - -50  - #__PTHREAD_MUTEX_SIZE__ - 40 - - ) - -51  - #__PTHREAD_CONDATTR_SIZE__ - 4 - - ) - -52  - #__PTHREAD_COND_SIZE__ - 24 - - ) - -53  - #__PTHREAD_ONCE_SIZE__ - 4 - - ) - -54  - #__PTHREAD_RWLOCK_SIZE__ - 124 - - ) - -55  - #__PTHREAD_RWLOCKATTR_SIZE__ - 12 - - ) - -58  - s__d¬wš_±h»ad_hŞdËr_»c - - -60 (* - m__routše -)(*); - -61 * - m__¬g -; - -62  -__d¬wš_±h»ad_hŞdËr_»c - * - m__Ăxt -; - -64  - s_Ýaque_±h»ad_©Ś_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_ATTR_SIZE__ -]; }; - -65  - s_Ýaque_±h»ad_cÚd_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_COND_SIZE__ -]; }; - -66  - s_Ýaque_±h»ad_cÚd©Ś_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_CONDATTR_SIZE__ -]; }; - -67  - s_Ýaque_±h»ad_mu‹x_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_MUTEX_SIZE__ -]; }; - -68  - s_Ýaque_±h»ad_mu‹x©Ś_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_MUTEXATTR_SIZE__ -]; }; - -69  - s_Ýaque_±h»ad_Úű_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_ONCE_SIZE__ -]; }; - -70  - s_Ýaque_±h»ad_rwlock_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_RWLOCK_SIZE__ -]; }; - -71  - s_Ýaque_±h»ad_rwlock©Ś_t - {  - m__sig -;  - m__Ýaque -[ -__PTHREAD_RWLOCKATTR_SIZE__ -]; }; - -72  - s_Ýaque_±h»ad_t - {  - m__sig -;  -__d¬wš_±h»ad_hŞdËr_»c - * - m__ţ—nup_ˇack -;  - m__Ýaque -[ -__PTHREAD_SIZE__ -]; }; - -80 #ifdeŕ -__ýluĄlus - - -81 #ifdeŕ -__GNUG__ - - -82  - #__DARWIN_NULL - -__nuÎ - - - ) - -84 #ifdeŕ -__LP64__ - - -85  - #__DARWIN_NULL - (0L) - - ) - -87  - #__DARWIN_NULL - 0 - - ) - -91  - #__DARWIN_NULL - ((*)0) - - ) - -94  -__št64_t - - t__d¬wš_blkút_t -; - -95  -__št32_t - - t__d¬wš_blksize_t -; - -96  -__št32_t - - t__d¬wš_dev_t -; - -97  - t__d¬wš_fsblkút_t -; - -98  - t__d¬wš_fsfžút_t -; - -99  -__ušt32_t - - t__d¬wš_gid_t -; - -100  -__ušt32_t - - t__d¬wš_id_t -; - -101  -__ušt64_t - - t__d¬wš_šo64_t -; - -102 #iŕ -__DARWIN_64_BIT_INO_T - - -103  -__d¬wš_šo64_t - - t__d¬wš_šo_t -; - -105  -__ušt32_t - - t__d¬wš_šo_t -; - -107  -__d¬wš_Çtużl_t - - t__d¬wš_mach_pÜt_Çme_t -; - -108  -__d¬wš_mach_pÜt_Çme_t - - t__d¬wš_mach_pÜt_t -; - -109  -__ušt16_t - - t__d¬wš_mode_t -; - -110  -__št64_t - - t__d¬wš_off_t -; - -111  -__št32_t - - t__d¬wš_pid_t -; - -112  -_Ýaque_±h»ad_©Ś_t - - -113 - t__d¬wš_±h»ad_©Ś_t -; - -114  -_Ýaque_±h»ad_cÚd_t - - -115 - t__d¬wš_±h»ad_cÚd_t -; - -116  -_Ýaque_±h»ad_cÚd©Ś_t - - -117 - t__d¬wš_±h»ad_cÚd©Ś_t -; - -118  - t__d¬wš_±h»ad_key_t -; - -119  -_Ýaque_±h»ad_mu‹x_t - - -120 - t__d¬wš_±h»ad_mu‹x_t -; - -121  -_Ýaque_±h»ad_mu‹x©Ś_t - - -122 - t__d¬wš_±h»ad_mu‹x©Ś_t -; - -123  -_Ýaque_±h»ad_Úű_t - - -124 - t__d¬wš_±h»ad_Úű_t -; - -125  -_Ýaque_±h»ad_rwlock_t - - -126 - t__d¬wš_±h»ad_rwlock_t -; - -127  -_Ýaque_±h»ad_rwlock©Ś_t - - -128 - t__d¬wš_±h»ad_rwlock©Ś_t -; - -129  -_Ýaque_±h»ad_t - - -130 * - t__d¬wš_±h»ad_t -; - -131  -__ušt32_t - - t__d¬wš_sigŁt_t -; - -132  -__št32_t - - t__d¬wš_suŁcÚds_t -; - -133  -__ušt32_t - - t__d¬wš_uid_t -; - -134  -__ušt32_t - - t__d¬wš_uŁcÚds_t -; - -135  - t__d¬wš_uuid_t -[16]; - - @/usr/include/sys/appleapiopts.h - -29 #iâdeŕ -__SYS_APPLEAPIOPTS_H__ - - -30  - #__SYS_APPLEAPIOPTS_H__ - - - ) - -33 #iâdeŕ -__APPLE_API_STANDARD - - -34  - #__APPLE_API_STANDARD - - - ) - -37 #iâdeŕ -__APPLE_API_STABLE - - -38  - #__APPLE_API_STABLE - - - ) - -41 #iâdeŕ -__APPLE_API_STRICT_CONFORMANCE - - -43 #iâdeŕ -__APPLE_API_EVOLVING - - -44  - #__APPLE_API_EVOLVING - - - ) - -47 #iâdeŕ -__APPLE_API_UNSTABLE - - -48  - #__APPLE_API_UNSTABLE - - - ) - -51 #iâdeŕ -__APPLE_API_PRIVATE - - -52  - #__APPLE_API_PRIVATE - - - ) - -55 #iâdeŕ -__APPLE_API_OBSOLETE - - -56  - #__APPLE_API_OBSOLETE - - - ) - - @/usr/include/sys/cdefs.h - -67 #iâdef -_CDEFS_H_ - - -68  - #_CDEFS_H_ - - - ) - -70 #iŕ -defšed -( -__ýluĄlus -) - -71  - #__BEGIN_DECLS - "C" { - - ) - -72  - #__END_DECLS - } - - ) - -74  - #__BEGIN_DECLS - - - ) - -75  - #__END_DECLS - - - ) - -85 #iŕ -defšed -( -__STDC__ -č|| defšed( -__ýluĄlus -) - -86  - #__P -( -´Ůos -č´Ůo  - - ) - -87  - #__CONCAT -( -x -, -y -čx ## - ) -y - -88  - #__STRING -( -x -č#x - - ) - -90  - #__cÚˇ - cÚˇ - - ) - -91  - #__sigĂd - sigĂd - - ) - -92  - #__vŢ©že - vŢ©že - - ) - -93 #iŕ -defšed -( -__ýluĄlus -) - -94  - #__šlše - -šlše - - - ) - -96 #iâdeŕ -__GNUC__ - - -97  - #__šlše - - - ) - -102  - #__P -( -´Ůos -č(č - - ) - -103  - #__CONCAT -( -x -, -y -čx - ) -y - -104  - #__STRING -( -x -č"x" - - ) - -106 #iâdeŕ -__GNUC__ - - -107  - #__cÚˇ - - - ) - -108  - #__šlše - - - ) - -109  - #__sigĂd - - - ) - -110  - #__vŢ©že - - - ) - -121 #iâdef -NO_ANSI_KEYWORDS - - -122 cÚˇ -__cÚˇ - - - ) - -123  - #šlše - -__šlše - - - ) - -124 sigĂd -__sigĂd - - - ) - -125 vŢ©ž -__vŢ©že - - - ) - -137 #iŕ -defšed -( -__MWERKS__ -) && (__MWERKS__ > 0x2400) - -139 #–iŕ -__GNUC__ - > 2 || __GNUC__ =đ2 && -__GNUC_MINOR__ - >= 5 - -140  - #__d—d2 - - `__©Śibu‹__ -(( -__nÜ‘uş__ -)) - - ) - -141  - #__pu»2 - - `__©Śibu‹__ -(( -__cÚˇ__ -)) - - ) - -142 #iŕ -__GNUC__ - =đ2 && -__GNUC_MINOR__ - >= 5 && __GNUC_MINOR__ < 7 - -143  - #__unuŁd - - - ) - -145  - #__unuŁd - - `__©Śibu‹__ -(( -__unuŁd__ -)) - - ) - -148  - #__©Śibu‹__ -( -x -č - - ) - -149 #iŕ -defšed -( -__GNUC__ -č&& !defšed( -__STRICT_ANSI__ -) - -151  - #__d—d - -__vŢ©že - - - ) - -152  - #__pu» - -__cÚˇ - - - ) - -157 #iâdeŕ -__d—d - - -158  - #__d—d - - - ) - -159  - #__pu» - - - ) - -161 #iâdeŕ -__d—d2 - - -162  - #__d—d2 - - - ) - -163  - #__pu»2 - - - ) - -164  - #__unuŁd - - - ) - -173 #iŕ!( -__GNUC__ - =đ2 && -__GNUC_MINOR__ - == 95) - -174 #iŕ -__STDC_VERSION__ - < 199901 - -175  - #__»ˇriů - - - ) - -177  - #__»ˇriů - -»ˇriů - - - ) - -189 #iŕ -__GNUC__ - > 2 || __GNUC__ =đ2 && -__GNUC_MINOR__ - >= 7 - -190  - #__´štćike -( -fmŹrg -, -fśˇv¬¬g -) \ - -191 - `__©Śibu‹__ -(( - `__fÜm©__ - ( -__´štf__ -, -fmŹrg -, -fśˇv¬¬g -))) - - ) - -192  - #__s˙nćike -( -fmŹrg -, -fśˇv¬¬g -) \ - -193 - `__©Śibu‹__ -(( - `__fÜm©__ - ( -__s˙nf__ -, -fmŹrg -, -fśˇv¬¬g -))) - - ) - -195  - #__´štćike -( -fmŹrg -, -fśˇv¬¬g -) - - ) - -196  - #__s˙nćike -( -fmŹrg -, -fśˇv¬¬g -) - - ) - -199  - #__IDSTRING -( -Çme -, -ˇršg -čcÚˇ Çme[] -__unuŁd - = - ) -string - -201 #iâdeŕ -__COPYRIGHT - - -202  - #__COPYRIGHT -( -s -č - `__IDSTRING -( -cÝyright -,s) - - ) - -205 #iâdeŕ -__RCSID - - -206  - #__RCSID -( -s -č - `__IDSTRING -( -rcsid -,s) - - ) - -209 #iâdeŕ -__SCCSID - - -210  - #__SCCSID -( -s -č - `__IDSTRING -( -sccsid -,s) - - ) - -213 #iâdeŕ -__PROJECT_VERSION - - -214  - #__PROJECT_VERSION -( -s -č - `__IDSTRING -( -´ojeů_v”siÚ -,s) - - ) - -272 #iŕ! -defšed -( -__DARWIN_UNIX03 -) - -273 #iŕ -defšed -( -_DARWIN_C_SOURCE -č|| defšed( -_XOPEN_SOURCE -č|| defšed( -_POSIX_C_SOURCE -č|| defšed( -__LP64__ -č|| (defšed( -__¬m__ -č&& !defšed( -KERNEL -)) - -274 #iŕ -defšed -( -_NONSTD_SOURCE -) - -277  - #__DARWIN_UNIX03 - 1 - - ) - -278 #–iŕ -defšed -( -_NONSTD_SOURCE -č|| defšed( -KERNEL -) - -279  - #__DARWIN_UNIX03 - 0 - - ) - -281 #iŕ -defšed -( -__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) < 1050) - -282  - #__DARWIN_UNIX03 - 0 - - ) - -284  - #__DARWIN_UNIX03 - 1 - - ) - -289 #iŕ! -defšed -( -__DARWIN_64_BIT_INO_T -) - -290 #iŕ -defšed -( -_DARWIN_USE_64_BIT_INODE -) - -291  - #__DARWIN_64_BIT_INO_T - 1 - - ) - -292 #–iŕ -defšed -( -_DARWIN_NO_64_BIT_INODE -č|| defšed( -KERNEL -) - -293  - #__DARWIN_64_BIT_INO_T - 0 - - ) - -295  - #__DARWIN_64_BIT_INO_T - 0 - - ) - -299 #iŕ! -defšed -( -__DARWIN_NON_CANCELABLE -) - -300  - #__DARWIN_NON_CANCELABLE - 0 - - ) - -303 #iŕ! -defšed -( -__DARWIN_VERS_1050 -) - -304 #iŕ! -defšed -( -KERNEL -č&& defšed( -__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1050) - -305  - #__DARWIN_VERS_1050 - 1 - - ) - -307  - #__DARWIN_VERS_1050 - 0 - - ) - -314 #iŕ -__DARWIN_UNIX03 - - -315 #iŕ! -defšed -( -__LP64__ -č&& !defšed( -__¬m__ -) - -316  - #__DARWIN_SUF_UNIX03 - "$UNIX2003" - - ) - -317  - #__DARWIN_SUF_UNIX03_SET - 1 - - ) - -319  - #__DARWIN_SUF_UNIX03 - - - ) - -320  - #__DARWIN_SUF_UNIX03_SET - 0 - - ) - -323 #iŕ -__DARWIN_64_BIT_INO_T - - -324  - #__DARWIN_SUF_64_BIT_INO_T - "$INODE64" - - ) - -326  - #__DARWIN_SUF_64_BIT_INO_T - - - ) - -329 #iŕ -__DARWIN_NON_CANCELABLE - - -330  - #__DARWIN_SUF_NON_CANCELABLE - "$NOCANCEL" - - ) - -332  - #__DARWIN_SUF_NON_CANCELABLE - - - ) - -335 #iŕ -__DARWIN_VERS_1050 - - -336  - #__DARWIN_SUF_1050 - "$1050" - - ) - -338  - #__DARWIN_SUF_1050 - - - ) - -342  - #__DARWIN_SUF_UNIX03 - - - ) - -343  - #__DARWIN_SUF_UNIX03_SET - 0 - - ) - -344  - #__DARWIN_SUF_64_BIT_INO_T - - - ) - -345  - #__DARWIN_SUF_NON_CANCELABLE - - - ) - -346  - #__DARWIN_SUF_1050 - - - ) - -349  - #__DARWIN_SUF_EXTSN - "$DARWIN_EXTSN" - - ) - -354  - #__DARWIN_ALIAS -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_UNIX03 -) - - ) - -355  - #__DARWIN_ALIAS_C -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_NON_CANCELABLE - -__DARWIN_SUF_UNIX03 -) - - ) - -356  - #__DARWIN_ALIAS_I -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_64_BIT_INO_T - -__DARWIN_SUF_UNIX03 -) - - ) - -357  - #__DARWIN_INODE64 -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_64_BIT_INO_T -) - - ) - -359  - #__DARWIN_1050 -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_1050 -) - - ) - -360  - #__DARWIN_1050ALIAS -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_1050 - -__DARWIN_SUF_UNIX03 -) - - ) - -361  - #__DARWIN_1050ALIAS_C -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_1050 - -__DARWIN_SUF_NON_CANCELABLE - -__DARWIN_SUF_UNIX03 -) - - ) - -362  - #__DARWIN_1050ALIAS_I -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_1050 - -__DARWIN_SUF_64_BIT_INO_T - -__DARWIN_SUF_UNIX03 -) - - ) - -363  - #__DARWIN_1050INODE64 -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_1050 - -__DARWIN_SUF_64_BIT_INO_T -) - - ) - -365  - #__DARWIN_EXTSN -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_EXTSN -) - - ) - -366  - #__DARWIN_EXTSN_C -( -sym -č - `__asm -("_" - `__STRING -(symč -__DARWIN_SUF_EXTSN - -__DARWIN_SUF_NON_CANCELABLE -) - - ) - -389 #iŕ -defšed -( -_POSIX_C_SOURCE -) && _POSIX_C_SOURCE == 1L - -390 #undeŕ -_POSIX_C_SOURCE - - -391  - #_POSIX_C_SOURCE - 199009L - - ) - -395 #iŕ -defšed -( -_POSIX_C_SOURCE -) && _POSIX_C_SOURCE == 2L - -396 #undeŕ -_POSIX_C_SOURCE - - -397  - #_POSIX_C_SOURCE - 199209L - - ) - -401 #ifdeŕ -_XOPEN_SOURCE - - -402 #iŕ -_XOPEN_SOURCE - - 0L >= 600L - -403 #undeŕ -_POSIX_C_SOURCE - - -404  - #_POSIX_C_SOURCE - 200112L - - ) - -405 #–iŕ -_XOPEN_SOURCE - - 0L >= 500L - -406 #undeŕ -_POSIX_C_SOURCE - - -407  - #_POSIX_C_SOURCE - 199506L - - ) - -415 #iŕ -defšed -( -_POSIX_SOURCE -č&& !defšed( -_POSIX_C_SOURCE -) - -416  - #_POSIX_C_SOURCE - 198808L - - ) - -424  - #__DARWIN_NO_LONG_LONG - ( - `defšed -( -__STRICT_ANSI__ -) \ - -425 && ( -__STDC_VERSION__ --0 < 199901L) \ - -426 && ! - `defšed -( -__GNUG__ -)) - - ) - -434 #iŕ -defšed -( -__µc__ -) - -435 #iŕ -defšed -( -__LDBL_MANT_DIG__ -č&& defšed( -__DBL_MANT_DIG__ -) && \ - -436 -__LDBL_MANT_DIG__ - > -__DBL_MANT_DIG__ - - -437 #iŕ -__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ --0 < 1040 - -438  - #__DARWIN_LDBL_COMPAT -( -x -č - `__asm -("_" - `__STRING -(xč"$LDBLStub") - - ) - -440  - #__DARWIN_LDBL_COMPAT -( -x -č - `__asm -("_" - `__STRING -(xč"$LDBL128") - - ) - -442  - #__DARWIN_LDBL_COMPAT2 -( -x -č - `__asm -("_" - `__STRING -(xč"$LDBL128") - - ) - -443  - #__DARWIN_LONG_DOUBLE_IS_DOUBLE - 0 - - ) - -445  - #__DARWIN_LDBL_COMPAT -( -x -č - - ) - -446  - #__DARWIN_LDBL_COMPAT2 -( -x -č - - ) - -447  - #__DARWIN_LONG_DOUBLE_IS_DOUBLE - 1 - - ) - -449 #–iŕ -defšed -( -__i386__ -č|| defšed( -__µc64__ -č|| defšed( -__x86_64__ -č|| defšed ( -__¬m__ -) - -450  - #__DARWIN_LDBL_COMPAT -( -x -č - - ) - -451  - #__DARWIN_LDBL_COMPAT2 -( -x -č - - ) - -452  - #__DARWIN_LONG_DOUBLE_IS_DOUBLE - 0 - - ) - -454 #”rÜ -Unknown - -¬ch™eůu» - - -460 #iŕ -__GNUC__ - >= 3 - -461  - #__d•»˙‹d - - `__©Śibu‹__ -(( -d•»˙‹d -)) - - ) - -463  - #__d•»˙‹d - - - ) - -474 #iŕ -__DARWIN_LONG_DOUBLE_IS_DOUBLE - - -475  - #_DARWIN_FEATURE_LONG_DOUBLE_IS_DOUBLE - 1 - - ) - -482 #iŕ -__DARWIN_UNIX03 - - -483  - #_DARWIN_FEATURE_UNIX_CONFORMANCE - 3 - - ) - -490 #iŕ -__DARWIN_64_BIT_INO_T - - -491  - #_DARWIN_FEATURE_64_BIT_INODE - 1 - - ) - - @/usr/include/sys/dirent.h - -75 #iâdeŕ -_SYS_DIRENT_H - - -76  - #_SYS_DIRENT_H - - - ) - -78  - ~ - -79  - ~ - -81 #iâdef -_INO_T - - -82  -__d¬wš_šo_t - - tšo_t -; - -83  - #_INO_T - - - ) - -87  - #__DARWIN_MAXNAMLEN - 255 - - ) - -89 #´agm¨ -·ck -(4) - -91 #iŕ! -__DARWIN_64_BIT_INO_T - - -92  - sdś’t - { - -93 -šo_t - - md_šo -; - -94 -__ušt16_t - - md_»ţ’ -; - -95 -__ušt8_t - - md_tył -; - -96 -__ušt8_t - - md_ÇmËn -; - -97  - md_Çme -[ -__DARWIN_MAXNAMLEN - + 1]; - -101 #´agm¨ -·ck -() - -103  - #__DARWIN_MAXPATHLEN - 1024 - - ) - -105  - #__DARWIN_STRUCT_DIRENTRY - { \ - -106 -__ušt64_t - -d_šo -; \ - -107 -__ušt64_t - -d_Łekoff -; \ - -108 -__ušt16_t - -d_»ţ’ -; \ - -109 -__ušt16_t - -d_ÇmËn -; \ - -110 -__ušt8_t - -d_tył -; \ - -111  -d_Çme -[ -__DARWIN_MAXPATHLEN -]; \ - -112 } - - ) - -114 #iŕ -__DARWIN_64_BIT_INO_T - - -115  -dś’t - - g__DARWIN_STRUCT_DIRENTRY -; - -120 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -121  - #d_fž’o - -d_šo - - - ) - -122  - #MAXNAMLEN - -__DARWIN_MAXNAMLEN - - - ) - -126  - #DT_UNKNOWN - 0 - - ) - -127  - #DT_FIFO - 1 - - ) - -128  - #DT_CHR - 2 - - ) - -129  - #DT_DIR - 4 - - ) - -130  - #DT_BLK - 6 - - ) - -131  - #DT_REG - 8 - - ) - -132  - #DT_LNK - 10 - - ) - -133  - #DT_SOCK - 12 - - ) - -134  - #DT_WHT - 14 - - ) - -139  - #IFTODT -( -mode -č(((modeč& 0170000č>> 12) - - ) - -140  - #DTTOIF -( -dśtył -č((dśtyłč<< 12) - - ) - - @/usr/include/sys/errno.h - -69 #iâdef -_SYS_ERRNO_H_ - - -70  - #_SYS_ERRNO_H_ - - - ) - -72  - ~ - -73 -__BEGIN_DECLS - - -74 * -__”rÜ -(); - -75  - #”şo - (* - `__”rÜ -()) - - ) - -76 - g__END_DECLS - - -82  - #EPERM - 1 - - ) - -83  - #ENOENT - 2 - - ) - -84  - #ESRCH - 3 - - ) - -85  - #EINTR - 4 - - ) - -86  - #EIO - 5 - - ) - -87  - #ENXIO - 6 - - ) - -88  - #E2BIG - 7 - - ) - -89  - #ENOEXEC - 8 - - ) - -90  - #EBADF - 9 - - ) - -91  - #ECHILD - 10 - - ) - -92  - #EDEADLK - 11 - - ) - -94  - #ENOMEM - 12 - - ) - -95  - #EACCES - 13 - - ) - -96  - #EFAULT - 14 - - ) - -97 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -98  - #ENOTBLK - 15 - - ) - -100  - #EBUSY - 16 - - ) - -101  - #EEXIST - 17 - - ) - -102  - #EXDEV - 18 - - ) - -103  - #ENODEV - 19 - - ) - -104  - #ENOTDIR - 20 - - ) - -105  - #EISDIR - 21 - - ) - -106  - #EINVAL - 22 - - ) - -107  - #ENFILE - 23 - - ) - -108  - #EMFILE - 24 - - ) - -109  - #ENOTTY - 25 - - ) - -110  - #ETXTBSY - 26 - - ) - -111  - #EFBIG - 27 - - ) - -112  - #ENOSPC - 28 - - ) - -113  - #ESPIPE - 29 - - ) - -114  - #EROFS - 30 - - ) - -115  - #EMLINK - 31 - - ) - -116  - #EPIPE - 32 - - ) - -119  - #EDOM - 33 - - ) - -120  - #ERANGE - 34 - - ) - -123  - #EAGAIN - 35 - - ) - -124  - #EWOULDBLOCK - -EAGAIN - - - ) - -125  - #EINPROGRESS - 36 - - ) - -126  - #EALREADY - 37 - - ) - -129  - #ENOTSOCK - 38 - - ) - -130  - #EDESTADDRREQ - 39 - - ) - -131  - #EMSGSIZE - 40 - - ) - -132  - #EPROTOTYPE - 41 - - ) - -133  - #ENOPROTOOPT - 42 - - ) - -134  - #EPROTONOSUPPORT - 43 - - ) - -135 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -136  - #ESOCKTNOSUPPORT - 44 - - ) - -138  - #ENOTSUP - 45 - - ) - -139 #iŕ! -__DARWIN_UNIX03 - && ! -defšed -( -KERNEL -) - -148  - #EOPNOTSUPP - -ENOTSUP - - - ) - -151 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -152  - #EPFNOSUPPORT - 46 - - ) - -154  - #EAFNOSUPPORT - 47 - - ) - -155  - #EADDRINUSE - 48 - - ) - -156  - #EADDRNOTAVAIL - 49 - - ) - -159  - #ENETDOWN - 50 - - ) - -160  - #ENETUNREACH - 51 - - ) - -161  - #ENETRESET - 52 - - ) - -162  - #ECONNABORTED - 53 - - ) - -163  - #ECONNRESET - 54 - - ) - -164  - #ENOBUFS - 55 - - ) - -165  - #EISCONN - 56 - - ) - -166  - #ENOTCONN - 57 - - ) - -167 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -168  - #ESHUTDOWN - 58 - - ) - -169  - #ETOOMANYREFS - 59 - - ) - -171  - #ETIMEDOUT - 60 - - ) - -172  - #ECONNREFUSED - 61 - - ) - -174  - #ELOOP - 62 - - ) - -175  - #ENAMETOOLONG - 63 - - ) - -178 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -179  - #EHOSTDOWN - 64 - - ) - -181  - #EHOSTUNREACH - 65 - - ) - -182  - #ENOTEMPTY - 66 - - ) - -185 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -186  - #EPROCLIM - 67 - - ) - -187  - #EUSERS - 68 - - ) - -189  - #EDQUOT - 69 - - ) - -192  - #ESTALE - 70 - - ) - -193 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -194  - #EREMOTE - 71 - - ) - -195  - #EBADRPC - 72 - - ) - -196  - #ERPCMISMATCH - 73 - - ) - -197  - #EPROGUNAVAIL - 74 - - ) - -198  - #EPROGMISMATCH - 75 - - ) - -199  - #EPROCUNAVAIL - 76 - - ) - -202  - #ENOLCK - 77 - - ) - -203  - #ENOSYS - 78 - - ) - -205 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -206  - #EFTYPE - 79 - - ) - -207  - #EAUTH - 80 - - ) - -208  - #ENEEDAUTH - 81 - - ) - -211  - #EPWROFF - 82 - - ) - -212  - #EDEVERR - 83 - - ) - -215  - #EOVERFLOW - 84 - - ) - -218 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -219  - #EBADEXEC - 85 - - ) - -220  - #EBADARCH - 86 - - ) - -221  - #ESHLIBVERS - 87 - - ) - -222  - #EBADMACHO - 88 - - ) - -225  - #ECANCELED - 89 - - ) - -227  - #EIDRM - 90 - - ) - -228  - #ENOMSG - 91 - - ) - -229  - #EILSEQ - 92 - - ) - -230 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -231  - #ENOATTR - 93 - - ) - -234  - #EBADMSG - 94 - - ) - -235  - #EMULTIHOP - 95 - - ) - -236  - #ENODATA - 96 - - ) - -237  - #ENOLINK - 97 - - ) - -238  - #ENOSR - 98 - - ) - -239  - #ENOSTR - 99 - - ) - -240  - #EPROTO - 100 - - ) - -241  - #ETIME - 101 - - ) - -243 #iŕ -__DARWIN_UNIX03 - || -defšed -( -KERNEL -) - -245  - #EOPNOTSUPP - 102 - - ) - -248  - #ENOPOLICY - 103 - - ) - -250 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -251  - #ELAST - 103 - - ) - - @/usr/include/sys/fcntl.h - -70 #iâdeŕ -_SYS_FCNTL_H_ - - -71  - #_SYS_FCNTL_H_ - - - ) - -78  - ~ - -79  - ~ - -82 #iâdeŕ -_SIZE_T - - -83  - #_SIZE_T - - - ) - -84  -__d¬wš_size_t - - tsize_t -; - -87 #iâdef -_MODE_T - - -88  -__d¬wš_mode_t - - tmode_t -; - -89  - #_MODE_T - - - ) - -92 #iâdeŕ -_OFF_T - - -93  -__d¬wš_off_t - - toff_t -; - -94  - #_OFF_T - - - ) - -97 #iâdeŕ -_PID_T - - -98  -__d¬wš_pid_t - - tpid_t -; - -99  - #_PID_T - - - ) - -110  - #O_RDONLY - 0x0000 - - ) - -111  - #O_WRONLY - 0x0001 - - ) - -112  - #O_RDWR - 0x0002 - - ) - -113  - #O_ACCMODE - 0x0003 - - ) - -123 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -124  - #FREAD - 0x0001 - - ) - -125  - #FWRITE - 0x0002 - - ) - -127  - #O_NONBLOCK - 0x0004 - - ) - -128  - #O_APPEND - 0x0008 - - ) - -129  - #O_SYNC - 0x0080 - - ) - -130 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -131  - #O_SHLOCK - 0x0010 - - ) - -132  - #O_EXLOCK - 0x0020 - - ) - -133  - #O_ASYNC - 0x0040 - - ) - -134  - #O_FSYNC - -O_SYNC - - - ) - -135  - #O_NOFOLLOW - 0x0100 - - ) - -137  - #O_CREAT - 0x0200 - - ) - -138  - #O_TRUNC - 0x0400 - - ) - -139  - #O_EXCL - 0x0800 - - ) - -140 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -141  - #O_EVTONLY - 0x8000 - - ) - -145  - #O_NOCTTY - 0x20000 - - ) - -148 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -149  - #O_DIRECTORY - 0x100000 - - ) - -150  - #O_SYMLINK - 0x200000 - - ) - -161 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -162  - #FAPPEND - -O_APPEND - - - ) - -163  - #FASYNC - -O_ASYNC - - - ) - -164  - #FFSYNC - -O_FSYNC - - - ) - -165  - #FNONBLOCK - -O_NONBLOCK - - - ) - -166  - #FNDELAY - -O_NONBLOCK - - - ) - -167  - #O_NDELAY - -O_NONBLOCK - - - ) - -174 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -175  - #CPF_OVERWRITE - 1 - - ) - -176  - #CPF_IGNORE_MODE - 2 - - ) - -177  - #CPF_MASK - ( -CPF_OVERWRITE -| -CPF_IGNORE_MODE -) - - ) - -185  - #F_DUPFD - 0 - - ) - -186  - #F_GETFD - 1 - - ) - -187  - #F_SETFD - 2 - - ) - -188  - #F_GETFL - 3 - - ) - -189  - #F_SETFL - 4 - - ) - -190  - #F_GETOWN - 5 - - ) - -191  - #F_SETOWN - 6 - - ) - -192  - #F_GETLK - 7 - - ) - -193  - #F_SETLK - 8 - - ) - -194  - #F_SETLKW - 9 - - ) - -195 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -196  - #F_CHKCLEAN - 41 - - ) - -197  - #F_PREALLOCATE - 42 - - ) - -198  - #F_SETSIZE - 43 - - ) - -199  - #F_RDADVISE - 44 - - ) - -200  - #F_RDAHEAD - 45 - - ) - -201  - #F_READBOOTSTRAP - 46 - - ) - -202  - #F_WRITEBOOTSTRAP - 47 - - ) - -203  - #F_NOCACHE - 48 - - ) - -204  - #F_LOG2PHYS - 49 - - ) - -205  - #F_GETPATH - 50 - - ) - -206  - #F_FULLFSYNC - 51 - - ) - -207  - #F_PATHPKG_CHECK - 52 - - ) - -208  - #F_FREEZE_FS - 53 - - ) - -209  - #F_THAW_FS - 54 - - ) - -210  - #F_GLOBAL_NOCACHE - 55 - - ) - -213  - #F_ADDSIGS - 59 - - ) - -215  - #F_MARKDEPENDENCY - 60 - - ) - -218  - #FCNTL_FS_SPECIFIC_BASE - 0x00010000 - - ) - -223  - #FD_CLOEXEC - 1 - - ) - -226  - #F_RDLCK - 1 - - ) - -227  - #F_UNLCK - 2 - - ) - -228  - #F_WRLCK - 3 - - ) - -234 #iâdeŕ -SEEK_SET - - -235  - #SEEK_SET - 0 - - ) - -236  - #SEEK_CUR - 1 - - ) - -237  - #SEEK_END - 2 - - ) - -244 #iâdeŕ -S_IFMT - - -246  - #S_IFMT - 0170000 - - ) - -247  - #S_IFIFO - 0010000 - - ) - -248  - #S_IFCHR - 0020000 - - ) - -249  - #S_IFDIR - 0040000 - - ) - -250  - #S_IFBLK - 0060000 - - ) - -251  - #S_IFREG - 0100000 - - ) - -252  - #S_IFLNK - 0120000 - - ) - -253  - #S_IFSOCK - 0140000 - - ) - -254 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -255  - #S_IFWHT - 0160000 - - ) - -256  - #S_IFXATTR - 0200000 - - ) - -261  - #S_IRWXU - 0000700 - - ) - -262  - #S_IRUSR - 0000400 - - ) - -263  - #S_IWUSR - 0000200 - - ) - -264  - #S_IXUSR - 0000100 - - ) - -266  - #S_IRWXG - 0000070 - - ) - -267  - #S_IRGRP - 0000040 - - ) - -268  - #S_IWGRP - 0000020 - - ) - -269  - #S_IXGRP - 0000010 - - ) - -271  - #S_IRWXO - 0000007 - - ) - -272  - #S_IROTH - 0000004 - - ) - -273  - #S_IWOTH - 0000002 - - ) - -274  - #S_IXOTH - 0000001 - - ) - -276  - #S_ISUID - 0004000 - - ) - -277  - #S_ISGID - 0002000 - - ) - -278  - #S_ISVTX - 0001000 - - ) - -280 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -281  - #S_ISTXT - -S_ISVTX - - - ) - -282  - #S_IREAD - -S_IRUSR - - - ) - -283  - #S_IWRITE - -S_IWUSR - - - ) - -284  - #S_IEXEC - -S_IXUSR - - - ) - -288 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -291  - #F_ALLOCATECONTIG - 0x00000002 - - ) - -292  - #F_ALLOCATEALL - 0x00000004 - - ) - -296  - #F_PEOFPOSMODE - 3 - - ) - -298  - #F_VOLPOSMODE - 4 - - ) - -305  - sćock - { - -306 -off_t - - ml_ˇ¬t -; - -307 -off_t - - ml_Ën -; - -308 -pid_t - - ml_pid -; - -309  - ml_tył -; - -310  - ml_wh’ű -; - -314 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -319  - sżdvisÜy - { - -320 -off_t - - mż_offŁt -; - -321  - mż_couÁ -; - -329  - sfsigÇtu»s - { - -330 -off_t - - mfs_fže_ˇ¬t -; - -331 * - mfs_blob_ˇ¬t -; - -332 -size_t - - mfs_blob_size -; - -333 } - tfsigÇtu»s_t -; - -336  - #LOCK_SH - 0x01 - - ) - -337  - #LOCK_EX - 0x02 - - ) - -338  - #LOCK_NB - 0x04 - - ) - -339  - #LOCK_UN - 0x08 - - ) - -343  - sfˇÜe - { - -344  - mfˇ_ćags -; - -345  - mfˇ_posmode -; - -346 -off_t - - mfˇ_offŁt -; - -347 -off_t - - mfˇ_Ëngth -; - -348 -off_t - - mfˇ_by‹§Îoc -; - -349 } - tfˇÜe_t -; - -353  - sfbo١ż±żnsăr - { - -354 -off_t - - mfbt_offŁt -; - -355 -size_t - - mfbt_Ëngth -; - -356 * - mfbt_bufăr -; - -357 } - tfbo١ż±żnsăr_t -; - -377 #´agm¨ -·ck -(4) - -379  - slog2phys - { - -380  - ml2p_ćags -; - -381 -off_t - - ml2p_cÚtigby‹s -; - -382 -off_t - - ml2p_devoffŁt -; - -385 #´agm¨ -·ck -() - -387  - #O_POPUP - 0x80000000 - - ) - -388  - #O_ALERT - 0x20000000 - - ) - -394 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -395 #iâdeŕ -_FILESEC_T - - -396  - g_fžeŁc -; - -397  -_fžeŁc - * - tfžeŁc_t -; - -398  - #_FILESEC_T - - - ) - -401 - mFILESEC_OWNER - = 1, - -402 - mFILESEC_GROUP - = 2, - -403 - mFILESEC_UUID - = 3, - -404 - mFILESEC_MODE - = 4, - -405 - mFILESEC_ACL - = 5, - -406 - mFILESEC_GRPUUID - = 6, - -409 - mFILESEC_ACL_RAW - = 100, - -410 - mFILESEC_ACL_ALLOCSIZE - = 101 - -411 } - tfžeŁc_´Ý”ty_t -; - -414  - #FILESEC_GUID - -FILESEC_UUID - - - ) - -417 -__BEGIN_DECLS - - -418  - $Ý’ -(cÚˇ *, , ...č - `__DARWIN_ALIAS_C -( -Ý’ -); - -419  - $ü—t -(cÚˇ *, -mode_t -č - `__DARWIN_ALIAS_C -( -ü—t -); - -420  - $fúŽ -(, , ...č - `__DARWIN_ALIAS_C -( -fúŽ -); - -421 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -422  - `Ý’x_Ĺ -(cÚˇ *, , -fžeŁc_t -); - -423  - `ćock -(, ); - -424 -fžeŁc_t - - `fžeŁc_š™ -(); - -425 -fžeŁc_t - - `fžeŁc_dup -(filesec_t); - -426  - `fžeŁc_ä“ -( -fžeŁc_t -); - -427  - `fžeŁc_g‘_´Ý”ty -( -fžeŁc_t -, -fžeŁc_´Ý”ty_t -, *); - -428  - `fžeŁc_Łt_´Ý”ty -( -fžeŁc_t -, -fžeŁc_´Ý”ty_t -, const *); - -429  - `fžeŁc_qu”y_´Ý”ty -( -fžeŁc_t -, -fžeŁc_´Ý”ty_t -, *); - -430  - #_FILESEC_UNSET_PROPERTY - ((*)0) - - ) - -431  - #_FILESEC_REMOVE_ACL - ((*)1) - - ) - -433 -__END_DECLS - - - @/usr/include/sys/select.h - -63 #iâdeŕ -_SYS_SELECT_H_ - - -64  - #_SYS_SELECT_H_ - - - ) - -66  - ~ - -67  - ~ - -68  - ~ - -75  - #__Ăed_fd_Łt - - - ) - -76  - #__Ăed_ˇruů_timeĄec - - - ) - -77  - #__Ăed_ˇruů_timev® - - - ) - -78  - ~ - -85 #iâdef -_TIME_T - - -86  - #_TIME_T - - - ) - -87  -__d¬wš_time_t - - ttime_t -; - -90 #iâdeŕ -_SUSECONDS_T - - -91  - #_SUSECONDS_T - - - ) - -92  -__d¬wš_suŁcÚds_t - - tsuŁcÚds_t -; - -95 #iâdeŕ -_SIGSET_T - - -96  - #_SIGSET_T - - - ) - -97  -__d¬wš_sigŁt_t - - tsigŁt_t -; - -112 #iâdef -FD_SETSIZE - - -113  - #FD_SETSIZE - -__DARWIN_FD_SETSIZE - - - ) - -115 #iâdeŕ -FD_SET - - -116  - #FD_SET -( -n -, -p -č - `__DARWIN_FD_SET -Ň,…) - - ) - -118 #iâdeŕ -FD_CLR - - -119  - #FD_CLR -( -n -, -p -č - `__DARWIN_FD_CLR -Ň,…) - - ) - -121 #iâdeŕ -FD_ISSET - - -122  - #FD_ISSET -( -n -, -p -č - `__DARWIN_FD_ISSET -Ň,…) - - ) - -124 #iâdeŕ -FD_ZERO - - -125  - #FD_ZERO -( -p -č - `__DARWIN_FD_ZERO -Ő) - - ) - -127 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -128 #iâdeŕ -FD_COPY - - -129  - #FD_COPY -( -f -, -t -č - `__DARWIN_FD_COPY -(f,) - - ) - -134 - g__BEGIN_DECLS - - -136 #iâdeŕ -__MWERKS__ - - -137  - $pŁËů -(, -fd_Łt - * -__»ˇriů -, fd_set * __restrict, - -138 -fd_Łt - * -__»ˇriů -, cÚˇ  -timeĄec - * __restrict, - -139 cÚˇ -sigŁt_t - * -__»ˇriů -) - -140 #iŕ - `defšed -( -_DARWIN_C_SOURCE -č|| defšed( -_DARWIN_UNLIMITED_SELECT -) - -141 - $__DARWIN_EXTSN_C -( -pŁËů -) - -143 #iŕ - `defšed -( -__LP64__ -č&& ! -__DARWIN_NON_CANCELABLE - - -144 - $__DARWIN_1050 -( -pŁËů -) - -146 - $__DARWIN_ALIAS_C -( -pŁËů -) - -152  - ~ - -154 -__END_DECLS - - - @/usr/include/sys/unistd.h - -64 #iâdeŕ -_SYS_UNISTD_H_ - - -65  - #_SYS_UNISTD_H_ - - - ) - -67  - ~ - -75 #ifdef -_NOT_AVAILABLE - - -76  - #_POSIX_SAVED_IDS - - - ) - -79  - #_POSIX_VERSION - 200112L - - ) - -80  - #_POSIX2_VERSION - 200112L - - ) - -84 #iâdeŕ -_POSIX_VDISABLE - - -85  - #_POSIX_VDISABLE - (()'\377') - - ) - -88  - #_POSIX_THREAD_KEYS_MAX - 128 - - ) - -91  - #F_OK - 0 - - ) - -92  - #X_OK - (1<<0č - - ) - -93  - #W_OK - (1<<1č - - ) - -94  - #R_OK - (1<<2č - - ) - -96 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -102  - #_READ_OK - (1<<9č - - ) - -103  - #_WRITE_OK - (1<<10č - - ) - -104  - #_EXECUTE_OK - (1<<11č - - ) - -105  - #_DELETE_OK - (1<<12č - - ) - -106  - #_APPEND_OK - (1<<13č - - ) - -107  - #_RMFILE_OK - (1<<14č - - ) - -108  - #_RATTR_OK - (1<<15č - - ) - -109  - #_WATTR_OK - (1<<16č - - ) - -110  - #_REXT_OK - (1<<17č - - ) - -111  - #_WEXT_OK - (1<<18č - - ) - -112  - #_RPERM_OK - (1<<19č - - ) - -113  - #_WPERM_OK - (1<<20č - - ) - -114  - #_CHOWN_OK - (1<<21č - - ) - -116  - #_ACCESS_EXTENDED_MASK - ( -_READ_OK - | -_WRITE_OK - | -_EXECUTE_OK - | \ - -117 -_DELETE_OK - | -_APPEND_OK - | \ - -118 -_RMFILE_OK - | -_REXT_OK - | \ - -119 -_WEXT_OK - | -_RATTR_OK - | -_WATTR_OK - | -_RPERM_OK - | \ - -120 -_WPERM_OK - | -_CHOWN_OK -) - - ) - -124 #iâdeŕ -SEEK_SET - - -125  - #SEEK_SET - 0 - - ) - -126  - #SEEK_CUR - 1 - - ) - -127  - #SEEK_END - 2 - - ) - -130 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -132  - #L_SET - -SEEK_SET - - - ) - -133  - #L_INCR - -SEEK_CUR - - - ) - -134  - #L_XTND - -SEEK_END - - - ) - -137 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -138  - sacűssx_desüťtÜ - { - -139  - mad_Çme_offŁt -; - -140  - mad_ćags -; - -141  - mad_·d -[2]; - -143  - #ACCESSX_MAX_DESCRIPTORS - 100 - - ) - -144  - #ACCESSX_MAX_TABLESIZE - (16 * 1024) - - ) - -148  - #_PC_LINK_MAX - 1 - - ) - -149  - #_PC_MAX_CANON - 2 - - ) - -150  - #_PC_MAX_INPUT - 3 - - ) - -151  - #_PC_NAME_MAX - 4 - - ) - -152  - #_PC_PATH_MAX - 5 - - ) - -153  - #_PC_PIPE_BUF - 6 - - ) - -154  - #_PC_CHOWN_RESTRICTED - 7 - - ) - -155  - #_PC_NO_TRUNC - 8 - - ) - -156  - #_PC_VDISABLE - 9 - - ) - -158 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -159  - #_PC_NAME_CHARS_MAX - 10 - - ) - -160  - #_PC_CASE_SENSITIVE - 11 - - ) - -161  - #_PC_CASE_PRESERVING - 12 - - ) - -162  - #_PC_EXTENDED_SECURITY_NP - 13 - - ) - -163  - #_PC_AUTH_OPAQUE_NP - 14 - - ) - -166  - #_PC_2_SYMLINKS - 15 - - ) - -167  - #_PC_ALLOC_SIZE_MIN - 16 - - ) - -168  - #_PC_ASYNC_IO - 17 - - ) - -169  - #_PC_FILESIZEBITS - 18 - - ) - -170  - #_PC_PRIO_IO - 19 - - ) - -171  - #_PC_REC_INCR_XFER_SIZE - 20 - - ) - -172  - #_PC_REC_MAX_XFER_SIZE - 21 - - ) - -173  - #_PC_REC_MIN_XFER_SIZE - 22 - - ) - -174  - #_PC_REC_XFER_ALIGN - 23 - - ) - -175  - #_PC_SYMLINK_MAX - 24 - - ) - -176  - #_PC_SYNC_IO - 25 - - ) - -179  - #_CS_PATH - 1 - - ) - - @/usr/include/sys/wait.h - -64 #iâdeŕ -_SYS_WAIT_H_ - - -65  - #_SYS_WAIT_H_ - - - ) - -67  - ~ - -68  - ~ - -80 - mP_ALL -, - -81 - mP_PID -, - -82 - mP_PGID - - -83 } - tidtył_t -; - -89 #iâdeŕ -_PID_T - - -90  -__d¬wš_pid_t - - tpid_t -; - -91  - #_PID_T - - - ) - -94 #iâdeŕ -_ID_T - - -95  -__d¬wš_id_t - - tid_t -; - -96  - #_ID_T - - - ) - -116  - ~ - -117  - ~ - -128  - #WNOHANG - 0x00000001 - - ) - -129  - #WUNTRACED - 0x00000002 - - ) - -135 #iŕ -defšed -( -_POSIX_C_SOURCE -č&& !defšed( -_DARWIN_C_SOURCE -) - -136  - #_W_INT -( -i -č(i) - - ) - -138  - #_W_INT -( -w -č(*(*)&(w)č - - ) - -139  - #WCOREFLAG - 0200 - - ) - -143  - #_WSTATUS -( -x -č( - `_W_INT -(xč& 0177) - - ) - -144  - #_WSTOPPED - 0177 - - ) - -150 #iŕ -__DARWIN_UNIX03 - - -151  - #WEXITSTATUS -( -x -č(( - `_W_INT -(xč>> 8č& 0x000000ff) - - ) - -153  - #WEXITSTATUS -( -x -č( - `_W_INT -(xč>> 8) - - ) - -156  - #WSTOPSIG -( -x -č( - `_W_INT -(xč>> 8) - - ) - -157  - #WIFCONTINUED -( -x -č( - `_WSTATUS -(xč=đ -_WSTOPPED - && - `WSTOPSIG -(xč=đ0x13) - - ) - -158  - #WIFSTOPPED -( -x -č( - `_WSTATUS -(xč=đ -_WSTOPPED - && - `WSTOPSIG -(xč!đ0x13) - - ) - -159  - #WIFEXITED -( -x -č( - `_WSTATUS -(xč=đ0) - - ) - -160  - #WIFSIGNALED -( -x -č( - `_WSTATUS -(xč!đ -_WSTOPPED - && _WSTATUS(xč!đ0) - - ) - -161  - #WTERMSIG -( -x -č( - `_WSTATUS -(x)) - - ) - -162 #iŕ(! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -163  - #WCOREDUMP -( -x -č( - `_W_INT -(xč& -WCOREFLAG -) - - ) - -165  - #W_EXITCODE -( -»t -, -sig -č(Ô‘č<< 8 | (sig)) - - ) - -166  - #W_STOPCODE -( -sig -č((sigč<< 8 | -_WSTOPPED -) - - ) - -175  - #WEXITED - 0x00000004 - - ) - -176 #iŕ -__DARWIN_UNIX03 - - -178  - #WSTOPPED - 0x00000008 - - ) - -180  - #WCONTINUED - 0x00000010 - - ) - -181  - #WNOWAIT - 0x00000020 - - ) - -184 #iŕ(! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -190  - #WAIT_ANY - (-1č - - ) - -191  - #WAIT_MYPGRP - 0 - - ) - -193  - ~ - -201  - uwa™ - { - -202  - mw_ˇ©us -; - -207 #iŕ -__DARWIN_BYTE_ORDER - =đ -__DARWIN_LITTLE_ENDIAN - - -208  - mw_T”msig -:7, - -209 - mw_CÜedump -:1, - -210 - mw_R‘code -:8, - -211 - mw_FžËr -:16; - -213 #iŕ -__DARWIN_BYTE_ORDER - =đ -__DARWIN_BIG_ENDIAN - - -214  - mw_FžËr -:16, - -215 - mw_R‘code -:8, - -216 - mw_CÜedump -:1, - -217 - mw_T”msig -:7; - -219 } - mw_T -; - -226 #iŕ -__DARWIN_BYTE_ORDER - =đ -__DARWIN_LITTLE_ENDIAN - - -227  - mw_StÝv® -:8, - -228 - mw_StÝsig -:8, - -229 - mw_FžËr -:16; - -231 #iŕ -__DARWIN_BYTE_ORDER - =đ -__DARWIN_BIG_ENDIAN - - -232  - mw_FžËr -:16, - -233 - mw_StÝsig -:8, - -234 - mw_StÝv® -:8; - -236 } - mw_S -; - -238  - #w_‹rmsig - -w_T -. -w_T”msig - - - ) - -239  - #w_cÜedump - -w_T -. -w_CÜedump - - - ) - -240  - #w_»tcode - -w_T -. -w_R‘code - - - ) - -241  - #w_ˇÝv® - -w_S -. -w_StÝv® - - - ) - -242  - #w_ˇÝsig - -w_S -. -w_StÝsig - - - ) - -246 #iŕ!( -__DARWIN_UNIX03 - - 0) - -251  - #WSTOPPED - -_WSTOPPED - - - ) - -254 -__BEGIN_DECLS - - -255 -pid_t - - $wa™ -(*č - `__DARWIN_ALIAS_C -( -wa™ -); - -256 -pid_t - - $wa™pid -( -pid_t -, *, č - `__DARWIN_ALIAS_C -( -wa™pid -); - -257 #iâdeŕ -_ANSI_SOURCE - - -258  - $wa™id -( -idtył_t -, -id_t -, -sigšfo_t - *, č - `__DARWIN_ALIAS_C -( -wa™id -); - -260 #iŕ (! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -261 -pid_t - - `wa™3 -(*, ,  -ru§ge - *); - -262 -pid_t - - `wa™4 -Őid_t, *, ,  -ru§ge - *); - -264 -__END_DECLS - - - @/usr/include/xlocale/_stdio.h - -24 #iâdeŕ -_XLOCALE__STDIO_H_ - - -25  - #_XLOCALE__STDIO_H_ - - - ) - -27 -__BEGIN_DECLS - - -28  - $aĄrštf_l -(**, -lo˙Ë_t -, const *, ...) - -29 - `__DARWIN_LDBL_COMPAT2 -( -aĄrštf_l -); - -30  - $ĺrštf_l -( -FILE - * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, ...) - -31 - `__DARWIN_LDBL_COMPAT2 -( -ĺrštf_l -); - -32  - $fs˙nf_l -( -FILE - * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, ...) - -33 - `__DARWIN_LDBL_COMPAT2 -( -fs˙nf_l -); - -34  - $´štf_l -( -lo˙Ë_t -, cÚˇ * -__»ˇriů -, ...) - -35 - `__DARWIN_LDBL_COMPAT2 -( -´štf_l -); - -36  - $s˙nf_l -( -lo˙Ë_t -, cÚˇ * -__»ˇriů -, ...) - -37 - `__DARWIN_LDBL_COMPAT2 -( -s˙nf_l -); - -38  - $˘´štf_l -(* -__»ˇriů -, -size_t -, -lo˙Ë_t -, - -39 cÚˇ * -__»ˇriů -, ...č - `__DARWIN_LDBL_COMPAT2 -( -˘´štf_l -); - -40  - $Ąrštf_l -(* -__»ˇriů -, -lo˙Ë_t -, const * __restrict, ...) - -41 - `__DARWIN_LDBL_COMPAT2 -( -Ąrštf_l -); - -42  - $ss˙nf_l -(cÚˇ * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, - -43 ...č - `__DARWIN_LDBL_COMPAT2 -( -ss˙nf_l -); - -44  - $vaĄrštf_l -(**, -lo˙Ë_t -, cÚˇ *, -va_liˇ -) - -45 - `__DARWIN_LDBL_COMPAT2 -( -vaĄrštf_l -); - -46  - $vĺrštf_l -( -FILE - * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, - -47 -va_liˇ -č - `__DARWIN_LDBL_COMPAT2 -( -vĺrštf_l -); - -48  - $vfs˙nf_l -( -FILE - * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, - -49 -va_liˇ -č - `__DARWIN_LDBL_COMPAT2 -( -vfs˙nf_l -); - -50  - $v´štf_l -( -lo˙Ë_t -, cÚˇ * -__»ˇriů -, -va_liˇ -) - -51 - `__DARWIN_LDBL_COMPAT2 -( -v´štf_l -); - -52  - $vs˙nf_l -( -lo˙Ë_t -, cÚˇ * -__»ˇriů -, -va_liˇ -) - -53 - `__DARWIN_LDBL_COMPAT2 -( -vs˙nf_l -); - -54  - $v˘´štf_l -(* -__»ˇriů -, -size_t -, -lo˙Ë_t -, - -55 cÚˇ * -__»ˇriů -, -va_liˇ -) - -56 - `__DARWIN_LDBL_COMPAT2 -( -v˘´štf_l -); - -57  - $vĄrštf_l -(* -__»ˇriů -, -lo˙Ë_t -, const * __restrict, - -58 -va_liˇ -č - `__DARWIN_LDBL_COMPAT2 -( -vĄrštf_l -); - -59  - $vss˙nf_l -(cÚˇ * -__»ˇriů -, -lo˙Ë_t -, const * __restrict, - -60 -va_liˇ -č - `__DARWIN_LDBL_COMPAT2 -( -vss˙nf_l -); - -61 -__END_DECLS - - - @/usr/include/xlocale/_stdlib.h - -24 #iâdeŕ -_XLOCALE__STDLIB_H_ - - -25  - #_XLOCALE__STDLIB_H_ - - - ) - -27 -__BEGIN_DECLS - - -28  -©of_l -(cÚˇ *, -lo˙Ë_t -); - -29  -©oi_l -(cÚˇ *, -lo˙Ë_t -); - -30  -©Ţ_l -(cÚˇ *, -lo˙Ë_t -); - -31 #iŕ! -__DARWIN_NO_LONG_LONG - - -33 -©Ţl_l -(cÚˇ *, -lo˙Ë_t -); - -35  -mbËn_l -(cÚˇ *, -size_t -, -lo˙Ë_t -); - -36 -size_t - -mbˇowcs_l -( -wch¬_t - * -__»ˇriů - , const * __restrict, size_t, - -37 -lo˙Ë_t -); - -38  -mbtowc_l -( -wch¬_t - * -__»ˇriů -, cÚˇ * __»ˇriů, -size_t -, - -39 -lo˙Ë_t -); - -40  - $ˇąod_l -(cÚˇ *, **, -lo˙Ë_t -č - `__DARWIN_ALIAS -( -ˇąod_l -); - -41  - $ˇąof_l -(cÚˇ *, **, -lo˙Ë_t -č - `__DARWIN_ALIAS -( -ˇąof_l -); - -42  - `ˇąŢ_l -(cÚˇ *, **, , -lo˙Ë_t -); - -44 - $ˇąŢd_l -(cÚˇ *, **, -lo˙Ë_t -) - -45 - `__DARWIN_LDBL_COMPAT2 -( -ˇąŢd_l -); - -47 - `ˇąŢl_l -(cÚˇ *, **, , -lo˙Ë_t -); - -48 #iŕ! -__DARWIN_NO_LONG_LONG - - -50 - `ˇąoq_l -(cÚˇ *, **, , -lo˙Ë_t -); - -53 - `ˇąoul_l -(cÚˇ *, **, , -lo˙Ë_t -); - -55 - `ˇąouÎ_l -(cÚˇ *, **, , -lo˙Ë_t -); - -56 #iŕ! -__DARWIN_NO_LONG_LONG - - -58 - `ˇąouq_l -(cÚˇ *, **, , -lo˙Ë_t -); - -60 -size_t - - `wcˇombs_l -(* -__»ˇriů -, cÚˇ -wch¬_t - * __restrict, size_t, - -61 -lo˙Ë_t -); - -62  - `wůomb_l -(*, -wch¬_t -, -lo˙Ë_t -); - -65 #iŕ! - `defšed -( -__ýluĄlus -č&& defšed( -__WCHAR_MAX__ -) && __WCHAR_MAX__ <= 0xffffU - -66 #´agm¨ -GCC - -poisÚ - -mbˇowcs_l - -mbtowc_l - -wcˇombs_l - -wůomb_l - - -68 -__END_DECLS - - - @/usr/include/xlocale/_string.h - -24 #iâdeŕ -_XLOCALE__STRING_H_ - - -25  - #_XLOCALE__STRING_H_ - - - ) - -27 -__BEGIN_DECLS - - -28  -ˇrcŢl_l -(cÚˇ *, cÚˇ *, -lo˙Ë_t -); - -29 -size_t - -ˇrxäm_l -(*, cÚˇ *, size_t, -lo˙Ë_t -); - -30  -ˇr˙Łcmp_l -(cÚˇ *, cÚˇ *, -lo˙Ë_t -); - -31 * -ˇr˙َr_l -(cÚˇ *, cÚˇ *, -lo˙Ë_t -); - -32  -ˇş˙Łcmp_l -(cÚˇ *, cÚˇ *, -size_t -, -lo˙Ë_t -); - -33 - g__END_DECLS - - - @/usr/include/i386/endian.h - -66 #iâdeŕ -_I386__ENDIAN_H_ - - -67  - #_I386__ENDIAN_H_ - - - ) - -69  - ~ - -78  - #_QUAD_HIGHWORD - 1 - - ) - -79  - #_QUAD_LOWWORD - 0 - - ) - -85  - #__DARWIN_LITTLE_ENDIAN - 1234 - - ) - -86  - #__DARWIN_BIG_ENDIAN - 4321 - - ) - -87  - #__DARWIN_PDP_ENDIAN - 3412 - - ) - -89  - #__DARWIN_BYTE_ORDER - -__DARWIN_LITTLE_ENDIAN - - - ) - -91 #if -defšed -( -KERNEL -č|| (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -93  - #LITTLE_ENDIAN - -__DARWIN_LITTLE_ENDIAN - - - ) - -94  - #BIG_ENDIAN - -__DARWIN_BIG_ENDIAN - - - ) - -95  - #PDP_ENDIAN - -__DARWIN_PDP_ENDIAN - - - ) - -97  - #BYTE_ORDER - -__DARWIN_BYTE_ORDER - - - ) - -99  - ~ - - @/usr/include/i386/types.h - -66 #iâdef -_MACHTYPES_H_ - - -67  - #_MACHTYPES_H_ - - - ) - -69 #iâdeŕ -__ASSEMBLER__ - - -70  - ~ - -71  - ~ - -76 #iâdeŕ -_INT8_T - - -77  - #_INT8_T - - - ) - -78  -__sigĂd -  - tšt8_t -; - -80  - tu_št8_t -; - -81 #iâdeŕ -_INT16_T - - -82  - #_INT16_T - - - ) - -83  - tšt16_t -; - -85  - tu_št16_t -; - -86 #iâdeŕ -_INT32_T - - -87  - #_INT32_T - - - ) - -88  - tšt32_t -; - -90  - tu_št32_t -; - -91 #iâdeŕ -_INT64_T - - -92  - #_INT64_T - - - ) - -93  - tšt64_t -; - -95  - tu_št64_t -; - -97 #iŕ -__LP64__ - - -98  -št64_t - - t»giˇ”_t -; - -100  -št32_t - - t»giˇ”_t -; - -103 #iâdeŕ -_INTPTR_T - - -104  - #_INTPTR_T - - - ) - -105  -__d¬wš_šŤŚ_t - - tšŤŚ_t -; - -107 #iâdeŕ -_UINTPTR_T - - -108  - #_UINTPTR_T - - - ) - -109  - tušŤŚ_t -; - -112 #iŕ! -defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -114  -u_št64_t - - tuŁr_addr_t -; - -115  -u_št64_t - - tuŁr_size_t -; - -116  -št64_t - - tuŁr_ssize_t -; - -117  -št64_t - - tuŁr_lÚg_t -; - -118  -u_št64_t - - tuŁr_ulÚg_t -; - -119  -št64_t - - tuŁr_time_t -; - -120  - #USER_ADDR_NULL - (( -uŁr_addr_t -č0) - - ) - -121  - #CAST_USER_ADDR_T -( -a_±r -č(( -uŁr_addr_t -)(( -ušŤŚ_t -)×_±r))) - - ) - -125  -u_št64_t - - tsys˙Î_¬g_t -; - -127 #iâdeŕ -__offŁtof - - -128  - #__offŁtof -( -tył -, -f›ld -č(( -size_t -)(&(Ńył *)0)->f›ld)) - - ) - - @/usr/include/machine/_structs.h - -28 #iŕ -defšed - ( -__µc__ -č|| defšed ( -__µc64__ -) - -29  - ~"µc/_ˇruůs.h -" - -30 #–iŕ -defšed - ( -__i386__ -č|| defšed ( -__x86_64__ -) - -31  - ~"i386/_ˇruůs.h -" - -32 #–iŕ -defšed - ( -__¬m__ -) - -33  - ~"¬m/_ˇruůs.h -" - -35 #”rÜ -¬ch™eůu» - -nŮ - -suµÜ‹d - - - @/usr/include/machine/_types.h - -28 #iâdeŕ -_BSD_MACHINE__TYPES_H_ - - -29  - #_BSD_MACHINE__TYPES_H_ - - - ) - -31 #iŕ -defšed - ( -__µc__ -č|| defšed ( -__µc64__ -) - -32  - ~"µc/_tyłs.h -" - -33 #–iŕ -defšed - ( -__i386__ -č|| defšed( -__x86_64__ -) - -34  - ~"i386/_tyłs.h -" - -35 #–iŕ -defšed - ( -__¬m__ -) - -36  - ~"¬m/_tyłs.h -" - -38 #”rÜ -¬ch™eůu» - -nŮ - -suµÜ‹d - - - @/usr/include/ppc/endian.h - -92 #iâdeŕ -_PPC_ENDIAN_H_ - - -93  - #_PPC_ENDIAN_H_ - - - ) - -95  - ~ - -100  - #_QUAD_HIGHWORD - 0 - - ) - -101  - #_QUAD_LOWWORD - 1 - - ) - -107  - #__DARWIN_LITTLE_ENDIAN - 1234 - - ) - -108  - #__DARWIN_BIG_ENDIAN - 4321 - - ) - -109  - #__DARWIN_PDP_ENDIAN - 3412 - - ) - -111  - #__DARWIN_BYTE_ORDER - -__DARWIN_BIG_ENDIAN - - - ) - -113 #if -defšed -( -KERNEL -č|| (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -115  - #LITTLE_ENDIAN - -__DARWIN_LITTLE_ENDIAN - - - ) - -116  - #BIG_ENDIAN - -__DARWIN_BIG_ENDIAN - - - ) - -117  - #PDP_ENDIAN - -__DARWIN_PDP_ENDIAN - - - ) - -119  - #BYTE_ORDER - -__DARWIN_BYTE_ORDER - - - ) - -121  - ~ - - @/usr/include/ppc/types.h - -66 #iâdef -_MACHTYPES_H_ - - -67  - #_MACHTYPES_H_ - - - ) - -69 #iâdeŕ -__ASSEMBLER__ - - -70  - ~<µc/_tyłs.h -> - -71  - ~ - -76 #iâdeŕ -_INT8_T - - -77  - #_INT8_T - - - ) - -78  -__sigĂd -  - tšt8_t -; - -80  - tu_št8_t -; - -81 #iâdeŕ -_INT16_T - - -82  - #_INT16_T - - - ) - -83  - tšt16_t -; - -85  - tu_št16_t -; - -86 #iâdeŕ -_INT32_T - - -87  - #_INT32_T - - - ) - -88  - tšt32_t -; - -90  - tu_št32_t -; - -91 #iâdeŕ -_INT64_T - - -92  - #_INT64_T - - - ) - -93  - tšt64_t -; - -95  - tu_št64_t -; - -97 #iŕ -defšed -( -__µc64__ -) - -98  -št64_t - - t»giˇ”_t -; - -100  -št32_t - - t»giˇ”_t -; - -103 #iâdeŕ -_INTPTR_T - - -104  - #_INTPTR_T - - - ) - -105  -__d¬wš_šŤŚ_t - - tšŤŚ_t -; - -107 #iâdeŕ -_UINTPTR_T - - -108  - #_UINTPTR_T - - - ) - -109  - tušŤŚ_t -; - -112 #iŕ! -defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -117  -u_št64_t - - tuŁr_addr_t -; - -118  -u_št64_t - - tuŁr_size_t -; - -119  -št64_t - - tuŁr_ssize_t -; - -120  -št64_t - - tuŁr_lÚg_t -; - -121  -u_št64_t - - tuŁr_ulÚg_t -; - -122  -št64_t - - tuŁr_time_t -; - -123  - #USER_ADDR_NULL - (( -uŁr_addr_t -č0) - - ) - -124  - #CAST_USER_ADDR_T -( -a_±r -č(( -uŁr_addr_t -)(( -ušŤŚ_t -)×_±r))) - - ) - -128  -u_št64_t - - tsys˙Î_¬g_t -; - -130 #iâdeŕ -__offŁtof - - -131  - #__offŁtof -( -tył -, -f›ld -č(( -size_t -)(&(Ńył *)0)->f›ld)) - - ) - - @/usr/include/secure/_common.h - -24 #iâdeŕ -_SECURE__COMMON_H_ - - -25  - #_SECURE__COMMON_H_ - - - ) - -27 #undeŕ -_USE_FORTIFY_LEVEL - - -28 #ifdeŕ -_FORTIFY_SOURCE - && _FORTIFY_SOURCE > 0 - -29 #iŕ -_FORTIFY_SOURCE - > 1 - -30  - #_USE_FORTIFY_LEVEL - 2 - - ) - -32  - #_USE_FORTIFY_LEVEL - 1 - - ) - -35  - #_USE_FORTIFY_LEVEL - 0 - - ) - -38  - #__d¬wš_obsz0 -( -objeů -č - `__bužtš_objeů_size - (objeů, 0) - - ) - -39  - #__d¬wš_obsz -( -objeů -č - `__bužtš_objeů_size - (objeů, -_USE_FORTIFY_LEVEL - > 1) - - ) - - @/usr/include/sys/_select.h - -36 #iâdeŕ -_SYS__SELECT_H_ - - -37  - #_SYS__SELECT_H_ - - - ) - -39  - $ŁËů -(, -fd_Łt - * -__»ˇriů -, fd_set * __restrict, - -40 -fd_Łt - * -__»ˇriů -,  -timev® - * __restrict) - -41 #iŕ - `defšed -( -_DARWIN_C_SOURCE -č|| defšed( -_DARWIN_UNLIMITED_SELECT -) - -42 - $__DARWIN_EXTSN_C -( -ŁËů -) - -44 #iŕ - `defšed -( -__LP64__ -č&& ! -__DARWIN_NON_CANCELABLE - - -45 - $__DARWIN_1050 -( -ŁËů -) - -47 - $__DARWIN_ALIAS_C -( -ŁËů -) - - @/usr/include/sys/resource.h - -64 #iâdeŕ -_SYS_RESOURCE_H_ - - -65  - #_SYS_RESOURCE_H_ - - - ) - -67  - ~ - -68  - ~ - -69  - ~ - -75  - #__Ăed_ˇruů_timev® - - - ) - -76  - ~ - -79 #iâdeŕ -_ID_T - - -80  - #_ID_T - - - ) - -81  -__d¬wš_id_t - - tid_t -; - -88  -__ušt64_t - - tľim_t -; - -99  - #PRIO_PROCESS - 0 - - ) - -100  - #PRIO_PGRP - 1 - - ) - -101  - #PRIO_USER - 2 - - ) - -103 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -104  - #PRIO_DARWIN_THREAD - 3 - - ) - -109  - #PRIO_MIN - -20 - - ) - -110  - #PRIO_MAX - 20 - - ) - -116  - #PRIO_DARWIN_BG - 0x1000 - - ) - -130  - #RUSAGE_SELF - 0 - - ) - -131  - #RUSAGE_CHILDREN - -1 - - ) - -142  - sru§ge - { - -143  -timev® - - mru_utime -; - -144  -timev® - - mru_ˇime -; - -145 #iŕ -defšed -( -_POSIX_C_SOURCE -č&& !defšed( -_DARWIN_C_SOURCE -) - -146  - mru_Ýaque -[14]; - -153  - mru_maxrss -; - -154  - #ru_fśˇ - -ru_ixrss - - - ) - -155  - mru_ixrss -; - -156  - mru_idrss -; - -157  - mru_i¤ss -; - -158  - mru_mšćt -; - -159  - mru_majćt -; - -160  - mru_nsw­ -; - -161  - mru_šblock -; - -162  - mru_oublock -; - -163  - mru_msg˘d -; - -164  - mru_msgrcv -; - -165  - mru_nsigÇls -; - -166  - mru_nvcsw -; - -167  - mru_nivcsw -; - -168  - #ru_ϡ - -ru_nivcsw - - - ) - -184  - #RLIM_INFINITY - ((( -__ušt64_t -)1 << 63č- 1č - - ) - -185  - #RLIM_SAVED_MAX - -RLIM_INFINITY - - - ) - -186  - #RLIM_SAVED_CUR - -RLIM_INFINITY - - - ) - -192  - #RLIMIT_CPU - 0 - - ) - -193  - #RLIMIT_FSIZE - 1 - - ) - -194  - #RLIMIT_DATA - 2 - - ) - -195  - #RLIMIT_STACK - 3 - - ) - -196  - #RLIMIT_CORE - 4 - - ) - -197  - #RLIMIT_AS - 5 - - ) - -198 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -199  - #RLIMIT_RSS - -RLIMIT_AS - - - ) - -200  - #RLIMIT_MEMLOCK - 6 - - ) - -201  - #RLIMIT_NPROC - 7 - - ) - -203  - #RLIMIT_NOFILE - 8 - - ) - -204 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -205  - #RLIM_NLIMITS - 9 - - ) - -207  - #_RLIMIT_POSIX_FLAG - 0x1000 - - ) - -213  - sľim™ - { - -214 -ľim_t - - mľim_cur -; - -215 -ľim_t - - mľim_max -; - -218 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -220  - #IOPOL_TYPE_DISK - 0 - - ) - -223  - #IOPOL_SCOPE_PROCESS - 0 - - ) - -224  - #IOPOL_SCOPE_THREAD - 1 - - ) - -227  - #IOPOL_DEFAULT - 0 - - ) - -228  - #IOPOL_NORMAL - 1 - - ) - -229  - #IOPOL_PASSIVE - 2 - - ) - -230  - #IOPOL_THROTTLE - 3 - - ) - -235 -__BEGIN_DECLS - - -236  -g‘´iÜ™y -(, -id_t -); - -237 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -238  -g‘iÝŢicy_Ĺ -(, ); - -240  - $g‘ľim™ -(,  -ľim™ - *č - `__DARWIN_ALIAS -( -g‘ľim™ -); - -241  - `g‘ru§ge -(,  -ru§ge - *); - -242  - `ŁŤriÜ™y -(, -id_t -, ); - -243 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -244  - `ŁtiÝŢicy_Ĺ -(, , ); - -246  - $ŁŚlim™ -(, cÚˇ  -ľim™ - *č - `__DARWIN_ALIAS -( -ŁŚlim™ -); - -247 -__END_DECLS - - - @/usr/include/sys/signal.h - -69 #iâdef -_SYS_SIGNAL_H_ - - -70  - #_SYS_SIGNAL_H_ - - - ) - -72  - ~ - -73  - ~ - -75  - #__DARWIN_NSIG - 32 - - ) - -77 #iŕ! -defšed -( -_ANSI_SOURCE -č&& (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -78  - #NSIG - -__DARWIN_NSIG - - - ) - -81  - ~ - -83  - #SIGHUP - 1 - - ) - -84  - #SIGINT - 2 - - ) - -85  - #SIGQUIT - 3 - - ) - -86  - #SIGILL - 4 - - ) - -87  - #SIGTRAP - 5 - - ) - -88  - #SIGABRT - 6 - - ) - -89 #iŕ ( -defšed -( -_POSIX_C_SOURCE -č&& !defšed( -_DARWIN_C_SOURCE -)) - -90  - #SIGPOLL - 7 - - ) - -92  - #SIGIOT - -SIGABRT - - - ) - -93  - #SIGEMT - 7 - - ) - -95  - #SIGFPE - 8 - - ) - -96  - #SIGKILL - 9 - - ) - -97  - #SIGBUS - 10 - - ) - -98  - #SIGSEGV - 11 - - ) - -99  - #SIGSYS - 12 - - ) - -100  - #SIGPIPE - 13 - - ) - -101  - #SIGALRM - 14 - - ) - -102  - #SIGTERM - 15 - - ) - -103  - #SIGURG - 16 - - ) - -104  - #SIGSTOP - 17 - - ) - -105  - #SIGTSTP - 18 - - ) - -106  - #SIGCONT - 19 - - ) - -107  - #SIGCHLD - 20 - - ) - -108  - #SIGTTIN - 21 - - ) - -109  - #SIGTTOU - 22 - - ) - -110 #iŕ (! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -111  - #SIGIO - 23 - - ) - -113  - #SIGXCPU - 24 - - ) - -114  - #SIGXFSZ - 25 - - ) - -115  - #SIGVTALRM - 26 - - ) - -116  - #SIGPROF - 27 - - ) - -117 #iŕ (! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -118  - #SIGWINCH - 28 - - ) - -119  - #SIGINFO - 29 - - ) - -121  - #SIGUSR1 - 30 - - ) - -122  - #SIGUSR2 - 31 - - ) - -124 #iŕ -defšed -( -_ANSI_SOURCE -č|| -__DARWIN_UNIX03 - || defšed( -__ýluĄlus -) - -130  - #SIG_DFL - ((*)())0 - - ) - -131  - #SIG_IGN - ((*)())1 - - ) - -132  - #SIG_HOLD - ((*)())5 - - ) - -133  - #SIG_ERR - (((*)())-1) - - ) - -136  - #SIG_DFL - ((*)Đ))0 - - ) - -137  - #SIG_IGN - ((*)Đ))1 - - ) - -138  - #SIG_HOLD - ((*)Đ))5 - - ) - -139  - #SIG_ERR - (((*)Đ))-1) - - ) - -142 #iâdeŕ -_ANSI_SOURCE - - -143  - ~ - -145  - #__Ăed_mcÚ‹xt_t - - - ) - -146  - #__Ăed_ˇack_t - - - ) - -147  - #__Ăed_ucÚ‹xt_t - - - ) - -148 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -149 #iŕ -defšed -( -__µc__ -č|| defšed( -__µc64__ -) - -150  - #__Ăed_mcÚ‹xt64_t - - - ) - -151  - #__Ăed_ucÚ‹xt64_t - - - ) - -154  - ~ - -156 #iâdeŕ -_PID_T - - -157  - #_PID_T - - - ) - -158  -__d¬wš_pid_t - - tpid_t -; - -161 #iâdeŕ -_PTHREAD_ATTR_T - - -162  - #_PTHREAD_ATTR_T - - - ) - -163  -__d¬wš_±h»ad_©Ś_t - - t±h»ad_©Ś_t -; - -166 #iâdeŕ -_SIGSET_T - - -167  - #_SIGSET_T - - - ) - -168  -__d¬wš_sigŁt_t - - tsigŁt_t -; - -171 #iâdef -_SIZE_T - - -172  - #_SIZE_T - - - ) - -173  -__d¬wš_size_t - - tsize_t -; - -176 #iâdeŕ -_UID_T - - -177  - #_UID_T - - - ) - -178  -__d¬wš_uid_t - - tuid_t -; - -181  - usigv® - { - -183  - msiv®_št -; - -184 * - msiv®_±r -; - -187  - #SIGEV_NONE - 0 - - ) - -188  - #SIGEV_SIGNAL - 1 - - ) - -189  - #SIGEV_THREAD - 3 - - ) - -191  - ssigev’t - { - -192  - msigev_nŮify -; - -193  - msigev_signo -; - -194  -sigv® - - msigev_v®ue -; - -195 (* - msigev_nŮify_funůiÚ -)( - msigv® -); - -196 -±h»ad_©Ś_t - * - msigev_nŮify_©Śibu‹s -; - -200  - s__sigšfo - { - -201  - msi_signo -; - -202  - msi_”şo -; - -203  - msi_code -; - -204 -pid_t - - msi_pid -; - -205 -uid_t - - msi_uid -; - -206  - msi_ˇ©us -; - -207 * - msi_addr -; - -208  -sigv® - - msi_v®ue -; - -209  - msi_bŞd -; - -210  - m__·d -[7]; - -211 } - tsigšfo_t -; - -228 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -229  - #ILL_NOOP - 0 - - ) - -231  - #ILL_ILLOPC - 1 - - ) - -232  - #ILL_ILLTRP - 2 - - ) - -233  - #ILL_PRVOPC - 3 - - ) - -234  - #ILL_ILLOPN - 4 - - ) - -235  - #ILL_ILLADR - 5 - - ) - -236  - #ILL_PRVREG - 6 - - ) - -237  - #ILL_COPROC - 7 - - ) - -238  - #ILL_BADSTK - 8 - - ) - -241 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -242  - #FPE_NOOP - 0 - - ) - -244  - #FPE_FLTDIV - 1 - - ) - -245  - #FPE_FLTOVF - 2 - - ) - -246  - #FPE_FLTUND - 3 - - ) - -247  - #FPE_FLTRES - 4 - - ) - -248  - #FPE_FLTINV - 5 - - ) - -249  - #FPE_FLTSUB - 6 - - ) - -250  - #FPE_INTDIV - 7 - - ) - -251  - #FPE_INTOVF - 8 - - ) - -254 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -255  - #SEGV_NOOP - 0 - - ) - -257  - #SEGV_MAPERR - 1 - - ) - -258  - #SEGV_ACCERR - 2 - - ) - -261 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -262  - #BUS_NOOP - 0 - - ) - -264  - #BUS_ADRALN - 1 - - ) - -265  - #BUS_ADRERR - 2 - - ) - -266  - #BUS_OBJERR - 3 - - ) - -269  - #TRAP_BRKPT - 1 - - ) - -270  - #TRAP_TRACE - 2 - - ) - -273 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -274  - #CLD_NOOP - 0 - - ) - -276  - #CLD_EXITED - 1 - - ) - -277  - #CLD_KILLED - 2 - - ) - -278  - #CLD_DUMPED - 3 - - ) - -279  - #CLD_TRAPPED - 4 - - ) - -280  - #CLD_STOPPED - 5 - - ) - -281  - #CLD_CONTINUED - 6 - - ) - -284  - #POLL_IN - 1 - - ) - -285  - #POLL_OUT - 2 - - ) - -286  - #POLL_MSG - 3 - - ) - -287  - #POLL_ERR - 4 - - ) - -288  - #POLL_PRI - 5 - - ) - -289  - #POLL_HUP - 6 - - ) - -292  - u__sigaůiÚ_u - { - -293 (* - m__§_hŞdËr -)(); - -294 (* - m__§_sigaůiÚ -)(,  - m__sigšfo - *, - -299  - s__sigaůiÚ - { - -300  -__sigaůiÚ_u - - m__sigaůiÚ_u -; - -301 (* - m§_Śamp -)(*, , , - msigšfo_t - *, *); - -302 -sigŁt_t - - m§_mask -; - -303  - m§_ćags -; - -309  - ssigaůiÚ - { - -310  -__sigaůiÚ_u - - m__sigaůiÚ_u -; - -311 -sigŁt_t - - m§_mask -; - -312  - m§_ćags -; - -318  - #§_hŞdËr - -__sigaůiÚ_u -. -__§_hŞdËr - - - ) - -319  - #§_sigaůiÚ - -__sigaůiÚ_u -. -__§_sigaůiÚ - - - ) - -321  - #SA_ONSTACK - 0x0001 - - ) - -322  - #SA_RESTART - 0x0002 - - ) - -323  - #SA_RESETHAND - 0x0004 - - ) - -324  - #SA_NOCLDSTOP - 0x0008 - - ) - -325  - #SA_NODEFER - 0x0010 - - ) - -326  - #SA_NOCLDWAIT - 0x0020 - - ) - -327  - #SA_SIGINFO - 0x0040 - - ) - -328 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -329  - #SA_USERTRAMP - 0x0100 - - ) - -331  - #SA_64REGSET - 0x0200 - - ) - -337  - #SA_USERSPACE_MASK - ( -SA_ONSTACK - | -SA_RESTART - | -SA_RESETHAND - | -SA_NOCLDSTOP - | -SA_NODEFER - | -SA_NOCLDWAIT - | -SA_SIGINFO -) - - ) - -342  - #SIG_BLOCK - 1 - - ) - -343  - #SIG_UNBLOCK - 2 - - ) - -344  - #SIG_SETMASK - 3 - - ) - -347  - #SI_USER - 0x10001 - - ) - -348  - #SI_QUEUE - 0x10002 - - ) - -349  - #SI_TIMER - 0x10003 - - ) - -350  - #SI_ASYNCIO - 0x10004 - - ) - -351  - #SI_MESGQ - 0x10005 - - ) - -353 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -354 (* - tsig_t -)(); - -361  - #SS_ONSTACK - 0x0001 - - ) - -362  - #SS_DISABLE - 0x0004 - - ) - -363  - #MINSIGSTKSZ - 32768 - - ) - -364  - #SIGSTKSZ - 131072 - - ) - -366 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -371  - ssigvec - { - -372 (* -sv_hŞdËr -)(); - -373  -sv_mask -; - -374  -sv_ćags -; - -377  - #SV_ONSTACK - -SA_ONSTACK - - - ) - -378  - #SV_INTERRUPT - -SA_RESTART - - - ) - -379  - #SV_RESETHAND - -SA_RESETHAND - - - ) - -380  - #SV_NODEFER - -SA_NODEFER - - - ) - -381  - #SV_NOCLDSTOP - -SA_NOCLDSTOP - - - ) - -382  - #SV_SIGINFO - -SA_SIGINFO - - - ) - -384  - #sv_Úˇack - -sv_ćags - - - ) - -390  - ssigˇack - { - -391 * -ss_Ą -; - -392  -ss_Úˇack -; - -395 #iŕ! - `defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -400  - #sigmask -( -m -č(1 << ((m)-1)) - - ) - -403  - #BADSIG - -SIG_ERR - - - ) - -412 -__BEGIN_DECLS - - -413 (* - `sigÇl -(, (*)()))(); - -414 -__END_DECLS - - - @/usr/include/i386/_structs.h - -29  - ~ - -31 #ifdeŕ -__Ăed_mcÚ‹xt_t - - -32 #iâdeŕ -__Ăed_ˇruů_mcÚ‹xt - - -33  - #__Ăed_ˇruů_mcÚ‹xt - - - ) - -37 #iŕ -defšed -( -__Ăed_ˇruů_mcÚ‹xt -) - -38  - ~ - -42 #ifdeŕ -__Ăed_ˇruů_mcÚ‹xt - - -43 #undeŕ -__Ăed_ˇruů_mcÚ‹xt - - -45 #iâdeŕ -_STRUCT_MCONTEXT32 - - -46 #iŕ -__DARWIN_UNIX03 - - -47  - #_STRUCT_MCONTEXT32 -  -__d¬wš_mcÚ‹xt32 - - - ) - -48 - g_STRUCT_MCONTEXT32 - - -50 -_STRUCT_X86_EXCEPTION_STATE32 - - g__es -; - -51 -_STRUCT_X86_THREAD_STATE32 - - g__ss -; - -52 -_STRUCT_X86_FLOAT_STATE32 - - g__fs -; - -55  - #_STRUCT_MCONTEXT32 -  -mcÚ‹xt32 - - - ) - -56 - g_STRUCT_MCONTEXT32 - - -58 -_STRUCT_X86_EXCEPTION_STATE32 - - ges -; - -59 -_STRUCT_X86_THREAD_STATE32 - - gss -; - -60 -_STRUCT_X86_FLOAT_STATE32 - - gfs -; - -65 #iâdeŕ -_STRUCT_MCONTEXT64 - - -66 #iŕ -__DARWIN_UNIX03 - - -67  - #_STRUCT_MCONTEXT64 -  -__d¬wš_mcÚ‹xt64 - - - ) - -68 - g_STRUCT_MCONTEXT64 - - -70 -_STRUCT_X86_EXCEPTION_STATE64 - - g__es -; - -71 -_STRUCT_X86_THREAD_STATE64 - - g__ss -; - -72 -_STRUCT_X86_FLOAT_STATE64 - - g__fs -; - -75  - #_STRUCT_MCONTEXT64 -  -mcÚ‹xt64 - - - ) - -76 - g_STRUCT_MCONTEXT64 - - -78 -_STRUCT_X86_EXCEPTION_STATE64 - - ges -; - -79 -_STRUCT_X86_THREAD_STATE64 - - gss -; - -80 -_STRUCT_X86_FLOAT_STATE64 - - gfs -; - -86 #ifdeŕ -__Ăed_mcÚ‹xt_t - - -87 #undeŕ -__Ăed_mcÚ‹xt_t - - -88 #iâdeŕ -_MCONTEXT_T - - -89  - #_MCONTEXT_T - - - ) - -90 #iŕ -defšed -( -__LP64__ -) - -91  -_STRUCT_MCONTEXT64 - * - tmcÚ‹xt_t -; - -92  - #_STRUCT_MCONTEXT - -_STRUCT_MCONTEXT64 - - - ) - -94  -_STRUCT_MCONTEXT32 - * - tmcÚ‹xt_t -; - -95  - #_STRUCT_MCONTEXT - -_STRUCT_MCONTEXT32 - - - ) - -100 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -101 #iâdeŕ -I386_MCONTEXT_SIZE - - -102  - #I386_MCONTEXT_SIZE - ( -mcÚ‹xt -) - - ) - - @/usr/include/i386/_types.h - -28 #iâdef -_BSD_I386__TYPES_H_ - - -29  - #_BSD_I386__TYPES_H_ - - - ) - -36 #ifdeŕ -__GNUC__ - - -37  -__sigĂd -  - t__št8_t -; - -39  - t__št8_t -; - -41  - t__ušt8_t -; - -42  - t__št16_t -; - -43  - t__ušt16_t -; - -44  - t__št32_t -; - -45  - t__ušt32_t -; - -46  - t__št64_t -; - -47  - t__ušt64_t -; - -49  - t__d¬wš_šŤŚ_t -; - -50  - t__d¬wš_Çtużl_t -; - -70  - t__d¬wš_ů_ruĂ_t -; - -77  - m__mbˇ©e8 -[128]; - -78  - m_mbˇ©eL -; - -79 } - t__mbˇ©e_t -; - -81  -__mbˇ©e_t - - t__d¬wš_mbˇ©e_t -; - -83 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__PTRDIFF_TYPE__ -) - -84  -__PTRDIFF_TYPE__ - - t__d¬wš_±rdiff_t -; - -86  - t__d¬wš_±rdiff_t -; - -89 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__SIZE_TYPE__ -) - -90  -__SIZE_TYPE__ - - t__d¬wš_size_t -; - -92  - t__d¬wš_size_t -; - -95 #iŕ( -__GNUC__ - > 2) - -96  -__bužtš_va_liˇ - - t__d¬wš_va_liˇ -; - -98 * - t__d¬wš_va_liˇ -; - -101 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__WCHAR_TYPE__ -) - -102  -__WCHAR_TYPE__ - - t__d¬wš_wch¬_t -; - -104  -__d¬wš_ů_ruĂ_t - - t__d¬wš_wch¬_t -; - -107  -__d¬wš_wch¬_t - - t__d¬wš_ruĂ_t -; - -109 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__WINT_TYPE__ -) - -110  -__WINT_TYPE__ - - t__d¬wš_wšt_t -; - -112  -__d¬wš_ů_ruĂ_t - - t__d¬wš_wšt_t -; - -115  - t__d¬wš_ţock_t -; - -116  -__ušt32_t - - t__d¬wš_sockËn_t -; - -117  - t__d¬wš_ssize_t -; - -118  - t__d¬wš_time_t -; - - @/usr/include/machine/signal.h - -28 #iâdeŕ -_BSD_MACHINE_SIGNAL_H_ - - -29  - #_BSD_MACHINE_SIGNAL_H_ - - - ) - -31 #iŕ -defšed - ( -__µc__ -č|| defšed ( -__µc64__ -) - -32  - ~"µc/sigÇl.h -" - -33 #–iŕ -defšed - ( -__i386__ -č|| defšed( -__x86_64__ -) - -34  - ~"i386/sigÇl.h -" - -35 #–iŕ -defšed - ( -__¬m__ -) - -36  - ~"¬m/sigÇl.h -" - -38 #”rÜ -¬ch™eůu» - -nŮ - -suµÜ‹d - - - @/usr/include/ppc/_structs.h - -29  - ~ - -31 #ifdeŕ -__Ăed_mcÚ‹xt_t - - -32 #iâdeŕ -__Ăed_ˇruů_mcÚ‹xt - - -33  - #__Ăed_ˇruů_mcÚ‹xt - - - ) - -37 #ifdeŕ -__Ăed_mcÚ‹xt64_t - - -38 #iâdeŕ -__Ăed_ˇruů_mcÚ‹xt64 - - -39  - #__Ăed_ˇruů_mcÚ‹xt64 - - - ) - -43 #iŕ -defšed -( -__Ăed_ˇruů_mcÚ‹xt -č|| defšed( -__Ăed_ˇruů_mcÚ‹xt64 -) - -44  - ~ - -47 #ifdeŕ -__Ăed_ˇruů_mcÚ‹xt - - -48 #undeŕ -__Ăed_ˇruů_mcÚ‹xt - - -49 #iâdeŕ -_STRUCT_MCONTEXT - - -50 #iŕ -__DARWIN_UNIX03 - - -51  - #_STRUCT_MCONTEXT -  -__d¬wš_mcÚ‹xt - - - ) - -52 - g_STRUCT_MCONTEXT - - -54 -_STRUCT_PPC_EXCEPTION_STATE - - g__es -; - -55 -_STRUCT_PPC_THREAD_STATE - - g__ss -; - -56 -_STRUCT_PPC_FLOAT_STATE - - g__fs -; - -57 -_STRUCT_PPC_VECTOR_STATE - - g__vs -; - -60  - #_STRUCT_MCONTEXT -  -mcÚ‹xt - - - ) - -61 - g_STRUCT_MCONTEXT - - -63 -_STRUCT_PPC_EXCEPTION_STATE - - ges -; - -64 -_STRUCT_PPC_THREAD_STATE - - gss -; - -65 -_STRUCT_PPC_FLOAT_STATE - - gfs -; - -66 -_STRUCT_PPC_VECTOR_STATE - - gvs -; - -72 #ifdeŕ -__Ăed_ˇruů_mcÚ‹xt64 - - -73 #undeŕ -__Ăed_ˇruů_mcÚ‹xt64 - - -74 #iâdeŕ -_STRUCT_MCONTEXT64 - - -75 #iŕ -__DARWIN_UNIX03 - - -76  - #_STRUCT_MCONTEXT64 -  -__d¬wš_mcÚ‹xt64 - - - ) - -77 - g_STRUCT_MCONTEXT64 - - -79 -_STRUCT_PPC_EXCEPTION_STATE64 - - g__es -; - -80 -_STRUCT_PPC_THREAD_STATE64 - - g__ss -; - -81 -_STRUCT_PPC_FLOAT_STATE - - g__fs -; - -82 -_STRUCT_PPC_VECTOR_STATE - - g__vs -; - -85  - #_STRUCT_MCONTEXT64 -  -mcÚ‹xt64 - - - ) - -86 - g_STRUCT_MCONTEXT64 - - -88 -_STRUCT_PPC_EXCEPTION_STATE64 - - ges -; - -89 -_STRUCT_PPC_THREAD_STATE64 - - gss -; - -90 -_STRUCT_PPC_FLOAT_STATE - - gfs -; - -91 -_STRUCT_PPC_VECTOR_STATE - - gvs -; - -97 #ifdeŕ -__Ăed_mcÚ‹xt_t - - -98 #undeŕ -__Ăed_mcÚ‹xt_t - - -99 #iâdeŕ -_MCONTEXT_T - - -100  - #_MCONTEXT_T - - - ) - -101  -_STRUCT_MCONTEXT - * - tmcÚ‹xt_t -; - -105 #ifdeŕ -__Ăed_mcÚ‹xt64_t - - -106 #undeŕ -__Ăed_mcÚ‹xt64_t - - -107 #iâdeŕ -_MCONTEXT64_T - - -108  - #_MCONTEXT64_T - - - ) - -109  -_STRUCT_MCONTEXT64 - * - tmcÚ‹xt64_t -; - -113 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -114 #iâdeŕ -PPC_MCONTEXT_SIZE - - -115  - #PPC_MCONTEXT_SIZE - ( -PPC_THREAD_STATE_COUNT - + -PPC_FLOAT_STATE_COUNT - + -PPC_EXCEPTION_STATE_COUNT - + -PPC_VECTOR_STATE_COUNT -č* () - - ) - -117 #iâdeŕ -PPC_MCONTEXT64_SIZE - - -118  - #PPC_MCONTEXT64_SIZE - ( -PPC_THREAD_STATE64_COUNT - + -PPC_FLOAT_STATE_COUNT - + -PPC_EXCEPTION_STATE_COUNT - + -PPC_VECTOR_STATE_COUNT -č* () - - ) - -126 #ifdeŕ -__Ăed_ˇruů_sigcÚ‹xt - - -127 #undeŕ -__Ăed_ˇruů_sigcÚ‹xt - - -128 #iâdeŕ -_STRUCT_SIGCONTEXT - - -129 #iŕ -__DARWIN_UNIX03 - - -130  - #_STRUCT_SIGCONTEXT -  -__d¬wš_sigcÚ‹xt - - - ) - -131 - g_STRUCT_SIGCONTEXT - - -133  - g__sc_Úˇack -; - -134  - g__sc_mask -; - -135  - g__sc_ś -; - -136  - g__sc_psw -; - -137  - g__sc_Ą -; - -138 * - g__sc_»gs -; - -141  - #_STRUCT_SIGCONTEXT -  -sigcÚ‹xt - - - ) - -142 - g_STRUCT_SIGCONTEXT - - -144  - gsc_Úˇack -; - -145  - gsc_mask -; - -146  - gsc_ś -; - -147  - gsc_psw -; - -148  - gsc_Ą -; - -149 * - gsc_»gs -; - -162 #ifdeŕ -__Ăed_ˇruů_sigcÚ‹xt32 - - -163 #undeŕ -__Ăed_ˇruů_sigcÚ‹xt32 - - -164 #iâdeŕ -_STRUCT_SIGCONTEXT32 - - -165 #iŕ -__DARWIN_UNIX03 - - -166  - #_STRUCT_SIGCONTEXT32 -  -__d¬wš_sigcÚ‹xt32 - - - ) - -167 - g_STRUCT_SIGCONTEXT32 - - -169  - g__sc_Úˇack -; - -170  - g__sc_mask -; - -171  - g__sc_ś -; - -172  - g__sc_psw -; - -173  - g__sc_Ą -; - -174 * - g__sc_»gs -; - -177  - #_STRUCT_SIGCONTEXT32 -  -sigcÚ‹xt32 - - - ) - -178 - g_STRUCT_SIGCONTEXT32 - - -180  - gsc_Úˇack -; - -181  - gsc_mask -; - -182  - gsc_ś -; - -183  - gsc_psw -; - -184  - gsc_Ą -; - -185 * - gsc_»gs -; - -191 #ifdeŕ -__Ăed_ˇruů_sigcÚ‹xt64 - - -192 #undeŕ -__Ăed_ˇruů_sigcÚ‹xt64 - - -193 #iâdeŕ -_STRUCT_SIGCONTEXT64 - - -194 #iŕ -__DARWIN_UNIX03 - - -195  - #_STRUCT_SIGCONTEXT64 -  -__d¬wš_sigcÚ‹xt64 - - - ) - -196 - g_STRUCT_SIGCONTEXT64 - - -198  - g__sc_Úˇack -; - -199  - g__sc_mask -; - -200  - g__sc_ś -; - -201  - g__sc_psw -; - -202  - g__sc_Ą -; - -203 * - g__sc_»gs -; - -206  - #_STRUCT_SIGCONTEXT64 -  -sigcÚ‹xt64 - - - ) - -207 - g_STRUCT_SIGCONTEXT64 - - -209  - gsc_Úˇack -; - -210  - gsc_mask -; - -211  - gsc_ś -; - -212  - gsc_psw -; - -213  - gsc_Ą -; - -214 * - gsc_»gs -; - - @/usr/include/ppc/_types.h - -28 #iâdef -_BSD_PPC__TYPES_H_ - - -29  - #_BSD_PPC__TYPES_H_ - - - ) - -36 #ifdeŕ -__GNUC__ - - -37  -__sigĂd -  - t__št8_t -; - -39  - t__št8_t -; - -41  - t__ušt8_t -; - -42  - t__št16_t -; - -43  - t__ušt16_t -; - -44  - t__št32_t -; - -45  - t__ušt32_t -; - -46  - t__št64_t -; - -47  - t__ušt64_t -; - -49  - t__d¬wš_šŤŚ_t -; - -50  - t__d¬wš_Çtużl_t -; - -70  - t__d¬wš_ů_ruĂ_t -; - -77  - m__mbˇ©e8 -[128]; - -78  - m_mbˇ©eL -; - -79 } - t__mbˇ©e_t -; - -81  -__mbˇ©e_t - - t__d¬wš_mbˇ©e_t -; - -83 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__PTRDIFF_TYPE__ -) - -84  -__PTRDIFF_TYPE__ - - t__d¬wš_±rdiff_t -; - -86  - t__d¬wš_±rdiff_t -; - -89 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__SIZE_TYPE__ -) - -90  -__SIZE_TYPE__ - - t__d¬wš_size_t -; - -92  - t__d¬wš_size_t -; - -95 #iŕ( -__GNUC__ - > 2) - -96  -__bužtš_va_liˇ - - t__d¬wš_va_liˇ -; - -98 * - t__d¬wš_va_liˇ -; - -101 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__WCHAR_TYPE__ -) - -102  -__WCHAR_TYPE__ - - t__d¬wš_wch¬_t -; - -104  -__d¬wš_ů_ruĂ_t - - t__d¬wš_wch¬_t -; - -107  -__d¬wš_wch¬_t - - t__d¬wš_ruĂ_t -; - -109 #iŕ -defšed -( -__GNUC__ -č&& defšed( -__WINT_TYPE__ -) - -110  -__WINT_TYPE__ - - t__d¬wš_wšt_t -; - -112  -__d¬wš_ů_ruĂ_t - - t__d¬wš_wšt_t -; - -115  - t__d¬wš_ţock_t -; - -116  -__ušt32_t - - t__d¬wš_sockËn_t -; - -117  - t__d¬wš_ssize_t -; - -118  - t__d¬wš_time_t -; - - @/usr/include/sys/_endian.h - -90 #iâdeŕ -_SYS__ENDIAN_H_ - - -91  - #_SYS__ENDIAN_H_ - - - ) - -93  - ~ - -99 #iŕ -defšed -( -lšt -) - -101 -__BEGIN_DECLS - - -102 -__ušt16_t - -Áohs -(__uint16_t); - -103 -__ušt16_t - -htÚs -(__uint16_t); - -104 -__ušt32_t - -Áohl -(__uint32_t); - -105 -__ušt32_t - -htÚl -(__uint32_t); - -106 - g__END_DECLS - - -108 #–iŕ -__DARWIN_BYTE_ORDER - =đ -__DARWIN_BIG_ENDIAN - - -110  - #Áohl -( -x -č(x) - - ) - -111  - #Áohs -( -x -č(x) - - ) - -112  - #htÚl -( -x -č(x) - - ) - -113  - #htÚs -( -x -č(x) - - ) - -115 #iŕ -defšed -( -KERNEL -č|| (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -116  - #NTOHL -( -x -č(x) - - ) - -117  - #NTOHS -( -x -č(x) - - ) - -118  - #HTONL -( -x -č(x) - - ) - -119  - #HTONS -( -x -č(x) - - ) - -124  - ~ - -126  - #Áohs -( -x -č - `__DARWIN_OSSw­IÁ16 -(x) - - ) - -127  - #htÚs -( -x -č - `__DARWIN_OSSw­IÁ16 -(x) - - ) - -129  - #Áohl -( -x -č - `__DARWIN_OSSw­IÁ32 -(x) - - ) - -130  - #htÚl -( -x -č - `__DARWIN_OSSw­IÁ32 -(x) - - ) - -132 #if -defšed -( -KERNEL -č|| (!defšed( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -)) - -133  - #NTOHL -( -x -č(xčđ - `Áohl -(( -__ušt32_t -)x) - - ) - -134  - #NTOHS -( -x -č(xčđ - `Áohs -(( -__ušt16_t -)x) - - ) - -135  - #HTONL -( -x -č(xčđ - `htÚl -(( -__ušt32_t -)x) - - ) - -136  - #HTONS -( -x -č(xčđ - `htÚs -(( -__ušt16_t -)x) - - ) - - @/usr/include/i386/signal.h - -33 #iâdef -_I386_SIGNAL_H_ - - -34  - #_I386_SIGNAL_H_ - 1 - - ) - -36  - ~ - -38 #iâdeŕ -_ANSI_SOURCE - - -39  - tsig_©omic_t -; - -41 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -43  - ~ - -45 #ifdeŕ -__APPLE_API_OBSOLETE - - -54  - #__Ăed_ˇruů_sigcÚ‹xt - - - ) - -55  - ~ - - @/usr/include/libkern/_OSByteOrder.h - -29 #iâdeŕ -_OS__OSBYTEORDER_H - - -30  - #_OS__OSBYTEORDER_H - - - ) - -40  - ~ - -43  - #__DARWIN_OSSw­CÚˇIÁ16 -( -x -) \ - -44 (( -__ušt16_t -)((((__ušt16_t)( -x -) & 0xff00) >> 8) | \ - -45 ((( -__ušt16_t -)( -x -č& 0x00ffč<< 8))) - - ) - -47  - #__DARWIN_OSSw­CÚˇIÁ32 -( -x -) \ - -48 (( -__ušt32_t -)((((__ušt32_t)( -x -) & 0xff000000) >> 24) | \ - -49 ((( -__ušt32_t -)( -x -) & 0x00ff0000) >> 8) | \ - -50 ((( -__ušt32_t -)( -x -) & 0x0000ff00) << 8) | \ - -51 ((( -__ušt32_t -)( -x -č& 0x000000ffč<< 24))) - - ) - -53  - #__DARWIN_OSSw­CÚˇIÁ64 -( -x -) \ - -54 (( -__ušt64_t -)((((__ušt64_t)( -x -) & 0xff00000000000000ULL) >> 56) | \ - -55 ((( -__ušt64_t -)( -x -) & 0x00ff000000000000ULL) >> 40) | \ - -56 ((( -__ušt64_t -)( -x -) & 0x0000ff0000000000ULL) >> 24) | \ - -57 ((( -__ušt64_t -)( -x -) & 0x000000ff00000000ULL) >> 8) | \ - -58 ((( -__ušt64_t -)( -x -) & 0x00000000ff000000ULL) << 8) | \ - -59 ((( -__ušt64_t -)( -x -) & 0x0000000000ff0000ULL) << 24) | \ - -60 ((( -__ušt64_t -)( -x -) & 0x000000000000ff00ULL) << 40) | \ - -61 ((( -__ušt64_t -)( -x -č& 0x00000000000000ffULLč<< 56))) - - ) - -63 #iŕ -defšed -( -__GNUC__ -) - -65 #iŕ -defšed -( -__i386__ -č|| defšed( -__x86_64__ -) - -66  - ~ - -69 #iŕ -defšed -( -__¬m__ -) - -70  - ~ - -74  - #__DARWIN_OSSw­IÁ16 -( -x -) \ - -75 ( - `__bužtš_cÚˇŞt_p -( -x -č? - `__DARWIN_OSSw­CÚˇIÁ16 -(xč: - `_OSSw­IÁ16 -(x)) - - ) - -77  - #__DARWIN_OSSw­IÁ32 -( -x -) \ - -78 ( - `__bužtš_cÚˇŞt_p -( -x -č? - `__DARWIN_OSSw­CÚˇIÁ32 -(xč: - `_OSSw­IÁ32 -(x)) - - ) - -80  - #__DARWIN_OSSw­IÁ64 -( -x -) \ - -81 ( - `__bužtš_cÚˇŞt_p -( -x -č? - `__DARWIN_OSSw­CÚˇIÁ64 -(xč: - `_OSSw­IÁ64 -(x)) - - ) - -85 #iŕ -defšed -( -__i386__ -č|| defšed( -__x86_64__ -) - -87 #iŕ! -defšed -( -__DARWIN_OS_INLINE -) - -88 #iŕ -defšed -( -__STDC_VERSION__ -) && __STDC_VERSION__ >= 199901L - -89  - #__DARWIN_OS_INLINE -  -šlše - - - ) - -90 #–iŕ -defšed -( -__MWERKS__ -č|| defšed( -__ýluĄlus -) - -91  - #__DARWIN_OS_INLINE -  -šlše - - - ) - -93  - #__DARWIN_OS_INLINE -  -__šlše__ - - - ) - -97 -__DARWIN_OS_INLINE - - -98 -ušt16_t - - -99 - $_OSSw­IÁ16 -( - -100 -ušt16_t - -d©a - - -103  - `__DARWIN_OSSw­CÚˇIÁ16 -( -d©a -); - -104 - } -} - -106 -__DARWIN_OS_INLINE - - -107 -ušt32_t - - -108 - $_OSSw­IÁ32 -( - -109 -ušt32_t - -d©a - - -112  - `__DARWIN_OSSw­CÚˇIÁ32 -( -d©a -); - -113 - } -} - -115 -__DARWIN_OS_INLINE - - -116 -ušt64_t - - -117 - $_OSSw­IÁ64 -( - -118 -ušt64_t - -d©a - - -121  - `__DARWIN_OSSw­CÚˇIÁ64 -( -d©a -); - -122 - } -} - -125  - #__DARWIN_OSSw­IÁ16 -( -x -č - `_OSSw­IÁ16 -(x) - - ) - -127  - #__DARWIN_OSSw­IÁ32 -( -x -č - `_OSSw­IÁ32 -(x) - - ) - -129  - #__DARWIN_OSSw­IÁ64 -( -x -č - `_OSSw­IÁ64 -(x) - - ) - - @/usr/include/mach/i386/_structs.h - -32 #iâdef -_MACH_I386__STRUCTS_H_ - - -33  - #_MACH_I386__STRUCTS_H_ - - - ) - -41 #iŕ -__DARWIN_UNIX03 - - -42  - #_STRUCT_X86_THREAD_STATE32 -  -__d¬wš_i386_th»ad_ˇ©e - - - ) - -43 - g_STRUCT_X86_THREAD_STATE32 - - -45  - g__—x -; - -46  - g__ebx -; - -47  - g__ecx -; - -48  - g__edx -; - -49  - g__edi -; - -50  - g__esi -; - -51  - g__ebp -; - -52  - g__eĄ -; - -53  - g__ss -; - -54  - g__ećags -; - -55  - g__eť -; - -56  - g__cs -; - -57  - g__ds -; - -58  - g__es -; - -59  - g__fs -; - -60  - g__gs -; - -63  - #_STRUCT_X86_THREAD_STATE32 -  -i386_th»ad_ˇ©e - - - ) - -64 - g_STRUCT_X86_THREAD_STATE32 - - -66  - g—x -; - -67  - gebx -; - -68  - gecx -; - -69  - gedx -; - -70  - gedi -; - -71  - gesi -; - -72  - gebp -; - -73  - geĄ -; - -74  - gss -; - -75  - gećags -; - -76  - geť -; - -77  - gcs -; - -78  - gds -; - -79  - ges -; - -80  - gfs -; - -81  - ggs -; - -87 #iŕ -__DARWIN_UNIX03 - - -88  - #_STRUCT_FP_CONTROL -  -__d¬wš_ĺ_cÚŚŢ - - - ) - -89 - g_STRUCT_FP_CONTROL - - -91  - g__šv®id - :1, - -92 - g__d’Üm - :1, - -93 - g__zdiv - :1, - -94 - g__ovrć - :1, - -95 - g__undć - :1, - -96 - g__´ecis - :1, - -98 - g__pc - :2, - -99 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -100  - #FP_PREC_24B - 0 - - ) - -101  - #FP_PREC_53B - 2 - - ) - -102  - #FP_PREC_64B - 3 - - ) - -104 - g__rc - :2, - -105 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -106  - #FP_RND_NEAR - 0 - - ) - -107  - #FP_RND_DOWN - 1 - - ) - -108  - #FP_RND_UP - 2 - - ) - -109  - #FP_CHOP - 3 - - ) - -114  -_STRUCT_FP_CONTROL - - t__d¬wš_ĺ_cÚŚŢ_t -; - -116  - #_STRUCT_FP_CONTROL -  -ĺ_cÚŚŢ - - - ) - -117 - g_STRUCT_FP_CONTROL - - -119  - gšv®id - :1, - -120 - gd’Üm - :1, - -121 - gzdiv - :1, - -122 - govrć - :1, - -123 - gundć - :1, - -124 - g´ecis - :1, - -126 - gpc - :2, - -127  - #FP_PREC_24B - 0 - - ) - -128  - #FP_PREC_53B - 2 - - ) - -129  - #FP_PREC_64B - 3 - - ) - -130 - grc - :2, - -131  - #FP_RND_NEAR - 0 - - ) - -132  - #FP_RND_DOWN - 1 - - ) - -133  - #FP_RND_UP - 2 - - ) - -134  - #FP_CHOP - 3 - - ) - -138  -_STRUCT_FP_CONTROL - - tĺ_cÚŚŢ_t -; - -145 #iŕ -__DARWIN_UNIX03 - - -146  - #_STRUCT_FP_STATUS -  -__d¬wš_ĺ_ˇ©us - - - ) - -147 - g_STRUCT_FP_STATUS - - -149  - g__šv®id - :1, - -150 - g__d’Üm - :1, - -151 - g__zdiv - :1, - -152 - g__ovrć - :1, - -153 - g__undć - :1, - -154 - g__´ecis - :1, - -155 - g__ˇkćt - :1, - -156 - g__”rsumm - :1, - -157 - g__c0 - :1, - -158 - g__c1 - :1, - -159 - g__c2 - :1, - -160 - g__tos - :3, - -161 - g__c3 - :1, - -162 - g__busy - :1; - -164  -_STRUCT_FP_STATUS - - t__d¬wš_ĺ_ˇ©us_t -; - -166  - #_STRUCT_FP_STATUS -  -ĺ_ˇ©us - - - ) - -167 - g_STRUCT_FP_STATUS - - -169  - gšv®id - :1, - -170 - gd’Üm - :1, - -171 - gzdiv - :1, - -172 - govrć - :1, - -173 - gundć - :1, - -174 - g´ecis - :1, - -175 - gˇkćt - :1, - -176 - g”rsumm - :1, - -177 - gc0 - :1, - -178 - gc1 - :1, - -179 - gc2 - :1, - -180 - gtos - :3, - -181 - gc3 - :1, - -182 - gbusy - :1; - -184  -_STRUCT_FP_STATUS - - tĺ_ˇ©us_t -; - -189 #iŕ -__DARWIN_UNIX03 - - -190  - #_STRUCT_MMST_REG -  -__d¬wš_mmˇ_»g - - - ) - -191 - g_STRUCT_MMST_REG - - -193  - g__mmˇ_»g -[10]; - -194  - g__mmˇ_r¤v -[6]; - -197  - #_STRUCT_MMST_REG -  -mmˇ_»g - - - ) - -198 - g_STRUCT_MMST_REG - - -200  - gmmˇ_»g -[10]; - -201  - gmmˇ_r¤v -[6]; - -208 #iŕ -__DARWIN_UNIX03 - - -209  - #_STRUCT_XMM_REG -  -__d¬wš_xmm_»g - - - ) - -210 - g_STRUCT_XMM_REG - - -212  - g__xmm_»g -[16]; - -215  - #_STRUCT_XMM_REG -  -xmm_»g - - - ) - -216 - g_STRUCT_XMM_REG - - -218  - gxmm_»g -[16]; - -226 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -227  - #FP_STATE_BYTES - 512 - - ) - -230 #iŕ -__DARWIN_UNIX03 - - -231  - #_STRUCT_X86_FLOAT_STATE32 -  -__d¬wš_i386_ćßt_ˇ©e - - - ) - -232 - g_STRUCT_X86_FLOAT_STATE32 - - -234  - g__ĺu_»Łrved -[2]; - -235 -_STRUCT_FP_CONTROL - - g__ĺu_fcw -; - -236 -_STRUCT_FP_STATUS - - g__ĺu_fsw -; - -237 -__ušt8_t - - g__ĺu_áw -; - -238 -__ušt8_t - - g__ĺu_r¤v1 -; - -239 -__ušt16_t - - g__ĺu_fÝ -; - -240 -__ušt32_t - - g__ĺu_ť -; - -241 -__ušt16_t - - g__ĺu_cs -; - -242 -__ušt16_t - - g__ĺu_r¤v2 -; - -243 -__ušt32_t - - g__ĺu_dp -; - -244 -__ušt16_t - - g__ĺu_ds -; - -245 -__ušt16_t - - g__ĺu_r¤v3 -; - -246 -__ušt32_t - - g__ĺu_mxc¤ -; - -247 -__ušt32_t - - g__ĺu_mxc¤mask -; - -248 -_STRUCT_MMST_REG - - g__ĺu_ˇmm0 -; - -249 -_STRUCT_MMST_REG - - g__ĺu_ˇmm1 -; - -250 -_STRUCT_MMST_REG - - g__ĺu_ˇmm2 -; - -251 -_STRUCT_MMST_REG - - g__ĺu_ˇmm3 -; - -252 -_STRUCT_MMST_REG - - g__ĺu_ˇmm4 -; - -253 -_STRUCT_MMST_REG - - g__ĺu_ˇmm5 -; - -254 -_STRUCT_MMST_REG - - g__ĺu_ˇmm6 -; - -255 -_STRUCT_MMST_REG - - g__ĺu_ˇmm7 -; - -256 -_STRUCT_XMM_REG - - g__ĺu_xmm0 -; - -257 -_STRUCT_XMM_REG - - g__ĺu_xmm1 -; - -258 -_STRUCT_XMM_REG - - g__ĺu_xmm2 -; - -259 -_STRUCT_XMM_REG - - g__ĺu_xmm3 -; - -260 -_STRUCT_XMM_REG - - g__ĺu_xmm4 -; - -261 -_STRUCT_XMM_REG - - g__ĺu_xmm5 -; - -262 -_STRUCT_XMM_REG - - g__ĺu_xmm6 -; - -263 -_STRUCT_XMM_REG - - g__ĺu_xmm7 -; - -264  - g__ĺu_r¤v4 -[14*16]; - -265  - g__ĺu_»Łrved1 -; - -268  - #_STRUCT_X86_FLOAT_STATE32 -  -i386_ćßt_ˇ©e - - - ) - -269 - g_STRUCT_X86_FLOAT_STATE32 - - -271  - gĺu_»Łrved -[2]; - -272 -_STRUCT_FP_CONTROL - - gĺu_fcw -; - -273 -_STRUCT_FP_STATUS - - gĺu_fsw -; - -274 -__ušt8_t - - gĺu_áw -; - -275 -__ušt8_t - - gĺu_r¤v1 -; - -276 -__ušt16_t - - gĺu_fÝ -; - -277 -__ušt32_t - - gĺu_ť -; - -278 -__ušt16_t - - gĺu_cs -; - -279 -__ušt16_t - - gĺu_r¤v2 -; - -280 -__ušt32_t - - gĺu_dp -; - -281 -__ušt16_t - - gĺu_ds -; - -282 -__ušt16_t - - gĺu_r¤v3 -; - -283 -__ušt32_t - - gĺu_mxc¤ -; - -284 -__ušt32_t - - gĺu_mxc¤mask -; - -285 -_STRUCT_MMST_REG - - gĺu_ˇmm0 -; - -286 -_STRUCT_MMST_REG - - gĺu_ˇmm1 -; - -287 -_STRUCT_MMST_REG - - gĺu_ˇmm2 -; - -288 -_STRUCT_MMST_REG - - gĺu_ˇmm3 -; - -289 -_STRUCT_MMST_REG - - gĺu_ˇmm4 -; - -290 -_STRUCT_MMST_REG - - gĺu_ˇmm5 -; - -291 -_STRUCT_MMST_REG - - gĺu_ˇmm6 -; - -292 -_STRUCT_MMST_REG - - gĺu_ˇmm7 -; - -293 -_STRUCT_XMM_REG - - gĺu_xmm0 -; - -294 -_STRUCT_XMM_REG - - gĺu_xmm1 -; - -295 -_STRUCT_XMM_REG - - gĺu_xmm2 -; - -296 -_STRUCT_XMM_REG - - gĺu_xmm3 -; - -297 -_STRUCT_XMM_REG - - gĺu_xmm4 -; - -298 -_STRUCT_XMM_REG - - gĺu_xmm5 -; - -299 -_STRUCT_XMM_REG - - gĺu_xmm6 -; - -300 -_STRUCT_XMM_REG - - gĺu_xmm7 -; - -301  - gĺu_r¤v4 -[14*16]; - -302  - gĺu_»Łrved1 -; - -306 #iŕ -__DARWIN_UNIX03 - - -307  - #_STRUCT_X86_EXCEPTION_STATE32 -  -__d¬wš_i386_exű±iÚ_ˇ©e - - - ) - -308 - g_STRUCT_X86_EXCEPTION_STATE32 - - -310  - g__Ś­no -; - -311  - g__”r -; - -312  - g__çuÉvaddr -; - -315  - #_STRUCT_X86_EXCEPTION_STATE32 -  -i386_exű±iÚ_ˇ©e - - - ) - -316 - g_STRUCT_X86_EXCEPTION_STATE32 - - -318  - gŚ­no -; - -319  - g”r -; - -320  - gçuÉvaddr -; - -324 #iŕ -__DARWIN_UNIX03 - - -325  - #_STRUCT_X86_DEBUG_STATE32 -  -__d¬wš_x86_debug_ˇ©e32 - - - ) - -326 - g_STRUCT_X86_DEBUG_STATE32 - - -328  - g__dr0 -; - -329  - g__dr1 -; - -330  - g__dr2 -; - -331  - g__dr3 -; - -332  - g__dr4 -; - -333  - g__dr5 -; - -334  - g__dr6 -; - -335  - g__dr7 -; - -338  - #_STRUCT_X86_DEBUG_STATE32 -  -x86_debug_ˇ©e32 - - - ) - -339 - g_STRUCT_X86_DEBUG_STATE32 - - -341  - gdr0 -; - -342  - gdr1 -; - -343  - gdr2 -; - -344  - gdr3 -; - -345  - gdr4 -; - -346  - gdr5 -; - -347  - gdr6 -; - -348  - gdr7 -; - -356 #iŕ -__DARWIN_UNIX03 - - -357  - #_STRUCT_X86_THREAD_STATE64 -  -__d¬wš_x86_th»ad_ˇ©e64 - - - ) - -358 - g_STRUCT_X86_THREAD_STATE64 - - -360 -__ušt64_t - - g__żx -; - -361 -__ušt64_t - - g__rbx -; - -362 -__ušt64_t - - g__rcx -; - -363 -__ušt64_t - - g__rdx -; - -364 -__ušt64_t - - g__rdi -; - -365 -__ušt64_t - - g__rsi -; - -366 -__ušt64_t - - g__rbp -; - -367 -__ušt64_t - - g__rĄ -; - -368 -__ušt64_t - - g__r8 -; - -369 -__ušt64_t - - g__r9 -; - -370 -__ušt64_t - - g__r10 -; - -371 -__ušt64_t - - g__r11 -; - -372 -__ušt64_t - - g__r12 -; - -373 -__ušt64_t - - g__r13 -; - -374 -__ušt64_t - - g__r14 -; - -375 -__ušt64_t - - g__r15 -; - -376 -__ušt64_t - - g__rť -; - -377 -__ušt64_t - - g__rćags -; - -378 -__ušt64_t - - g__cs -; - -379 -__ušt64_t - - g__fs -; - -380 -__ušt64_t - - g__gs -; - -383  - #_STRUCT_X86_THREAD_STATE64 -  -x86_th»ad_ˇ©e64 - - - ) - -384 - g_STRUCT_X86_THREAD_STATE64 - - -386 -__ušt64_t - - gżx -; - -387 -__ušt64_t - - grbx -; - -388 -__ušt64_t - - grcx -; - -389 -__ušt64_t - - grdx -; - -390 -__ušt64_t - - grdi -; - -391 -__ušt64_t - - grsi -; - -392 -__ušt64_t - - grbp -; - -393 -__ušt64_t - - grĄ -; - -394 -__ušt64_t - - gr8 -; - -395 -__ušt64_t - - gr9 -; - -396 -__ušt64_t - - gr10 -; - -397 -__ušt64_t - - gr11 -; - -398 -__ušt64_t - - gr12 -; - -399 -__ušt64_t - - gr13 -; - -400 -__ušt64_t - - gr14 -; - -401 -__ušt64_t - - gr15 -; - -402 -__ušt64_t - - grť -; - -403 -__ušt64_t - - grćags -; - -404 -__ušt64_t - - gcs -; - -405 -__ušt64_t - - gfs -; - -406 -__ušt64_t - - ggs -; - -411 #iŕ -__DARWIN_UNIX03 - - -412  - #_STRUCT_X86_FLOAT_STATE64 -  -__d¬wš_x86_ćßt_ˇ©e64 - - - ) - -413 - g_STRUCT_X86_FLOAT_STATE64 - - -415  - g__ĺu_»Łrved -[2]; - -416 -_STRUCT_FP_CONTROL - - g__ĺu_fcw -; - -417 -_STRUCT_FP_STATUS - - g__ĺu_fsw -; - -418 -__ušt8_t - - g__ĺu_áw -; - -419 -__ušt8_t - - g__ĺu_r¤v1 -; - -420 -__ušt16_t - - g__ĺu_fÝ -; - -423 -__ušt32_t - - g__ĺu_ť -; - -424 -__ušt16_t - - g__ĺu_cs -; - -426 -__ušt16_t - - g__ĺu_r¤v2 -; - -429 -__ušt32_t - - g__ĺu_dp -; - -430 -__ušt16_t - - g__ĺu_ds -; - -432 -__ušt16_t - - g__ĺu_r¤v3 -; - -433 -__ušt32_t - - g__ĺu_mxc¤ -; - -434 -__ušt32_t - - g__ĺu_mxc¤mask -; - -435 -_STRUCT_MMST_REG - - g__ĺu_ˇmm0 -; - -436 -_STRUCT_MMST_REG - - g__ĺu_ˇmm1 -; - -437 -_STRUCT_MMST_REG - - g__ĺu_ˇmm2 -; - -438 -_STRUCT_MMST_REG - - g__ĺu_ˇmm3 -; - -439 -_STRUCT_MMST_REG - - g__ĺu_ˇmm4 -; - -440 -_STRUCT_MMST_REG - - g__ĺu_ˇmm5 -; - -441 -_STRUCT_MMST_REG - - g__ĺu_ˇmm6 -; - -442 -_STRUCT_MMST_REG - - g__ĺu_ˇmm7 -; - -443 -_STRUCT_XMM_REG - - g__ĺu_xmm0 -; - -444 -_STRUCT_XMM_REG - - g__ĺu_xmm1 -; - -445 -_STRUCT_XMM_REG - - g__ĺu_xmm2 -; - -446 -_STRUCT_XMM_REG - - g__ĺu_xmm3 -; - -447 -_STRUCT_XMM_REG - - g__ĺu_xmm4 -; - -448 -_STRUCT_XMM_REG - - g__ĺu_xmm5 -; - -449 -_STRUCT_XMM_REG - - g__ĺu_xmm6 -; - -450 -_STRUCT_XMM_REG - - g__ĺu_xmm7 -; - -451 -_STRUCT_XMM_REG - - g__ĺu_xmm8 -; - -452 -_STRUCT_XMM_REG - - g__ĺu_xmm9 -; - -453 -_STRUCT_XMM_REG - - g__ĺu_xmm10 -; - -454 -_STRUCT_XMM_REG - - g__ĺu_xmm11 -; - -455 -_STRUCT_XMM_REG - - g__ĺu_xmm12 -; - -456 -_STRUCT_XMM_REG - - g__ĺu_xmm13 -; - -457 -_STRUCT_XMM_REG - - g__ĺu_xmm14 -; - -458 -_STRUCT_XMM_REG - - g__ĺu_xmm15 -; - -459  - g__ĺu_r¤v4 -[6*16]; - -460  - g__ĺu_»Łrved1 -; - -463  - #_STRUCT_X86_FLOAT_STATE64 -  -x86_ćßt_ˇ©e64 - - - ) - -464 - g_STRUCT_X86_FLOAT_STATE64 - - -466  - gĺu_»Łrved -[2]; - -467 -_STRUCT_FP_CONTROL - - gĺu_fcw -; - -468 -_STRUCT_FP_STATUS - - gĺu_fsw -; - -469 -__ušt8_t - - gĺu_áw -; - -470 -__ušt8_t - - gĺu_r¤v1 -; - -471 -__ušt16_t - - gĺu_fÝ -; - -474 -__ušt32_t - - gĺu_ť -; - -475 -__ušt16_t - - gĺu_cs -; - -477 -__ušt16_t - - gĺu_r¤v2 -; - -480 -__ušt32_t - - gĺu_dp -; - -481 -__ušt16_t - - gĺu_ds -; - -483 -__ušt16_t - - gĺu_r¤v3 -; - -484 -__ušt32_t - - gĺu_mxc¤ -; - -485 -__ušt32_t - - gĺu_mxc¤mask -; - -486 -_STRUCT_MMST_REG - - gĺu_ˇmm0 -; - -487 -_STRUCT_MMST_REG - - gĺu_ˇmm1 -; - -488 -_STRUCT_MMST_REG - - gĺu_ˇmm2 -; - -489 -_STRUCT_MMST_REG - - gĺu_ˇmm3 -; - -490 -_STRUCT_MMST_REG - - gĺu_ˇmm4 -; - -491 -_STRUCT_MMST_REG - - gĺu_ˇmm5 -; - -492 -_STRUCT_MMST_REG - - gĺu_ˇmm6 -; - -493 -_STRUCT_MMST_REG - - gĺu_ˇmm7 -; - -494 -_STRUCT_XMM_REG - - gĺu_xmm0 -; - -495 -_STRUCT_XMM_REG - - gĺu_xmm1 -; - -496 -_STRUCT_XMM_REG - - gĺu_xmm2 -; - -497 -_STRUCT_XMM_REG - - gĺu_xmm3 -; - -498 -_STRUCT_XMM_REG - - gĺu_xmm4 -; - -499 -_STRUCT_XMM_REG - - gĺu_xmm5 -; - -500 -_STRUCT_XMM_REG - - gĺu_xmm6 -; - -501 -_STRUCT_XMM_REG - - gĺu_xmm7 -; - -502 -_STRUCT_XMM_REG - - gĺu_xmm8 -; - -503 -_STRUCT_XMM_REG - - gĺu_xmm9 -; - -504 -_STRUCT_XMM_REG - - gĺu_xmm10 -; - -505 -_STRUCT_XMM_REG - - gĺu_xmm11 -; - -506 -_STRUCT_XMM_REG - - gĺu_xmm12 -; - -507 -_STRUCT_XMM_REG - - gĺu_xmm13 -; - -508 -_STRUCT_XMM_REG - - gĺu_xmm14 -; - -509 -_STRUCT_XMM_REG - - gĺu_xmm15 -; - -510  - gĺu_r¤v4 -[6*16]; - -511  - gĺu_»Łrved1 -; - -515 #iŕ -__DARWIN_UNIX03 - - -516  - #_STRUCT_X86_EXCEPTION_STATE64 -  -__d¬wš_x86_exű±iÚ_ˇ©e64 - - - ) - -517 - g_STRUCT_X86_EXCEPTION_STATE64 - - -519  - g__Ś­no -; - -520  - g__”r -; - -521 -__ušt64_t - - g__çuÉvaddr -; - -524  - #_STRUCT_X86_EXCEPTION_STATE64 -  -x86_exű±iÚ_ˇ©e64 - - - ) - -525 - g_STRUCT_X86_EXCEPTION_STATE64 - - -527  - gŚ­no -; - -528  - g”r -; - -529 -__ušt64_t - - gçuÉvaddr -; - -533 #iŕ -__DARWIN_UNIX03 - - -534  - #_STRUCT_X86_DEBUG_STATE64 -  -__d¬wš_x86_debug_ˇ©e64 - - - ) - -535 - g_STRUCT_X86_DEBUG_STATE64 - - -537 -__ušt64_t - - g__dr0 -; - -538 -__ušt64_t - - g__dr1 -; - -539 -__ušt64_t - - g__dr2 -; - -540 -__ušt64_t - - g__dr3 -; - -541 -__ušt64_t - - g__dr4 -; - -542 -__ušt64_t - - g__dr5 -; - -543 -__ušt64_t - - g__dr6 -; - -544 -__ušt64_t - - g__dr7 -; - -547  - #_STRUCT_X86_DEBUG_STATE64 -  -x86_debug_ˇ©e64 - - - ) - -548 - g_STRUCT_X86_DEBUG_STATE64 - - -550 -__ušt64_t - - gdr0 -; - -551 -__ušt64_t - - gdr1 -; - -552 -__ušt64_t - - gdr2 -; - -553 -__ušt64_t - - gdr3 -; - -554 -__ušt64_t - - gdr4 -; - -555 -__ušt64_t - - gdr5 -; - -556 -__ušt64_t - - gdr6 -; - -557 -__ušt64_t - - gdr7 -; - - @/usr/include/mach/ppc/_structs.h - -32 #iâdef -_MACH_PPC__STRUCTS_H_ - - -33  - #_MACH_PPC__STRUCTS_H_ - - - ) - -35  - ~ - -43 #iŕ -__DARWIN_UNIX03 - - -44  - #_STRUCT_PPC_THREAD_STATE -  -__d¬wš_µc_th»ad_ˇ©e - - - ) - -45 - g_STRUCT_PPC_THREAD_STATE - - -47  - g__¤r0 -; - -48  - g__¤r1 -; - -49  - g__r0 -; - -50  - g__r1 -; - -51  - g__r2 -; - -52  - g__r3 -; - -53  - g__r4 -; - -54  - g__r5 -; - -55  - g__r6 -; - -56  - g__r7 -; - -57  - g__r8 -; - -58  - g__r9 -; - -59  - g__r10 -; - -60  - g__r11 -; - -61  - g__r12 -; - -62  - g__r13 -; - -63  - g__r14 -; - -64  - g__r15 -; - -65  - g__r16 -; - -66  - g__r17 -; - -67  - g__r18 -; - -68  - g__r19 -; - -69  - g__r20 -; - -70  - g__r21 -; - -71  - g__r22 -; - -72  - g__r23 -; - -73  - g__r24 -; - -74  - g__r25 -; - -75  - g__r26 -; - -76  - g__r27 -; - -77  - g__r28 -; - -78  - g__r29 -; - -79  - g__r30 -; - -80  - g__r31 -; - -82  - g__ü -; - -83  - g__x” -; - -84  - g__Ě -; - -85  - g__ůr -; - -86  - g__mq -; - -88  - g__vr§ve -; - -91  - #_STRUCT_PPC_THREAD_STATE -  -µc_th»ad_ˇ©e - - - ) - -92 - g_STRUCT_PPC_THREAD_STATE - - -94  - g¤r0 -; - -95  - g¤r1 -; - -96  - gr0 -; - -97  - gr1 -; - -98  - gr2 -; - -99  - gr3 -; - -100  - gr4 -; - -101  - gr5 -; - -102  - gr6 -; - -103  - gr7 -; - -104  - gr8 -; - -105  - gr9 -; - -106  - gr10 -; - -107  - gr11 -; - -108  - gr12 -; - -109  - gr13 -; - -110  - gr14 -; - -111  - gr15 -; - -112  - gr16 -; - -113  - gr17 -; - -114  - gr18 -; - -115  - gr19 -; - -116  - gr20 -; - -117  - gr21 -; - -118  - gr22 -; - -119  - gr23 -; - -120  - gr24 -; - -121  - gr25 -; - -122  - gr26 -; - -123  - gr27 -; - -124  - gr28 -; - -125  - gr29 -; - -126  - gr30 -; - -127  - gr31 -; - -129  - gü -; - -130  - gx” -; - -131  - gĚ -; - -132  - gůr -; - -133  - gmq -; - -135  - gvr§ve -; - -139 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -141 #´agm¨ -·ck -(4) - -143 #iŕ -__DARWIN_UNIX03 - - -144  - #_STRUCT_PPC_THREAD_STATE64 -  -__d¬wš_µc_th»ad_ˇ©e64 - - - ) - -145 - g_STRUCT_PPC_THREAD_STATE64 - - -147  - g__¤r0 -; - -148  - g__¤r1 -; - -149  - g__r0 -; - -150  - g__r1 -; - -151  - g__r2 -; - -152  - g__r3 -; - -153  - g__r4 -; - -154  - g__r5 -; - -155  - g__r6 -; - -156  - g__r7 -; - -157  - g__r8 -; - -158  - g__r9 -; - -159  - g__r10 -; - -160  - g__r11 -; - -161  - g__r12 -; - -162  - g__r13 -; - -163  - g__r14 -; - -164  - g__r15 -; - -165  - g__r16 -; - -166  - g__r17 -; - -167  - g__r18 -; - -168  - g__r19 -; - -169  - g__r20 -; - -170  - g__r21 -; - -171  - g__r22 -; - -172  - g__r23 -; - -173  - g__r24 -; - -174  - g__r25 -; - -175  - g__r26 -; - -176  - g__r27 -; - -177  - g__r28 -; - -178  - g__r29 -; - -179  - g__r30 -; - -180  - g__r31 -; - -182  - g__ü -; - -183  - g__x” -; - -184  - g__Ě -; - -185  - g__ůr -; - -187  - g__vr§ve -; - -190  - #_STRUCT_PPC_THREAD_STATE64 -  -µc_th»ad_ˇ©e64 - - - ) - -191 - g_STRUCT_PPC_THREAD_STATE64 - - -193  - g¤r0 -; - -194  - g¤r1 -; - -195  - gr0 -; - -196  - gr1 -; - -197  - gr2 -; - -198  - gr3 -; - -199  - gr4 -; - -200  - gr5 -; - -201  - gr6 -; - -202  - gr7 -; - -203  - gr8 -; - -204  - gr9 -; - -205  - gr10 -; - -206  - gr11 -; - -207  - gr12 -; - -208  - gr13 -; - -209  - gr14 -; - -210  - gr15 -; - -211  - gr16 -; - -212  - gr17 -; - -213  - gr18 -; - -214  - gr19 -; - -215  - gr20 -; - -216  - gr21 -; - -217  - gr22 -; - -218  - gr23 -; - -219  - gr24 -; - -220  - gr25 -; - -221  - gr26 -; - -222  - gr27 -; - -223  - gr28 -; - -224  - gr29 -; - -225  - gr30 -; - -226  - gr31 -; - -228  - gü -; - -229  - gx” -; - -230  - gĚ -; - -231  - gůr -; - -233  - gvr§ve -; - -237 #´agm¨ -·ck -() - -243 #iŕ -__DARWIN_UNIX03 - - -244  - #_STRUCT_PPC_FLOAT_STATE -  -__d¬wš_µc_ćßt_ˇ©e - - - ) - -245 - g_STRUCT_PPC_FLOAT_STATE - - -247  - g__ĺ»gs -[32]; - -249  - g__ĺsü_·d -; - -250  - g__ĺsü -; - -253  - #_STRUCT_PPC_FLOAT_STATE -  -µc_ćßt_ˇ©e - - - ) - -254 - g_STRUCT_PPC_FLOAT_STATE - - -256  - gĺ»gs -[32]; - -258  - gĺsü_·d -; - -259  - gĺsü -; - -263 #´agm¨ -·ck -(4) - -265 #iŕ -__DARWIN_UNIX03 - - -266  - #_STRUCT_PPC_VECTOR_STATE -  -__d¬wš_µc_veůÜ_ˇ©e - - - ) - -267 - g_STRUCT_PPC_VECTOR_STATE - - -269 #iŕ -defšed -( -__LP64__ -) - -270  - g__§ve_vr -[32][4]; - -271  - g__§ve_vsü -[4]; - -273  - g__§ve_vr -[32][4]; - -274  - g__§ve_vsü -[4]; - -276  - g__§ve_·d5 -[4]; - -277  - g__§ve_vrv®id -; - -278  - g__§ve_·d6 -[7]; - -281  - #_STRUCT_PPC_VECTOR_STATE -  -µc_veůÜ_ˇ©e - - - ) - -282 - g_STRUCT_PPC_VECTOR_STATE - - -284 #iŕ -defšed -( -__LP64__ -) - -285  - g§ve_vr -[32][4]; - -286  - g§ve_vsü -[4]; - -288  - g§ve_vr -[32][4]; - -289  - g§ve_vsü -[4]; - -291  - g§ve_·d5 -[4]; - -292  - g§ve_vrv®id -; - -293  - g§ve_·d6 -[7]; - -297 #´agm¨ -·ck -() - -316 #´agm¨ -·ck -(4) - -318 #iŕ -__DARWIN_UNIX03 - - -319  - #_STRUCT_PPC_EXCEPTION_STATE -  -__d¬wš_µc_exű±iÚ_ˇ©e - - - ) - -320 - g_STRUCT_PPC_EXCEPTION_STATE - - -322 #iŕ -defšed -( -__LP64__ -) - -323  - g__d¬ -; - -324  - g__dsi¤ -; - -325  - g__exű±iÚ -; - -326  - g__·d0 -; - -327  - g__·d1 -[4]; - -329  - g__d¬ -; - -330  - g__dsi¤ -; - -331  - g__exű±iÚ -; - -332  - g__·d0 -; - -333  - g__·d1 -[4]; - -337  - #_STRUCT_PPC_EXCEPTION_STATE -  -µc_exű±iÚ_ˇ©e - - - ) - -338 - g_STRUCT_PPC_EXCEPTION_STATE - - -340 #iŕ -defšed -( -__LP64__ -) - -341  - gd¬ -; - -342  - gdsi¤ -; - -343  - gexű±iÚ -; - -344  - g·d0 -; - -345  - g·d1 -[4]; - -347  - gd¬ -; - -348  - gdsi¤ -; - -349  - gexű±iÚ -; - -350  - g·d0 -; - -351  - g·d1 -[4]; - -356 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -357 #iŕ -__DARWIN_UNIX03 - - -358  - #_STRUCT_PPC_EXCEPTION_STATE64 -  -__d¬wš_µc_exű±iÚ_ˇ©e64 - - - ) - -359 - g_STRUCT_PPC_EXCEPTION_STATE64 - - -361  - g__d¬ -; - -362 #iŕ -defšed -( -__LP64__ -) - -363  - g__dsi¤ -; - -364  - g__exű±iÚ -; - -365  - g__·d1 -[4]; - -367  - g__dsi¤ -; - -368  - g__exű±iÚ -; - -369  - g__·d1 -[4]; - -373  - #_STRUCT_PPC_EXCEPTION_STATE64 -  -µc_exű±iÚ_ˇ©e64 - - - ) - -374 - g_STRUCT_PPC_EXCEPTION_STATE64 - - -376  - gd¬ -; - -377 #iŕ -defšed -( -__LP64__ -) - -378  - gdsi¤ -; - -379  - gexű±iÚ -; - -380  - g·d1 -[4]; - -382  - gdsi¤ -; - -383  - gexű±iÚ -; - -384  - g·d1 -[4]; - -390 #´agm¨ -·ck -() - - @/usr/include/ppc/signal.h - -32 #iâdef -_PPC_SIGNAL_H_ - - -33  - #_PPC_SIGNAL_H_ - 1 - - ) - -35  - ~ - -37 #iâdeŕ -_ANSI_SOURCE - - -39  - tsig_©omic_t -; - -41  - ~ - -43 #ifdeŕ -__APPLE_API_OBSOLETE - - -45 #iŕ! -defšed -( -_POSIX_C_SOURCE -č|| defšed( -_DARWIN_C_SOURCE -) - -47  - #__Ăed_ˇruů_sigcÚ‹xt - - - ) - -48  - #__Ăed_ˇruů_sigcÚ‹xt32 - - - ) - -49  - #__Ăed_ˇruů_sigcÚ‹xt64 - - - ) - -50  - ~<µc/_ˇruůs.h -> - -55  - #SV_SAVE_REGS - 0x1000 - - ) - -69 - mREGS_SAVED_NONE -, - -70 - mREGS_SAVED_CALLER -, - -73 - mREGS_SAVED_ALL - - -74 } - t»gs_§ved_t -; - - @/usr/include/libkern/i386/_OSByteOrder.h - -29 #iâdeŕ -_OS__OSBYTEORDERI386_H - - -30  - #_OS__OSBYTEORDERI386_H - - - ) - -32 #iŕ! -defšed -( -__DARWIN_OS_INLINE -) - -33 #iŕ -defšed -( -__STDC_VERSION__ -) && __STDC_VERSION__ >= 199901L - -34  - #__DARWIN_OS_INLINE -  -šlše - - - ) - -35 #–iŕ -defšed -( -__MWERKS__ -č|| defšed( -__ýluĄlus -) - -36  - #__DARWIN_OS_INLINE -  -šlše - - - ) - -38  - #__DARWIN_OS_INLINE -  -__šlše__ - - - ) - -44 -__DARWIN_OS_INLINE - - -45 -__ušt16_t - - -46 - $_OSSw­IÁ16 -( - -47 -__ušt16_t - -_d©a - - -50  (( -_d©a - << 8) | (_data >> 8)); - -51 - } -} - -53 -__DARWIN_OS_INLINE - - -54 -__ušt32_t - - -55 - $_OSSw­IÁ32 -( - -56 -__ušt32_t - -_d©a - - -59 - `__asm__ - ("bsw­ %0" : "+r" ( -_d©a -)); - -60  -_d©a -; - -61 - } -} - -63 #iŕ -defšed -( -__i386__ -) - -64 -__DARWIN_OS_INLINE - - -65 -__ušt64_t - - -66 - $_OSSw­IÁ64 -( - -67 -__ušt64_t - -_d©a - - -70 - `__asm__ - ("bswap %%eax\n\t" - -73 : "+A" ( -_d©a -)); - -74  -_d©a -; - -75 - } -} - -76 #–iŕ -defšed -( -__x86_64__ -) - -77 -__DARWIN_OS_INLINE - - -78 -__ušt64_t - - -79 - $_OSSw­IÁ64 -( - -80 -__ušt64_t - -_d©a - - -83 - `__asm__ - ("bsw­ %0" : "+r" ( -_d©a -)); - -84  -_d©a -; - -85 - } -} - -87 #”rÜ -Unknown - -¬ch™eůu» - - - @ -1 -. -1 -/usr/include -80 -1708 -lib.c -lib.h -lnode.c -lnode.h -main.c -ncache.c -ncache.h -netfs.c -node.c -node.h -options.c -options.h -pattern.c -pattern.h -stow-mutations.h -stow-priv.h -stow.c -stow.h -ulfs.c -ulfs.h -unionfs.h -update.c -update.h -version.h -/usr/include/assert.h -/usr/include/dirent.h -/usr/include/errno.h -/usr/include/fcntl.h -/usr/include/fnmatch.h -/usr/include/stddef.h -/usr/include/stdio.h -/usr/include/stdlib.h -/usr/include/string.h -/usr/include/sys/mman.h -/usr/include/sys/stat.h -/usr/include/sys/types.h -/usr/include/unistd.h -/usr/include/_types.h -/usr/include/_xlocale.h -/usr/include/alloca.h -/usr/include/available.h -/usr/include/machine/endian.h -/usr/include/machine/types.h -/usr/include/secure/_stdio.h -/usr/include/secure/_string.h -/usr/include/sys/_structs.h -/usr/include/sys/_types.h -/usr/include/sys/appleapiopts.h -/usr/include/sys/cdefs.h -/usr/include/sys/dirent.h -/usr/include/sys/errno.h -/usr/include/sys/fcntl.h -/usr/include/sys/select.h -/usr/include/sys/unistd.h -/usr/include/sys/wait.h -/usr/include/xlocale/_stdio.h -/usr/include/xlocale/_stdlib.h -/usr/include/xlocale/_string.h -/usr/include/i386/endian.h -/usr/include/i386/types.h -/usr/include/machine/_structs.h -/usr/include/machine/_types.h -/usr/include/ppc/endian.h -/usr/include/ppc/types.h -/usr/include/secure/_common.h -/usr/include/sys/_select.h -/usr/include/sys/resource.h -/usr/include/sys/signal.h -/usr/include/i386/_structs.h -/usr/include/i386/_types.h -/usr/include/machine/signal.h -/usr/include/ppc/_structs.h -/usr/include/ppc/_types.h -/usr/include/sys/_endian.h -/usr/include/i386/signal.h -/usr/include/libkern/_OSByteOrder.h -/usr/include/mach/i386/_structs.h -/usr/include/mach/ppc/_structs.h -/usr/include/ppc/signal.h -/usr/include/libkern/i386/_OSByteOrder.h -- cgit v1.2.3