/usr/lib/grass72/include/grass/segment.h is in grass-dev 7.2.0-2.
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 | #ifndef GRASS_SEGMENT_H
#define GRASS_SEGMENT_H
#include <grass/gis.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
struct aq { /* age queue */
int cur; /* segment number */
struct aq *younger, *older; /* pointer to next younger and next older */
} ;
typedef struct
{
int open; /* open flag */
off_t nrows; /* rows in original data */
off_t ncols; /* cols in original data */
int len; /* bytes per data value */
int srows; /* rows in segments */
int scols; /* cols in segments */
int srowscols; /* rows x cols in segments */
int size; /* size in bytes of a segment */
int spr; /* segments per row */
int spill; /* cols in last segment in row */
/* fast mode */
int fast_adrs; /* toggles fast address mode */
off_t scolbits; /* column bitshift */
off_t srowbits; /* row bitshift */
off_t segbits; /* segment bitshift */
int fast_seek; /* toggles fast seek mode */
int lenbits; /* data size bitshift */
int sizebits; /* segment size bitshift */
int (*address)();
int (*seek)();
char *fname; /* segment file name */
int fd; /* file descriptor to read/write segment */
struct scb /* control blocks */
{
char *buf; /* data buffer */
char dirty; /* dirty flag */
struct aq *age; /* pointer to position in age queue */
int n; /* segment number */
} *scb;
int *load_idx; /* index of loaded segments */
int nfreeslots; /* number of free slots */
int *freeslot; /* array of free slots */
struct aq *agequeue, /* queue of age for order of access */
*youngest, /* youngest in age queue */
*oldest; /* oldest in age queue */
int nseg; /* number of segments in memory */
int cur; /* last accessed segment */
int offset; /* offset of data past header */
} SEGMENT;
#include <grass/defs/segment.h>
#endif /* GRASS_SEGMENT_H */
|