Annotation of win32/sql/oracle/include/oci/tnsapi.h, revision 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: