bindrv_newreader
| bindrv_newreader | 
  Purpose
 
  
  Synopsis
 
 s_bindrvctx bindrv_newreader(size_t (*doread)(void *,size_t,size_t,void*), void *rctx);
 
  Arguments
 
 | 
     doread 
     | 
     Callback function to retrieve data from the input stream
     | 
| 
     rctx 
     | 
     File descriptor to be passed as the last argument of
     doread
     | 
  Return value
 
 
 The new context or
 NULL in case of error.
 
  Example
 
 
 In the following example the file
 "bindata is opened using the C function
 fopen and a reader is created based on the resulting file descriptor:
 
 f=fopen("bindata", "r");
bdrv=bindrv_newreader((size_t (*)(void *,size_t,size_t,void*))fread, f);
  Further information
 
 
 1. Each context created using this function must be released by a call to
 bindrv_delete.
 
 
 2. The
 doread routine is used by the reader whenever it requires further data to process. The function receives as input a buffer (where read data has to be copied), its size and, as the last argument, the pointer
 rctx. The third argument of
 doread is always 1. The return value must be
 1 if successful (
 i.e. the requested amount of data has been read), any other value is interpreted as an error condition.
 
 
 3. The required
 doread function has the same signature as the C function
 fread such that a BinDrv reader can use as input a file opened with the C function
 fopen.
 
 
  Related topics
 
  
