Annotation of win32/sql/oracle/include/oci/tnsapi.h, revision 1.1.1.1
1.1 parser 1: /* DISABLE check_long_lines */
2: /*
3: $Header: /var/lib/cvsroot/parser3/parser3/src/sql/oracle/oracle32/include/oci/tnsapi.h,v 1.1 2001/08/22 14:02:20 parser Exp $
4: */
5: /* ENABLE check_long_lines */
6:
7: /* Copyright (c) 1995, 1996 by Oracle Corporation. All rights reserved. */
8:
9: /*
10:
11: NAME
12: tnsapi.h
13:
14: DESCRIPTION
15: SQL*Net Open API functions.
16:
17: FUNCTIONS
18: tnsopen() - open a TNS handle
19: tnsclose() - close a TNS handle
20: tnssend() - send data over TNS handle
21: tnsrecv() - receive data over TNS handle
22: tnscontrol() - issue a control command on a TNS handle
23:
24:
25: NOTES
26: These functions provides transparent access to the underlying session
27: implementation SQL*NET.
28:
29: */
30:
31: #ifndef TNSAPI
32: #define TNSAPI
33:
34: enum tnsapiopcode {
35: /* TNS API operations */
36: TNSAPIOOPEN,
37: TNSAPIOCLOSE,
38: TNSAPIOSEND,
39: TNSAPIORECV,
40: TNSAPICTL,
41: TNSAPICNONBLOCKING,
42: TNSAPICBLOCKING
43: };
44:
45: /* TNS API error codes */
46: /* More will be added as actual coding and testing starts */
47: /* DISABLE check_naming */
48: /* DISABLE check_str_mem */
49: enum tnsapierrcode {
50: TNSAPIEBASE = 20000,
51:
52: SDFAIL_TNSAPIE = TNSAPIEBASE+2,
53: /*
54: * SDFAIL_TNSAPIE: The underlying "send" command failed in tnssend().
55: */
56:
57: RECVFAIL_TNSAPIE = TNSAPIEBASE+3,
58: /*
59: * RECVFAIL_TNSAPIE: The underlying "receive" command failed in tnsrecv().
60: */
61:
62: INVSVROP_TNSAPIE = TNSAPIEBASE+4,
63: /*
64: * INVSVROP_TNSAPIE: Operation is invalid as the server.
65: */
66:
67: INVCLIOP_TNSAPIE = TNSAPIEBASE+5,
68: /*
69: * INVCLIOP_TNSAPIE: Operation is invalid as the client.
70: */
71:
72: HDLUNINI_TNSAPIE = TNSAPIEBASE+6,
73: /*
74: * HDLUNINI_TNSAPIE: The connection should be initialized by
75: * calling tnsopen().
76: */
77:
78: INHFAIL_TNSAPIE = TNSAPIEBASE+7,
79: /*
80: * INHFAIL_TNSAPIE: server failed in inheriting the connection from
81: * the listener.
82: */
83:
84: ACPTFAIL_TNSAPIE = TNSAPIEBASE+8,
85: /*
86: * ACPTFAIL_TNSAPIE: server failed in accepting the connection request
87: * from the client
88: */
89:
90: NULHDL_TNSAPIE = TNSAPIEBASE+9,
91: /*
92: * NULHDL_TNSAPIE: a null handle is passed into the tnsxxx calls, which
93: * is not allowed
94: */
95:
96: INVOP_TNSAPIE = TNSAPIEBASE+10,
97: /*
98: * INVOP_TNSAPIE: invalid operation code is passed into tnsapi() call
99: */
100:
101: MALFAIL_TNSAPIE = TNSAPIEBASE+11,
102: /*
103: * MALFAIL_TNSAPIE: a malloc failed in TNS API calls
104: */
105:
106: NLINIFAIL_TNSAPIE = TNSAPIEBASE+12,
107: /*
108: * NLINIFAIL_TNSAPIE: failed in NL initialization
109: */
110:
111: NMTOOLONG_TNSAPIE = TNSAPIEBASE+13,
112: /*
113: * NMTOOLONG_TNSAPIE: service name too long
114: */
115:
116: CONFAIL_TNSAPIE = TNSAPIEBASE+14,
117: /*
118: * CONFAIL_TNSAPIE: client connect request failed
119: */
120:
121: LSNFAIL_TNSAPIE = TNSAPIEBASE+15,
122: /*
123: * LSNFAIL_TNSAPIE: server failed to listen for connect request
124: */
125:
126: ANSFAIL_TNSAPIE = TNSAPIEBASE+16,
127: /*
128: * ANSFAIL_TNSAPIE: server failed to answer connect request
129: */
130:
131: NMRESFAIL_TNSAPIE = TNSAPIEBASE+17,
132: /*
133: * NMRESFAIL_TNSAPIE: failed to resolve service name
134: */
135:
136: WOULDBLOCK_TNSAPIE = TNSAPIEBASE+18,
137: /*
138: * WOULDBLOCK_TNSAPIE: operation would block
139: */
140:
141: CTLFAIL_TNSAPIE = TNSAPIEBASE+19,
142: /*
143: * CTLFAIL_TNSAPIE: control call failed
144: */
145:
146: TNSAPIE_ERROR = TNSAPIEBASE+20,
147: /*
148: * TNSAPIE_ERROR: generic TNS error occured
149: */
150:
151: INVCTL_TNSAPIE = TNSAPIEBASE+21
152: /*
153: * INVCTL_TNSAPIE: invalid operation requested in control call
154: */
155:
156: };
157: /* ENABLE check_str_mem */
158:
159: int tnsopen(/*_ void **handlep, const char *name _*/);
160: /*
161: * Operation
162: * TNSOPEN
163: *
164: * Description
165: * Initialize TNSAPI per-connection handle. This function must be the
166: * first TNS call that a user makes.
167: *
168: * Name contains a service name in the same format as those in
169: * configuration files in the case of a client. In the case of a server,
170: * name is a NULL.
171: *
172: * Synopsis
173: * int tnsopen(handlep, name)
174: * void **handlep;
175: * const char *name;
176: *
177: * Paramters
178: * handlep (IN/OUT) - Address to receive TNS connection handle
179: * name (IN) - service name
180: *
181: * Requires
182: * The handlep paramter must not be NULL
183: *
184: * Returns
185: * Upon successful completion a zero value is returned. Otherwise, a
186: * positive TNS API error is returned, which is defined in this header
187: * file.
188: */
189:
190: int tnsclose(/*_ void **handlep _*/);
191: /*
192: * Operation:
193: * TNSCLOSE
194: *
195: * Description
196: * Shut down the connection. This function must be called by the user
197: * to close the connection and release the handle properly.
198: *
199: * Synopsis
200: * int tnsclose(handlep)
201: * void **handlep;
202: *
203: * Paramters
204: * handlep(IN/OUT) - Address of a pointer to a TNS connection handle
205: *
206: * Requires
207: * The handlep paramter must not be NULL
208: *
209: * Returns
210: * Upon successful completion a zero value is returned, and *handlep
211: * is set to NULL. Otherwise, a positive TNS API error number is
212: * returned, which is defined in this header file.
213: */
214:
215:
216: int tnssend(/*_ void *handle, const void *data, size_t *length _*/);
217: /*
218: * Operation
219: * TNSSEND
220: *
221: * Description
222: * Send data to the TNS handle.
223: *
224: * In the first call to tnssend() on the client side, connection is
225: * first established before data is sent to the handle. The client must
226: * first call tnssend() after tnsopen() to establish a connection to the
227: * server. It is an error if server calls tnssend() after calling
228: * tnsopen().
229: *
230: * Synopsis
231: * int tnssend(handle, data, length)
232: * void *handle;
233: * const void *data;
234: * size_t *length;
235: *
236: * Paramters
237: * handle(IN/OUT) - pointer to TNS connection handle returned by
238: * tnsopen()
239: * data(IN) - pointer to data to be sent
240: * length(IN/OUT) - pointer to the length of data to be sent in bytes
241: * and the actual number of bytes written on return.
242: *
243: * Requires
244: * The paramters must not be NULL
245: *
246: * Returns
247: * Upon successful completion a zero value is returned, and the actual
248: * number of bytes written is returned as the value pointed to by the
249: * length paramter. Otherwise, a positive TNS API error number is
250: * returned, which is defined in this header file.
251: */
252:
253:
254: int tnsrecv(/*_ void *handle, void *data, size_t *length _*/);
255: /*
256: * Operation
257: * TNSRECV
258: *
259: * Description
260: * Receive data from the TNS handle
261: *
262: * In the first call to tnsrecv() on the server side, connection is
263: * first established before data is received from the handle. The server
264: * must first call tnsrecv() after tnsopen() to accept the connection
265: * from the client.
266: *
267: * Synopsis
268: * int tnsrecv(handle, data, length)
269: * void *handle;
270: * void *data;
271: * size_t *length;
272: *
273: * Paramters
274: * handle(IN/OUT) - pointer to TNS connection handle returned by
275: * tnsopen()
276: * data(IN/OUT) - pointer to buffer to receive data
277: * length(IN/OUT) - pointer to the length of buffer to receive data
278: * and actual number of bytes received on return
279: *
280: * Requires
281: * All paramters must not be NULL
282: *
283: * Returns
284: * Upon successful completion a zero value is returned, and the actual
285: * number of bytes received is returned as the value pointed to by the
286: * length paramter. Otherwise, a positive TNS API error number is
287: * returned, which is defined in this header file.
288: */
289:
290: int tnscontrol(/*_ void *handle, int cmd _*/);
291: /*
292: * Operation
293: * TNSCONTROL
294: *
295: * Description
296: * Set an option on a connection handle.
297: *
298: * Synopsis
299: * int tnscontrol(handle, cmd)
300: * void *handle;
301: * int cmd;
302: *
303: * Parameters
304: * handle(IN) - pointer to TNS connection handle as returned by tnsopen().
305: * cmd(IN) - option to apply to the connection. Currently supported
306: * values are:
307: * TNSAPICNONBLOCKING - set connection into nonblocking mode
308: * TNSAPICBLOCKING - set connection into blocking mode
309: *
310: * Requires
311: * handle must not be NULL, and cmd must be one of the supported commands.
312: *
313: * Returns
314: * 0 if option is successfully set
315: * CTLFAIL_TNSAPIE if a TNS error occurs while performing the control call
316: */
317:
318:
319: /*
320: * Public macro interfaces
321: */
322: #define tnsopen(handlep, name) tnsapi(TNSAPIOOPEN, handlep, name)
323: #define tnsclose(handlep) tnsapi(TNSAPIOCLOSE, handlep)
324: #define tnssend(handle, data, length) tnsapi(TNSAPIOSEND, handle, data, length)
325: #define tnsrecv(handle, data, length) tnsapi(TNSAPIORECV, handle, data, length)
326: #define tnscontrol(handle, cmd) tnsapi(TNSAPICTL, handle, cmd)
327:
328: /* ENABLE check_naming */
329:
330: #endif /* TNSAPI */
E-mail: