d_desc_table.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*!
  2. * \file db/dbmi_driver/d_desc_table.c
  3. *
  4. * \brief DBMI Library (driver) - describe table
  5. *
  6. * (C) 1999-2008 by the GRASS Development Team
  7. *
  8. * This program is free software under the GNU General Public
  9. * License (>=v2). Read the file COPYING that comes with GRASS
  10. * for details.
  11. *
  12. * \author Joel Jones (CERL/UIUC), Radim Blazek
  13. */
  14. #include <stdlib.h>
  15. #include <grass/dbmi.h>
  16. #include "macros.h"
  17. #include "dbstubs.h"
  18. /*!
  19. \brief Describe table
  20. \return DB_OK on success
  21. \return DB_FAILED on failure
  22. */
  23. int db_d_describe_table(void)
  24. {
  25. dbTable *table;
  26. dbString name;
  27. int stat;
  28. db_init_string(&name);
  29. /* get the arg(s) */
  30. DB_RECV_STRING(&name);
  31. /* call the procedure */
  32. stat = db_driver_describe_table(&name, &table);
  33. /* send the return code */
  34. if (stat != DB_OK) {
  35. DB_SEND_FAILURE();
  36. return DB_OK;
  37. }
  38. DB_SEND_SUCCESS();
  39. /* results */
  40. db_set_table_name(table, db_get_string(&name));
  41. DB_SEND_TABLE_DEFINITION(table);
  42. db_free_string(&name);
  43. db_free_table(table);
  44. return DB_OK;
  45. }