GRASS GIS 7 Programmer's Manual  7.5.svn(2017)-r71942
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
segment/init.c File Reference
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <grass/gis.h>
#include "local_proto.h"
Include dependency graph for segment/init.c:

Go to the source code of this file.

Functions

int Segment_init (SEGMENT *SEG, int fd, int nseg)
 Initialize segment structure. More...
 

Function Documentation

int Segment_init ( SEGMENT SEG,
int  fd,
int  nseg 
)

Initialize segment structure.

Initializes the seg structure. The file on fd is a segment file created by Segment_format() and must be open for reading and writing. The segment file configuration parameters nrows, ncols, srows, scols, and len, as written to the file by Segment_format(), are read from the file and stored in the seg structure. nsegs specifies the number of segments that will be retained in memory. The minimum value allowed is 1.

Note: The size of a segment is scols*srows*len plus a few bytes for managing each segment.

Parameters
[in,out]SEGsegment
[in]fdfile descriptor
[in]nsegnumber of segments to remain in memory
Returns
1 if successful
-1 if unable to seek or read segment file
-2 if out of memory

Definition at line 59 of file segment/init.c.

References err(), SEGMENT::fd, fd, G_warning(), SEGMENT::len, SEGMENT::ncols, SEGMENT::nrows, SEGMENT::nseg, SEGMENT::open, SEGMENT::scols, seg_setup(), and SEGMENT::srows.

Referenced by Segment_open().