merge with 0.30.213
[util-vserver.git] / ensc_wrappers / wrappers-fcntl.hc
1 // $Id: wrappers-fcntl.hc 1473 2004-04-20 17:57:12Z ensc $    --*- c -*--
2
3 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
4 //  
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; version 2 of the License.
8 //  
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //  
14 // You should have received a copy of the GNU General Public License
15 // along with this program; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18 #ifndef H_ENSC_IN_WRAPPERS_H
19 #  error wrappers_handler.hc can not be used in this way
20 #endif
21
22 inline static WRAPPER_DECL int
23 Eopen(char const *fname, int flags, mode_t mode)
24 {
25   int   res = open(fname, flags, mode);
26   FatalErrnoError(res==-1, "open()");
27
28   return res;
29 }
30
31 inline static WRAPPER_DECL int
32 EopenD(char const *fname, int flags, mode_t mode)
33 {
34   ENSC_DETAIL1(msg, "open", fname, 1);
35   
36   {
37     int         res = open(fname, flags, mode);
38     FatalErrnoError(res==-1, msg);
39     return res;
40   }
41 }
42
43
44 inline static WRAPPER_DECL void
45 Emkdir(const char *pathname, mode_t mode)
46 {
47   FatalErrnoError(mkdir(pathname,mode)==-1, "mkdir()");
48 }
49
50 inline static WRAPPER_DECL void
51 EmkdirD(const char *pathname, mode_t mode)
52 {
53   ENSC_DETAIL1(msg, "mkdir", pathname, 1);
54   FatalErrnoError(mkdir(pathname,mode)==-1, msg);
55 }
56
57 inline static WRAPPER_DECL int
58 Efcntl(int fd, int cmd, long arg)
59 {
60   register int          res = fcntl(fd, cmd, arg);
61   FatalErrnoError(res==-1, "fcntl()");
62
63   return res;
64 }