# RSL_read_...

### Synopsis

#include "rsl.h"
Ray *RSL_read_ray(FILE *fp);
Sweep *RSL_read_sweep(FILE *fp);
Volume *RSL_read_volume(FILE *fp);

###

Description

RSL_read_volume reads an entire volume structure from the input stream fp. fp is usually assigned inside the routine RSL_read_radar, however, you can assign the stream fp via fopen. RSL_read_volume calls RSL_read_sweep for the number of sweeps, vol->h.nsweeps, as determined from reading fp. Memory is allocated via RSL_new_volume.

RSL_read_sweep reads an entire sweep structure from the input stream fp. RSL_read_sweep calls RSL_read_ray for the number of rays, sweep->h.nrays, as determined by reading fp. Memory is allocated via RSL_new_sweep.

RSL_read_ray reads an entire ray structure from the input stream fp. RSL_read_ray ingests an entire ray of data and sets ray->h.nbins. Memory is allocated via RSL_new_ray.

### Return value

Upon successful completion, a pointer to the appropriate structure is returned. Otherwise, a NULL pointer is returned and errno is set.

### See also

RSL_new_volume, RSL_new_sweep, RSL_new_ray,
RSL_write_volume, RSL_write_sweep, RSL_write_ray,
RSL_read_radar, RSL_write_radar,
File format.

Author: John H. Merritt