GRASS 8 Programmer's Manual 8.6.0dev(2026)-1d1e47ad9d
Loading...
Searching...
No Matches
xdrprocedure.c
Go to the documentation of this file.
1/*!
2 \file lib/db/dbmi_base/xdrprocedure.c
3
4 \brief DBMI Library (base) - external data representation (procedure)
5
6 (C) 1999-2009, 2011 by the GRASS Development Team
7
8 This program is free software under the GNU General Public License
9 (>=v2). Read the file COPYING that comes with GRASS for details.
10
11 \author Joel Jones (CERL/UIUC), Radim Blazek, Brad Douglas, Markus Neteler
12 \author Doxygenized by Martin Landa <landa.martin gmail.com> (2011)
13 */
14
15#include "xdr.h"
16#include "macros.h"
17
18/*!
19 \brief ? (client only)
20
21 \param procnum
22
23 \return
24 */
26{
27 int reply;
28
31 if (reply != procnum) {
32 if (reply == 0) {
34 }
35 else {
37 }
38 return DB_PROTOCOL_ERR;
39 }
40
41 return DB_OK;
42}
43
44/*!
45 \brief ? (driver only)
46
47 \param n
48
49 \return DB_OK ok
50 \return DB_EOF eof from client
51 */
53{
54 int stat = DB_OK;
55
56 if (!db__recv(n, sizeof(*n)))
57 stat = DB_EOF;
58
59 return stat;
60}
61
62/*!
63 \brief ?
64
65 \param n
66
67 \return
68 */
70{
71 return db__send_int(n);
72}
73
74/*!
75 \brief ?
76
77 \param n
78
79 \return
80 */
82{
83 return db__send_int(n ? 0 : -1);
84}
int db__recv(void *buf, size_t size)
#define DB_PROTOCOL_ERR
Definition dbmi.h:75
#define DB_EOF
Definition dbmi.h:76
#define DB_OK
Definition dbmi.h:71
int db__send_int(int)
Send integer.
Definition xdrint.c:24
void db_noproc_error(int)
Report no procedure error.
void db_protocol_error(void)
Report protocol error.
#define DB_SEND_INT(x)
Definition macros.h:82
#define DB_RECV_INT(x)
Definition macros.h:87
int procnum
Definition procs.h:33
int db__send_procedure_ok(int n)
?
int db__recv_procnum(int *n)
? (driver only)
int db__send_procedure_not_implemented(int n)
?
int db__start_procedure_call(int procnum)
? (client only)