GRASS GIS 7 Programmer's Manual  7.7.svn(2018)-r73675
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
c_openinsert.c
Go to the documentation of this file.
1 /*!
2  * \file db/dbmi_client/c_openinsert.c
3  *
4  * \brief DBMI Library (client) - open insert cursor
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 
15 #include <grass/dbmi.h>
16 #include "macros.h"
17 
18 /*!
19  \brief Open insert cursor
20 
21  \param driver db driver
22  \param cursor cursor to be opened
23 
24  \return DB_OK on success
25  \return DB_FAILED on failure
26  */
28 {
29  int ret_code;
30 
31  /*
32  db_init_cursor (cursor);
33  */
34  cursor->driver = driver;
35 
36  /* start the procedure call */
37  db__set_protocol_fds(driver->send, driver->recv);
39 
40  /* send the argument(s) to the procedure */
42 
43  /* get the return code for the procedure call */
44  DB_RECV_RETURN_CODE(&ret_code);
45 
46  if (ret_code != DB_OK)
47  return ret_code; /* ret_code SHOULD == DB_FAILED */
48 
49  /* get the results */
50  DB_RECV_TOKEN(&cursor->token);
51  DB_RECV_INT(&cursor->type);
52  DB_RECV_INT(&cursor->mode);
53  return DB_OK;
54 }
struct driver * driver
Definition: driver/init.c:25
#define DB_RECV_INT(x)
Definition: macros.h:39
#define DB_RECV_TOKEN(x)
Definition: macros.h:99
dbDriver * driver
Definition: dbmi.h:233
int type
Definition: dbmi.h:236
#define DB_START_PROCEDURE_CALL(x)
Definition: macros.h:2
dbTable * db_get_cursor_table(dbCursor *cursor)
Get table allocated by cursor.
Definition: cursor.c:67
#define DB_RECV_RETURN_CODE(x)
Definition: macros.h:4
dbToken token
Definition: dbmi.h:232
#define DB_SEND_TABLE_DEFINITION(x)
Definition: macros.h:62
Definition: driver.h:22
int db_open_insert_cursor(dbDriver *driver, dbCursor *cursor)
Open insert cursor.
Definition: c_openinsert.c:27
void db__set_protocol_fds(FILE *send, FILE *recv)
?
FILE * recv
Definition: dbmi.h:171
#define DB_PROC_OPEN_INSERT_CURSOR
Definition: dbmi.h:41
int mode
Definition: dbmi.h:237
FILE * send
Definition: dbmi.h:171
#define DB_OK
Definition: dbmi.h:71