Input Interface

Typedefs

typedef struct _snd_input snd_input_t
 Internal structure for an input object.

Enumerations

enum  snd_input_type_t { SND_INPUT_STDIO, SND_INPUT_BUFFER }

Functions

int snd_input_stdio_open (snd_input_t **inputp, const char *file, const char *mode)
 Creates a new input object reading from a file.
int snd_input_stdio_attach (snd_input_t **inputp, FILE *fp, int _close)
 Creates a new input object using an existing stdio FILE pointer.
int snd_input_buffer_open (snd_input_t **inputp, const char *buffer, ssize_t size)
 Creates a new input object from a memory buffer.
int snd_input_close (snd_input_t *input)
 Closes an input handle.
int snd_input_scanf (snd_input_t *input, const char *format,...)
 Reads formatted input (like fscanf(3)) from an input handle.
char * snd_input_gets (snd_input_t *input, char *str, size_t size)
 Reads a line from an input handle (like fgets(3)).
int snd_input_getc (snd_input_t *input)
 Reads a character from an input handle (like fgetc(3)).
int snd_input_ungetc (snd_input_t *input, int c)
 Puts the last character read back to an input handle (like ungetc(3)).

Detailed Description

The input functions present an interface similar to the stdio functions on top of different underlying input sources.

The snd_config_load function uses such an input handle to be able to load configurations not only from standard files but also from other sources, e.g. from memory buffers.


Typedef Documentation

typedef struct _snd_input snd_input_t

Internal structure for an input object.

The ALSA library uses a pointer to this structure as a handle to an input object. Applications don't access its contents directly.


Enumeration Type Documentation

Input type.

Enumerator:
SND_INPUT_STDIO 

Input from a stdio stream.

SND_INPUT_BUFFER 

Input from a memory buffer.


Function Documentation

int snd_input_buffer_open ( snd_input_t **  inputp,
const char *  buf,
ssize_t  size 
)

Creates a new input object from a memory buffer.

Parameters:
inputp The function puts the pointer to the new input object at the address specified by inputp.
buf Address of the input buffer.
size Size of the input buffer.
Returns:
Zero if successful, otherwise a negative error code.

This functions creates a copy of the input buffer, so the application is not required to preserve the buffer after this function has been called.

int snd_input_close ( snd_input_t input  ) 

Closes an input handle.

Parameters:
input The input handle to be closed.
Returns:
Zero if successful, otherwise a negative error code.
int snd_input_getc ( snd_input_t input  ) 

Reads a character from an input handle (like fgetc(3)).

Parameters:
input The input handle.
Returns:
The character read, or EOF on end of file or error.
char* snd_input_gets ( snd_input_t input,
char *  str,
size_t  size 
)

Reads a line from an input handle (like fgets(3)).

Parameters:
input The input handle.
str Address of the destination buffer.
size The size of the destination buffer.
Returns:
Pointer to the buffer if successful, otherwise NULL.

Like fgets, the returned string is zero-terminated, and contains the new-line character '\n' if the line fits into the buffer.

int snd_input_scanf ( snd_input_t input,
const char *  format,
  ... 
)

Reads formatted input (like fscanf(3)) from an input handle.

Parameters:
input The input handle.
format Format string in fscanf format.
... Other fscanf arguments.
Returns:
The number of input items assigned, or EOF.
Bug:
Reading from a memory buffer doesn't work.
int snd_input_stdio_attach ( snd_input_t **  inputp,
FILE *  fp,
int  _close 
)

Creates a new input object using an existing stdio FILE pointer.

Parameters:
inputp The function puts the pointer to the new input object at the address specified by inputp.
fp The FILE pointer to read from. Reading begins at the current file position.
_close Close flag. Set this to 1 if snd_input_close should close fp by calling fclose.
Returns:
Zero if successful, otherwise a negative error code.
int snd_input_stdio_open ( snd_input_t **  inputp,
const char *  file,
const char *  mode 
)

Creates a new input object reading from a file.

Parameters:
inputp The functions puts the pointer to the new input object at the address specified by inputp.
file The name of the file to read from.
mode The open mode, like fopen(3).
Returns:
Zero if successful, otherwise a negative error code.
int snd_input_ungetc ( snd_input_t input,
int  c 
)

Puts the last character read back to an input handle (like ungetc(3)).

Parameters:
input The input handle.
c The character to push back.
Returns:
The character pushed back, or EOF on error.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated for ALSA project - the C library reference by doxygen 1.6.1