]>
git.saurik.com Git - apple/xnu.git/blob - SETUP/config/openp.c
2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * "Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7 * Reserved. This file contains Original Code and/or Modifications of
8 * Original Code as defined in and that are subject to the Apple Public
9 * Source License Version 1.0 (the 'License'). You may not use this file
10 * except in compliance with the License. Please obtain a copy of the
11 * License at http://www.apple.com/publicsource and read it before using
14 * The Original Code and all software distributed under the License are
15 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19 * License for the specific language governing rights and limitations
22 * @APPLE_LICENSE_HEADER_END@
24 /* openp, fopenp -- search pathlist and open file
27 * i = openp (path,file,complete,flags,mode)
28 * f = fopenp (path,file,complete,type)
31 * char *path,*file,*complete,*type;
33 * Openp searches for "file" in the pathlist "path";
34 * when the file is found and can be opened by open()
35 * with the specified "flags" and "mode", then the full filename
36 * is copied into "complete" and openp returns the file
37 * descriptor. If no such file is found, openp returns -1.
38 * Fopenp performs the same function, using fopen() instead
39 * of open() and type instead of flags/mode; it returns 0 if no
43 * 30-Apr-85 Steven Shafer (sas) at Carnegie-Mellon University
44 * Adapted for 4.2 BSD UNIX. Added new parameter to openp.c;
45 * changed names of flags, mode, and type parameters to reflect
46 * current manual entries for open and fopen.
48 * 20-Nov-79 Steven Shafer (sas) at Carnegie-Mellon University
54 #include <fcntl.h> /* open */
58 int openp(const char *fpath
, char *file
, char *complete
, int flags
, int mode
);
60 static int flgs
,mod
,value
;
61 static const char *ftyp
;
67 value
= open (fnam
,flgs
,mod
);
74 fvalue
= fopen (fnam
,ftyp
);
79 openp(const char *fpath
, char *file
, char *complete
, int flags
, int mode
)
83 if (searchp(fpath
,file
,complete
,func
) < 0) return (-1);
88 fopenp(const char *fpath
, char *file
, char *complete
, const char *ftype
)
91 if (searchp(fpath
,file
,complete
,ffunc
) < 0) return (0);