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
16 #include <sys/syscall.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
, ...)
32 mode
= va_arg(ap
, int);
33 open_aux (path
, flags
, mode
);
37 int open_aux (char *path
, int flags
, int mode
)
39 HOST_SERVICE (SVC_OPEN
);