00001 #include <grass/dbmi.h> 00002 #include "macros.h" 00003 00010 int 00011 db_describe_table (dbDriver *driver, dbString *name, dbTable **table) 00012 { 00013 int ret_code; 00014 00015 /* start the procedure call */ 00016 db__set_protocol_fds (driver->send, driver->recv); 00017 DB_START_PROCEDURE_CALL(DB_PROC_DESCRIBE_TABLE); 00018 00019 /* send the argument(s) to the procedure */ 00020 DB_SEND_STRING (name); 00021 00022 /* get the return code for the procedure call */ 00023 DB_RECV_RETURN_CODE(&ret_code); 00024 00025 if (ret_code != DB_OK) 00026 return ret_code; /* ret_code SHOULD == DB_FAILED */ 00027 00028 /* get the results */ 00029 DB_RECV_TABLE_DEFINITION(table); 00030 return DB_OK; 00031 }