|  | 
| int | snd_input_stdio_open (snd_input_t **inputp, const char *file, const char *mode) | 
|  | Creates a new input object reading from a file.  More... 
 | 
|  | 
| int | snd_input_stdio_attach (snd_input_t **inputp, FILE *fp, int _close) | 
|  | Creates a new input object using an existing stdio FILEpointer.  More...
 | 
|  | 
| int | snd_input_buffer_open (snd_input_t **inputp, const char *buffer, ssize_t size) | 
|  | Creates a new input object from a memory buffer.  More... 
 | 
|  | 
| int | snd_input_close (snd_input_t *input) | 
|  | Closes an input handle.  More... 
 | 
|  | 
| int | snd_input_scanf (snd_input_t *input, const char *format,...) | 
|  | Reads formatted input (like fscanf(3)) from an input handle.  More...
 | 
|  | 
| char * | snd_input_gets (snd_input_t *input, char *str, size_t size) | 
|  | Reads a line from an input handle (like fgets(3)).  More...
 | 
|  | 
| int | snd_input_getc (snd_input_t *input) | 
|  | Reads a character from an input handle (like fgetc(3)).  More...
 | 
|  | 
| int | snd_input_ungetc (snd_input_t *input, int c) | 
|  | Puts the last character read back to an input handle (like ungetc(3)).  More...
 | 
|  | 
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. 
◆ 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. 
 
 
◆ snd_input_type_t
Input type. 
| Enumerator | 
|---|
| SND_INPUT_STDIO | Input from a stdio stream.  | 
| SND_INPUT_BUFFER | Input from a memory buffer.  | 
 
 
◆ snd_input_buffer_open()
      
        
          | 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. 
 
 
◆ snd_input_close()
Closes an input handle. 
- Parameters
- 
  
    | input | The input handle to be closed. |  
 
- Returns
- Zero if successful, otherwise a negative error code. 
 
 
◆ snd_input_getc()
Reads a character from an input handle (like fgetc(3)). 
- Parameters
- 
  
  
- Returns
- The character read, or EOFon end of file or error.
 
 
◆ snd_input_gets()
      
        
          | 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. 
 
 
◆ snd_input_scanf()
      
        
          | 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 fscanfformat. |  | ... | Other fscanfarguments. |  
 
- Returns
- The number of input items assigned, or EOF.
- Bug:
- Reading from a memory buffer doesn't work. 
 
 
◆ snd_input_stdio_attach()
      
        
          | 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 FILEpointer to read from. Reading begins at the current file position. |  | _close | Close flag. Set this to 1 if snd_input_close should close fpby callingfclose. |  
 
- Returns
- Zero if successful, otherwise a negative error code. 
 
 
◆ snd_input_stdio_open()
      
        
          | 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. 
 
 
◆ snd_input_ungetc()
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 EOFon error.