
1: /* Copyright (C) 1992,93,95,97,2001,02 Free Software Foundation, Inc. 2: This file is part of the GNU C Library. 3: 4: The GNU C Library is free software; you can redistribute it and/or 5: modify it under the terms of the GNU Lesser General Public 6: License as published by the Free Software Foundation; either 7: version 2.1 of the License, or (at your option) any later version. 8: 9: The GNU C Library is distributed in the hope that it will be useful, 10: but WITHOUT ANY WARRANTY; without even the implied warranty of 11: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12: Lesser General Public License for more details. 13: 14: You should have received a copy of the GNU Lesser General Public 15: License along with the GNU C Library; if not, write to the Free 16: Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 17: 02111-1307 USA. */ 18: 19: #include <mach.h> 20: #include <mach/mig_support.h> 21: #include <unistd.h> 22: 23: mach_port_t __mach_task_self_; 24: vm_size_t __vm_page_size = 0; /* Must be data not bss for weak alias. */ 25: weak_alias (__vm_page_size, vm_page_size) 26: 27: #ifdef NDR_DEF_HEADER 28: /* This defines NDR_record, which the MiG-generated stubs use. XXX namespace */ 29: # include NDR_DEF_HEADER 30: #endif 31: 32: void 33: __mach_init (void) 34: { 35: kern_return_t err; 36: 37: __mach_task_self_ = (__mach_task_self) (); 38: __mig_init (0); 39: 40: #if HAVE_HOST_PAGE_SIZE 41: if (err = __host_page_size (__mach_host_self (), &__vm_page_size)) 42: _exit (err); 43: #else 44: { 45: vm_statistics_data_t stats; 46: if (err = __vm_statistics (__mach_task_self (), &stats)) 47: _exit (err); 48: __vm_page_size = stats.pagesize; 49: } 50: #endif 51: } 52: weak_alias (__mach_init, mach_init)