|  |  |  | GNOME Data Access manual |  | 
|---|---|---|---|---|
            GdaBlob;
enum        GdaBlobMode;
gint        gda_blob_open                   (GdaBlob *blob,
                                             GdaBlobMode mode);
gint        gda_blob_read                   (GdaBlob *blob,
                                             gpointer buf,
                                             gint size,
                                             gint *bytes_read);
gint        gda_blob_write                  (GdaBlob *blob,
                                             gpointer buf,
                                             gint size,
                                             gint *bytes_written);
gint        gda_blob_lseek                  (GdaBlob *blob,
                                             gint offset,
                                             gint whence);
gint        gda_blob_close                  (GdaBlob *blob);
gint        gda_blob_remove                 (GdaBlob *blob);
gchar*      gda_blob_get_sql_id             (GdaBlob *blob);
typedef enum {
	GDA_BLOB_MODE_READ = 1,
	GDA_BLOB_MODE_WRITE = 1 << 1,
	GDA_BLOB_MODE_RDWR = 0x03 
} GdaBlobMode;
gint gda_blob_open (GdaBlob *blob, GdaBlobMode mode);
Opens an existing BLOB. The BLOB must be initialized by gda_connection_create_blob or obtained from a GValue.
| blob: | an existing GdaBlob | 
| mode: | see GdaBlobMode. | 
| Returns : | 0 if everything's ok. In case of error, -1 is returned and the provider should have added an error (a GdaConnectionEvent) to the connection. | 
gint gda_blob_read (GdaBlob *blob, gpointer buf, gint size, gint *bytes_read);
Reads a chunk of bytes from the BLOB into a user-provided location.
| blob: | a GdaBlob which is opened with the flag GDA_BLOB_MODE_READ set. | 
| buf: | buffer to read the data into. | 
| size: | maximum number of bytes to read. | 
| bytes_read: | on return it will point to the number of bytes actually read. | 
| Returns : | 0 if everything's ok. In case of error, -1 is returned and the provider should have added an error to the connection. | 
gint gda_blob_write (GdaBlob *blob, gpointer buf, gint size, gint *bytes_written);
Writes a chunk of bytes from a user-provided location to the BLOB.
| blob: | a GdaBlob which is opened with the flag GDA_BLOB_MODE_WRITE set. | 
| buf: | buffer to write the data from. | 
| size: | maximum number of bytes to read. | 
| bytes_written: | on return it will point to the number of bytes actually written. | 
| Returns : | 0 if everything's ok. In case of error, -1 is returned and the provider should have added an error to the connection. | 
gint gda_blob_lseek (GdaBlob *blob, gint offset, gint whence);
Sets the blob read/write position.
| blob: | a opened GdaBlob. | 
| offset: | offset added to the position specified by whence. | 
| whence: | SEEK_SET, SEEK_CUR or SEEK_END with the same meaning as in fseek(3). | 
| Returns : | the current position in the blob or < 0 in case of error. In case of error the provider should have added an error to the connection. | 
gint gda_blob_close (GdaBlob *blob);
Closes the BLOB. After calling this function, blob should no longer be used.
| blob: | a opened GdaBlob. | 
| Returns : | 0 if everything's ok. In case of error, -1 is returned and the provider should have added an error to the connection. | 
gint gda_blob_remove (GdaBlob *blob);
Removes the BLOB from the database. After calling this function, blob
should no longer be used.
| blob: | a valid GdaBlob. | 
| Returns : | 0 if everything's ok. In case of error, -1 is returned and the provider should have added an error to the connection. |