2 .\" Copyright (c) 2000-2007 Apple Inc. All rights reserved.
4 .\" @APPLE_OSREFERENCE_LICENSE_HEADER_START@
6 .\" This file contains Original Code and/or Modifications of Original Code
7 .\" as defined in and that are subject to the Apple Public Source License
8 .\" Version 2.0 (the 'License'). You may not use this file except in
9 .\" compliance with the License. The rights granted to you under the License
10 .\" may not be used to create, or enable the creation or redistribution of,
11 .\" unlawful or unlicensed copies of an Apple operating system, or to
12 .\" circumvent, violate, or enable the circumvention or violation of, any
13 .\" terms of an Apple operating system software license agreement.
15 .\" Please obtain a copy of the License at
16 .\" http://www.opensource.apple.com/apsl/ and read it before using this file.
18 .\" The Original Code and all software distributed under the License are
19 .\" distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 .\" EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 .\" INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 .\" FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 .\" Please see the License for the specific language governing rights and
24 .\" limitations under the License.
26 .\" @APPLE_OSREFERENCE_LICENSE_HEADER_END@
28 .\" @(#)posix_spawnattr_setbinpref_np.3
31 .Dt POSIX_SPAWNATTR_SETBINPREF_NP 3
34 .Nm posix_spawnattr_setbinpref_np
35 .Nm posix_spawnattr_getbinpref_np
41 .Fd #include <spawn.h>
43 .Fo posix_spawnattr_setbinpref_np
44 .Fa "posix_spawnattr_t *restrict attr"
46 .Fa "cpu_type_t *pref"
47 .Fa "size_t *restrict ocount"
50 .Fo posix_spawnattr_getbinpref_np
51 .Fa "const posix_spawnattr_t *restrict attr"
53 .Fa "cpu_type_t *pref"
54 .Fa "size_t * restrict ocount"
57 These functions represent an Apple extension to
61 and as such should not be used by programs intending their code to be
62 portable to other platforms.
65 .Fn posix_spawnattr_setbinpref_np
66 function sets the universal binary preferences for the spawn attribute
69 from the memory containing the
75 elements; the actual number of elements that are set in the attribute
83 is subsequently invoked on a Universal binary with the
84 .Em posix_spawnattr_t ,
85 the elements which were set will be used, in the order they were set,
86 to select the first element in the list which matches any
88 of those available in the Universal binary, using the best slice matching
91 If there is no match, then
92 the attempt to create the child process will fail with the error
97 is the last element in the list, then rather than returning
99 on no match, the system will instead fall back to the standard Universal
100 binary grading preference order.
101 If called multiple times on the same
103 the previous preferences will be overwritten.
106 .Fn posix_spawnattr_getbinpref_np
107 function gets the universal binary preferences for the spawn attribute
110 (set by a prior call to
111 .Fn posix_spawnattr_setbinpref_np
113 .Fn posix_spawnattr_setarchpref_np )
114 into the memory containing the
118 with a prereserved size of
120 elements; the actual number of elements that are copied from the attribute
125 On success, these functions return 0; on failure they return an error
128 and modify the value of
130 Additionally, if successful,
131 .Fn posix_spawnattr_getbinpref_np
132 will modify the contents of the
134 array with the current attribute values.
136 These functions may fail if:
140 The value specified by
152 .Xr posix_spawnattr_init 3 ,
153 .Xr posix_spawnattr_destroy 3 ,
154 .Xr posix_spawnattr_setarchpref_np 3
155 .Xr posix_spawnattr_setflags 3
160 .Fn posix_spawnattr_setbinpref_np
162 .Fn posix_spawnattr_getbinpref_np
163 function calls appeared in Mac OS X.