#include #include "macros.h" db__send_index (dbIndex *index) { int i; DB_SEND_STRING (&index->indexName); DB_SEND_STRING (&index->tableName); DB_SEND_CHAR (index->unique); DB_SEND_INT (index->numColumns); for (i = 0; i < index->numColumns; i++) { DB_SEND_STRING (&index->columnNames[i]); } return DB_OK; } db__send_index_array (dbIndex *list, int count) { int i; DB_SEND_INT (count); for (i = 0; i < count; i++) { DB_SEND_INDEX(&list[i]); } return DB_OK; } db__recv_index (dbIndex *index) { int i,ncols; db_init_index (index); DB_RECV_STRING (&index->indexName); DB_RECV_STRING (&index->tableName); DB_RECV_CHAR (&index->unique); DB_RECV_INT (&ncols); if (db_alloc_index_columns (index, ncols) != DB_OK) return db_get_error_code(); for (i = 0; i < ncols; i++) { DB_RECV_STRING (&index->columnNames[i]); } return DB_OK; } db__recv_index_array (dbIndex **list, int *count) { int i; DB_RECV_INT (count); *list = db_alloc_index_array (*count); if (*list == NULL) return db_get_error_code(); for (i = 0; i < *count; i++) { DB_RECV_INDEX (&((*list)[i])); } return DB_OK; }