Cygwin: dirent.h: fix a comment
[newlib-cygwin.git] / libgloss / cr16 / open.c
bloba7cd6e9c0ee9f39ea58d2b78f2248ee45f462569
1 /* open.c -- Implementation of the low-level open() routine
3 * Copyright (c) 2004 National Semiconductor Corporation
5 * The authors hereby grant permission to use, copy, modify, distribute,
6 * and license this software and its documentation for any purpose, provided
7 * that existing copyright notices are retained in all copies and that this
8 * notice is included verbatim in any distributions. No written agreement,
9 * license, or royalty fee is required for any of the authorized uses.
10 * Modifications to this software may be copyrighted by their authors
11 * and need not follow the licensing terms described here, provided that
12 * the new terms are clearly indicated on the first page of each file where
13 * they apply.
16 #include <sys/syscall.h>
17 #include <stdarg.h>
19 int open_aux (char *, int, int);
21 /* The prototype in <fcntl.h> for open() uses ..., meaning function
22 * parameters reside on stack, but the debugger expects the parameters
23 * to reside in registers, thus we call an auxiliary function with
24 * bounded number of parameters.
26 int _open (char *path, int flags, ...)
28 int mode;
29 va_list ap;
31 va_start(ap, flags);
32 mode = va_arg(ap, int);
33 open_aux (path, flags, mode);
34 va_end(ap);
37 int open_aux (char *path, int flags, int mode)
39 HOST_SERVICE (SVC_OPEN);