The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/bsd/kern/mach_loader.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
    3  *
    4  * @APPLE_LICENSE_HEADER_START@
    5  * 
    6  * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
    7  * 
    8  * This file contains Original Code and/or Modifications of Original Code
    9  * as defined in and that are subject to the Apple Public Source License
   10  * Version 2.0 (the 'License'). You may not use this file except in
   11  * compliance with the License. Please obtain a copy of the License at
   12  * http://www.opensource.apple.com/apsl/ and read it before using this
   13  * file.
   14  * 
   15  * The Original Code and all software distributed under the License are
   16  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   17  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   18  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   19  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   20  * Please see the License for the specific language governing rights and
   21  * limitations under the License.
   22  * 
   23  * @APPLE_LICENSE_HEADER_END@
   24  */
   25 /*
   26  *      Copyright (C) 1992, NeXT, Inc.
   27  *
   28  *      File:   kern/mach_loader.h
   29  *
   30  *      Mach object file loader API.
   31  *
   32  * HISTORY
   33  *  24-Aug-92   Doug Mitchell at NeXT
   34  *      Created.
   35  */
   36  
   37 #ifndef _BSD_KERN_MACH_LOADER_H_
   38 #define _BSD_KERN_MACH_LOADER_H_
   39 
   40 #include <mach/mach_types.h>
   41 #include <mach-o/loader.h>
   42 
   43 typedef int load_return_t;
   44 
   45 typedef struct _load_result {
   46         vm_offset_t             mach_header;
   47         vm_offset_t             entry_point;
   48         vm_offset_t             user_stack;
   49         int                     thread_count;
   50         unsigned int
   51         /* boolean_t */ unixproc        :1,
   52                         dynlinker       :1,
   53                         customstack     :1,
   54                                         :0;
   55 } load_result_t;
   56 
   57 load_return_t load_machfile(
   58         struct vnode            *vp,
   59         struct mach_header      *header,
   60         unsigned long           file_offset,
   61         unsigned long           macho_size,
   62         load_result_t           *result,
   63         thread_act_t            thr_act,
   64         vm_map_t                map,
   65         boolean_t               clean_regions);
   66 
   67 #define LOAD_SUCCESS            0
   68 #define LOAD_BADARCH            1       /* CPU type/subtype not found */
   69 #define LOAD_BADMACHO           2       /* malformed mach-o file */
   70 #define LOAD_SHLIB              3       /* shlib version mismatch */
   71 #define LOAD_FAILURE            4       /* Miscellaneous error */
   72 #define LOAD_NOSPACE            5       /* No VM available */
   73 #define LOAD_PROTECT            6       /* protection violation */
   74 #define LOAD_RESOURCE           7       /* resource allocation failure */
   75 #define LOAD_ENOENT             8       /* resource not found */
   76 #define LOAD_IOERROR            9       /* IO error */
   77 
   78 #endif  /* _BSD_KERN_MACH_LOADER_H_ */

Cache object: 1f4d25b9836b28f967b7447954ad0ea2


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.