This file is indexed.

/usr/include/dpm/rfio.h is in libdpm-dev 1.8.10-1build3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
/*
 * $RCSfile: rfio.h,v $ $Revision: 9750 $ $Date: 2013-11-28 11:04:23 +0100 (Thu, 28 Nov 2013) $ CERN IT-PDP/DM Olof Barring
 */

/*
 * Copyright (C) 1990-2010 by CERN/IT/PDP/DM
 * All rights reserved
 */

/* 
 * rfio.h     -  Remote File Access internal declarations
 */

#ifndef _RFIO_H_INCLUDED_
#define _RFIO_H_INCLUDED_

#ifdef CHECKI
#undef CHECKI
#endif
#define CHECKI       5       /* max interval to check for work to be done */

#include <fcntl.h>              /* for open()                           */
#include <stdio.h>              /* standard Input/Output                */
#include <sys/types.h>          /* standard data types                  */
#include <stdlib.h>

#if !defined(_WIN32)
#include <unistd.h>		/* Standardized definitions		*/
#else /* _WIN32 */
#ifndef STATBITS_H
#include <statbits.h>           /* File access macros for WIN32         */
#endif
#endif /* _WIN32 */

#ifndef _DIRENT_WIN32_H
#include <dirent.h>             /* standard directory definitions       */
#endif

/*
 * Common includes needed by internal (kernel) routines.
 */
#if defined(RFIO_KERNEL)
#if defined(_WIN32)
#include <winsock2.h>
#else
#include <sys/socket.h>         /* socket interface                     */
#include <netinet/in.h>         /* internet types                       */
#include <netdb.h>              /* network database                     */
#endif
#include <errno.h>              /* standard error numbers               */
#include <string.h>             /* string handling routines             */
#if ! defined(_WIN32)
#include <sys/file.h>           /* define L_XTND, L_INCR and L_SET      */
#endif
#if defined(_AIX) && defined(_IBMR2)
#include <sys/select.h>         /*some of the defs are in this file     */
#endif /* AIX */
#include <time.h>
#include <marshall.h>           /* marshalling macros and definitions   */
#include <serrno.h>             /* special error numbers                */
#include <trace.h>              /* tracing definitions                  */

#include <net.h>                        /* networking specifics         */

#include <socket_timeout.h>             /* socket timeout routines */

#endif /* RFIO_KERNEL */

#ifndef _RFIO_CONSTANTS_H_INCLUDED_
#include <rfio_constants.h>
#endif /* _RFIO_CONSTANTS_H_INCLUDED_ */

#if !defined(_WIN32)
#ifndef min
#define min(a,b)      (((a)<(b)) ? (a):(b))
#endif
#endif /* _WIN32 */

/*
 * Internal (kernel) structures
 */
#if defined(RFIO_KERNEL)
struct iobuf {                  /* I/O buffer data structure            */
	char    *base;          /* I/O buffer base pointer              */
	unsigned int hsize;     /* I/O buffer header size               */
	unsigned int dsize;     /* I/O buffer data  size                */
	char    *ptr;           /* I/O buffer current pointer           */
	int count;              /* I/O buffer count                     */
} ;

typedef struct {
	FILE    fp;             /* File pointer mapping, must be first !*/
	int     magic;          /* Magic number                         */
	int     s;              /* Socket descriptor in use             */
	int     uid;            /* Requestor's uid                      */
	int     gid;            /* Requestor's gid                      */
	int     umask;          /* Requestor's umask                    */
	char    *mode;          /* Access mode indicator                */
	char    *spec;          /* File path                            */
	char    host[RESHOSTNAMELEN];
			      	/* Host name                            */
	int     bufsize;        /* socket buffer size                   */
	int     ftype;          /* File type (Fortran, C)               */
	int     binary;         /* Binary on non-binary mode            */
	int	offset;		/* offset in the file			*/
	/* 
	 * FORTRAN characteristics      
	 */
	int     unit;           /* Fortran assigned unit                */
	int     access;         /* Access method                        */
	int     format;         /* File format                          */
	int     recl;           /* File record length                   */
	int     blank;          /* File blank padding                   */
	int     opnopt;         /* File open options                    */
	/* 
	 * Buffered operations 
	 */
	struct	iobuf _iobuf ; 	/* I/O buffer                           */
	int 	lseekhow ;	/* Buffered lseek type ( -1 if none )	*/
	int	lseekoff ;	/* Buffered lseek offset		*/
	int	socset ;	/* Socket options set (bol)		*/
	/*
	 * Preseek operations.
	 * field 'preseek' takes the following values:
	 * 	0 not in preseek mode.
	 * 	1 preseek mode.
	 * 	2 dealing with the last preseek message.
	 */
	int	preseek  ;	/* Preseek mode ? 			*/
	int	nbrecord ;	/* Nb of records in the buffer		*/
	/*
	 * Read ahead operations
	 */
	int	eof ;		/* End of file has been reached		*/
	int	ahead ;		/* Are the read()'s read()'s ahead ?	*/
	int	readissued ;	/* Has the first read ahead been issued	*/
	/*
	 * Remote site operations
	 */
	int mapping;		/* Is mapping required ?		*/
	int passwd; 		/* passwd required if from rem. site    */

	/* RFIO version 3 writes */
	int first_write;
	int byte_written_to_network;

	/* RFIO version 3 reads */
	int first_read;
	int byte_read_from_network;
	int eof_received;
	int filesize;

	/* RFIO Version 3 used ? */
	int version3;   

	/* RFIO Version64 used ? */
	int     mode64;         /* mode 64 bits used                    */               
	HYPER   offset64;       /* current file offset                  */
	HYPER   lseekoff64;     /* Buffered lseek                       */
	HYPER   wrbyte_net64;   /* Write bytes to   network (V3)        */
	HYPER   rdbyte_net64;   /* Read  bytes from network (V3)        */
	HYPER   filesize64;     /* File size                (V3)        */
        
	FILE	*fp_save;	/* save ptr to FILE struct returned by popen */
} RFILE ;

#define ioerrno(x) *(int *)(x->_iobuf.base + LONGSIZE)
#define iostat(x)  *(int *)(x->_iobuf.base + 2*LONGSIZE)
#define iodata(x)   (x->_iobuf.base + x->_iobuf.hsize)

typedef struct {
        struct __RFIO_DIR {
	  int    dd_fd;
	  int    dd_loc;
	  int    dd_size;
	  char * dd_buf;
	} dp;                   /* Fake DIR pointer mapping             */

        int     magic;          /* Magic number                         */
        int     s;              /* Socket descriptor in use             */
        int     uid;            /* Requestor's uid                      */
        int     gid;            /* Requestor's gid                      */
        int     offset;         /* Directory offset                     */
	char    host[RESHOSTNAMELEN];
			      	/* Host name                            */
	/*
	 * Remote site operations
	 */
	int mapping;		/* Is mapping required ?		*/
	int passwd; 		/* passwd required if from rem. site    */
} RDIR;

#if defined(_WIN32)
typedef RDIR DIR;
#endif /* _WIN32 */

/*
 * Define RFIO statistic structure
 */
struct rfiostat	{
	long    readop ;        /* read() count                 */
	long    aheadop;        /* readahead() count            */ 
	long    writop ;        /* write() count                */
	long    flusop ;        /* flush() count                */
	long    statop ;        /* stat() count                 */
	long    seekop ;        /* seek() count                 */
	long    presop ;        /* preseek() count              */
	long    mkdiop ;        /* mkdir() count                */
	long    renaop ;        /* rename() count               */
	long    lockop ;        /* lockf() count                */
	HYPER   rnbr ;          /* byte read count              */
	HYPER   wnbr ;          /* byte written count           */
	int     mode64;         /* Flag: true if 64bit in use   */
} ;
#endif /* RFIO_KERNEL */

#ifndef _RFIO_API_H_INCLUDED_
#include <rfio_api.h>
#endif /* _RFIO_API_H_INCLUDED_ */

#if !defined(RFIO_KERNEL)
#if !defined(RFIO_NOREDEFINE)   /* Inhibits redefinitions IN2P3 */
#if defined(feof)
#undef  feof
#endif /* feof */
#if defined(ferror)
#undef  ferror
#endif /* ferror */
#if defined(fileno)
#undef  fileno
#endif /* fileno */
#if defined(getc)
#undef  getc
#endif /* getc */
#define feof            rfio_feof
#define ferror          rfio_ferror
#define fileno          rfio_fileno
#define fclose          rfio_fclose
#define fflush          rfio_fflush
#define fwrite          rfio_fwrite
#define fread           rfio_fread
#define fseek           rfio_fseek
#define ftell           rfio_ftell
#define chdir           rfio_chdir
#define getc            rfio_getc
#define getcwd          rfio_getcwd
#define close           rfio_close
#define write           rfio_write
#define read            rfio_read
#define perror          rfio_perror
#define rename          rfio_rename
#define unlink          rfio_unlink
#define symlink         rfio_symlink
#define mkdir           rfio_mkdir
#define rmdir           rfio_rmdir
#define chmod           rfio_chmod
#define opendir         rfio_opendir
#define closedir        rfio_closedir
#if defined(rewinddir)
#undef rewinddir
#endif /* rewinddir */
#define rewinddir       rfio_rewinddir

#if ((defined(sun) || defined(linux)) && defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64)
#define fopen           rfio_fopen64
#define fseeko          rfio_fseeko64
#define fstat           rfio_fstat64
#define ftello          rfio_ftello64
#define lockf           rfio_lockf64
#define lseek           rfio_lseek64
#define lstat           rfio_lstat64
#define open            rfio_open64
#define readdir         rfio_readdir64
#define stat(X,Y)       rfio_stat64(X,Y)
#else
#if defined(_AIX) && defined(_LARGE_FILES)
#if defined(fopen)
#undef fopen
#endif
#define fopen           rfio_fopen64
#if defined(fseeko)
#undef fseeko
#endif
#define fseeko          rfio_fseeko64
#if defined(fstat)
#undef fstat
#endif
#define fstat           rfio_fstat64
#if defined(ftello)
#undef ftello
#endif
#define ftello          rfio_ftello64
#if defined(lockf)
#undef lockf
#endif
#define lockf           rfio_lockf64
#if defined(lseek)
#undef lseek
#endif
#define lseek           rfio_lseek64
#if defined(lstat)
#undef lstat
#endif
#define lstat           rfio_lstat64
#if defined(open)
#undef open
#endif
#define open            rfio_open64
#define readdir         rfio_readdir
#if defined(stat)
#undef stat
#endif
#define stat(X,Y)       rfio_stat64(X,Y)
#define stat            stat64
#else
#define fopen           rfio_fopen
#define fstat           rfio_fstat
#define lockf           rfio_lockf
#define lseek           rfio_lseek
#define lstat           rfio_lstat
#define open            rfio_open
#define readdir         rfio_readdir
#define stat(X,Y)       rfio_stat(X,Y)
#endif
#endif

#if !(defined(__alpha) && defined(__osf__)) && !defined(_WIN32)
#define fopen64         rfio_fopen64
#define fseeko64        rfio_fseeko64
#define fstat64         rfio_fstat64
#define ftello64        rfio_ftello64
#define lockf64         rfio_lockf64
#define lseek64         rfio_lseek64
#define lstat64         rfio_lstat64
#define open64          rfio_open64
#define stat64(X,Y)     rfio_stat64(X,Y)
#endif
#endif /* RFIO_NOREDEFINE                         IN2P3 */
#endif /* RFIO_KERNEL */

#endif /* _RFIO_H_INCLUDED_ */