@@ -166,10 +166,71 @@ ffi.cdef [[
166166 // opaque
167167 } VipsImage;
168168
169+ typedef struct _VipsConnection {
170+ VipsObject parent_instance ;
171+
172+ // opaque
173+ } VipsConnection;
174+
175+ const char *vips_connection_filename (VipsConnection * connection );
176+ const char *vips_connection_nick (VipsConnection * connection );
177+
178+ typedef struct _VipsSource {
179+ VipsConnection parent_instance ;
180+
181+ // opaque
182+ } VipsSource;
183+
184+ typedef struct _VipsTarget {
185+ VipsConnection parent_instance ;
186+
187+ // opaque
188+ } VipsTarget;
189+
190+ VipsSource *vips_source_new_from_descriptor (int descriptor );
191+ VipsSource *vips_source_new_from_file (const char * filename );
192+ // VipsSource *vips_source_new_from_blob (VipsBlob *blob);
193+ // VipsSource *vips_source_new_from_target (VipsTarget *target);
194+ VipsSource *vips_source_new_from_memory (const void * data , size_t size );
195+ // VipsSource *vips_source_new_from_options (const char *options);
196+ // void vips_source_minimise (VipsSource *source);
197+ // int vips_source_decode (VipsSource *source);
198+ // gint64 vips_source_read (VipsSource *source, void *data, size_t length);
199+ // gboolean vips_source_is_mappable (VipsSource *source);
200+ // gboolean vips_source_is_file (VipsSource *source);
201+ // const void *vips_source_map (VipsSource *source, size_t *length);
202+ // VipsBlob *vips_source_map_blob (VipsSource *source);
203+ // gint64 vips_source_seek (VipsSource *source, gint64 offset, int whence);
204+ // int vips_source_rewind (VipsSource *source);
205+ // gint64 vips_source_sniff_at_most (VipsSource *source, unsigned char **data, size_t length);
206+ // unsigned char *vips_source_sniff (VipsSource *source, size_t length);
207+ // gint64 vips_source_length (VipsSource *source);
208+ // VipsSourceCustom *vips_source_custom_new (void);
209+ // GInputStream *vips_g_input_stream_new_from_source (VipsSource *source);
210+ // VipsSourceGInputStream *vips_source_g_input_stream_new (GInputStream *stream);
211+
212+ VipsTarget *vips_target_new_to_descriptor (int descriptor );
213+ VipsTarget *vips_target_new_to_file (const char * filename );
214+ VipsTarget *vips_target_new_to_memory (void );
215+ // VipsTarget *vips_target_new_temp (VipsTarget *target);
216+ // int vips_target_write (VipsTarget *target, const void *data, size_t length);
217+ // gint64 vips_target_read (VipsTarget *target, void *buffer, size_t length);
218+ // gint64 vips_target_seek (VipsTarget *target, gint64 offset, int whence);
219+ // int vips_target_end (VipsTarget *target);
220+ // unsigned char *vips_target_steal (VipsTarget *target, size_t *length);
221+ // char *vips_target_steal_text (VipsTarget *target);
222+ // int vips_target_putc (VipsTarget *target, int ch);
223+ // int vips_target_writes (VipsTarget *target, const char *str);
224+ // int vips_target_writef (VipsTarget *target, const char *fmt, ...);
225+ // int vips_target_write_amp (VipsTarget *target, const char *str);
226+ // VipsTargetCustom *vips_target_custom_new (void);
227+
169228 const char *vips_foreign_find_load (const char * name );
170229 const char *vips_foreign_find_load_buffer (const void * data , size_t size );
171230 const char *vips_foreign_find_save (const char * name );
172231 const char *vips_foreign_find_save_buffer (const char * suffix );
232+ const char * vips_foreign_find_load_source (VipsSource * source );
233+ const char * vips_foreign_find_save_target (const char * suffix );
173234
174235 VipsImage *vips_image_new_matrix_from_array (int width , int height ,
175236 const double * array , int size );
0 commit comments