Home | History | Annotate | Line # | Download | only in include
      1  1.8  dholland /*	$NetBSD: rmt.h,v 1.8 2016/01/22 23:15:58 dholland Exp $	*/
      2  1.1       jtc 
      3  1.1       jtc /*
      4  1.1       jtc  *	rmt.h
      5  1.1       jtc  *
      6  1.1       jtc  *	Added routines to replace open(), close(), lseek(), ioctl(), etc.
      7  1.1       jtc  *	The preprocessor can be used to remap these the rmtopen(), etc
      8  1.1       jtc  *	thus minimizing source changes.
      9  1.1       jtc  *
     10  1.1       jtc  *	This file must be included before <sys/stat.h>, since it redefines
     11  1.1       jtc  *	stat to be rmtstat, so that struct stat xyzzy; declarations work
     12  1.1       jtc  *	properly.
     13  1.1       jtc  *
     14  1.1       jtc  *	-- Fred Fish (w/some changes by Arnold Robbins)
     15  1.1       jtc  */
     16  1.1       jtc 
     17  1.2       jtc #ifndef _RMT_H_
     18  1.2       jtc #define _RMT_H_
     19  1.1       jtc 
     20  1.3   thorpej #include <sys/cdefs.h>
     21  1.8  dholland #include <sys/types.h>
     22  1.3   thorpej 
     23  1.7  christos #if _FORTIFY_SOURCE > 0
     24  1.7  christos #define __ssp_weak_name(x)	rmt ## x
     25  1.7  christos #include <ssp/unistd.h>
     26  1.7  christos #endif
     27  1.7  christos 
     28  1.3   thorpej __BEGIN_DECLS
     29  1.6     enami int	isrmt(int);
     30  1.5     perry int	rmtaccess(const char *, int);
     31  1.5     perry int	rmtclose(int);
     32  1.5     perry int	rmtcreat(const char *, mode_t);
     33  1.5     perry int	rmtdup(int);
     34  1.5     perry int	rmtfcntl(int, int, ...);
     35  1.5     perry int	rmtfstat(int, struct stat *);
     36  1.5     perry int	rmtioctl(int, unsigned long, ...);
     37  1.5     perry int	rmtisatty(int);
     38  1.5     perry off_t	rmtlseek(int, off_t, int);
     39  1.5     perry int	rmtlstat(const char *, struct stat *);
     40  1.5     perry int	rmtopen(const char *, int, ...);
     41  1.5     perry ssize_t	rmtread(int, void *, size_t);
     42  1.5     perry int	rmtstat(const char *, struct stat *);
     43  1.5     perry ssize_t	rmtwrite(int, const void *, size_t);
     44  1.3   thorpej __END_DECLS
     45  1.3   thorpej 
     46  1.3   thorpej #ifndef __RMTLIB_PRIVATE	/* don't remap if building librmt */
     47  1.1       jtc #define access rmtaccess
     48  1.1       jtc #define close rmtclose
     49  1.1       jtc #define creat rmtcreat
     50  1.1       jtc #define dup rmtdup
     51  1.1       jtc #define fcntl rmtfcntl
     52  1.1       jtc #define fstat rmtfstat
     53  1.1       jtc #define ioctl rmtioctl
     54  1.1       jtc #define isatty rmtisatty
     55  1.1       jtc #define lseek rmtlseek
     56  1.1       jtc #define lstat rmtlstat
     57  1.1       jtc #define open rmtopen
     58  1.7  christos #if __SSP_FORTIFY_LEVEL == 0
     59  1.1       jtc #define read rmtread
     60  1.7  christos #endif
     61  1.1       jtc #define stat rmtstat
     62  1.1       jtc #define write rmtwrite
     63  1.3   thorpej #endif /* __RMTLIB_PRIVATE */
     64  1.1       jtc 
     65  1.2       jtc #endif /* _RMT_H_ */
     66