### Signal

# Vips SourceCustom::read

#### Declaration

    gint64
    read (
      VipsSourceCustom* self,
      gpointer buffer,
      gint64 size,
      gpointer user_data
    )

#### Description [src]

This signal is emitted to read bytes from the source into `buffer`.

Default handler:
Signal can be directly emitted on objects from user code

#### Parameters

`buffer`

  Type: `gpointer`

  `gpointer`, buffer to fill.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`size`

  Type: `gint64`

  `gint64`, size of buffer.

#### Return value

Type: `gint64`

The number of bytes read. Return 0 for EOF.