These calls are wrappers to preserve the error returns of V1, that is a negative return is the error code indicating what has gone wrong. sds_handle sds_define_object(sds_handle,struct type_list *,char *); sds_handle sds_declare_object(sds_handle, void *, char *,sds_code,sds_code); sds_handle sds_load_fd(int, unsigned long, int); int write_sds2socket(int , sds_handle ); sds_handle sds_dataset_size(sds_handle); int read_socket2sds(int , int ); sds_handle sds_duplicate(sds_handle, char *); sds_handle sds_new_index(char *); sds_handle sds_use(char *,sds_code, sds_code); sds_handle sds_assemble(sds_handle,char *,sds_code); sds_handle sds_obname2ind(sds_handle ,char *); sds_handle sds_oblike2ind(sds_handle ,char *, sds_handle); Replaced in V2 alpha by ......................................... Here, a return of 0 indicates failure of some sort; the error code may be had from sds_last_error() and the full error stack accessed by the error calls (see error documentation). sds_handle sds_define_structure(sds_handle,struct type_list *,char *); sds_handle sds_declare_structure(sds_handle, void *, char *,sds_code,sds_code); sds_handle sds_load_open_fd(int, unsigned long, int); sds_handle sds_write2fd(int , sds_handle ); sds_handle sds_fullsize(sds_handle); sds_handle sds_read_open_fd(int); sds_handle sds_dup(sds_handle, char *); sds_handle sds_new(char *); sds_handle sds_access(char *,sds_code, sds_code); sds_handle sds_ass(sds_handle,char *,sds_code); sds_handle sds_name2ind(sds_handle ,char *); sds_handle sds_like2ind(sds_handle ,char *, sds_handle);