summaryrefslogtreecommitdiff
path: root/comms/tn3270/files/api/api_exch.h
diff options
context:
space:
mode:
Diffstat (limited to 'comms/tn3270/files/api/api_exch.h')
-rw-r--r--comms/tn3270/files/api/api_exch.h168
1 files changed, 0 insertions, 168 deletions
diff --git a/comms/tn3270/files/api/api_exch.h b/comms/tn3270/files/api/api_exch.h
deleted file mode 100644
index ae5b0de207e..00000000000
--- a/comms/tn3270/files/api/api_exch.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/* $NetBSD: api_exch.h,v 1.1.1.1 2010/01/17 01:33:17 dholland Exp $ */
-/* From NetBSD: api_exch.h,v 1.7 2003/08/07 11:16:24 agc Exp */
-
-/*-
- * Copyright (c) 1988 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * from: @(#)api_exch.h 4.2 (Berkeley) 4/26/91
- */
-
-/*
- * This file describes the structures passed back and forth
- * between the API client and API server on a Unix-based
- * tn3270 implementation.
- */
-
-/*
- * The following are the low-level opcodes exchanged between the
- * two sides. These are designed to allow for type, sequence number,
- * and direction checking.
- *
- * We enforce conversation flow. There are three states: CONTENTION,
- * SEND, and RECEIVE. Both sides start in CONTENTION.
- * We never leave RECEIVE state without first reading a TURNAROUND
- * opcode. We never leave SEND state without first writing a TURNAROUND
- * opcode. This scheme ensures that we always have conversation flowing
- * in a synchronized direction (or detect an application error), and that
- * we never hang with both sides trying to read from the "wire".
- *
- * State event action
- *
- * CONTENTION read request send TURNAROUND
- * read RTS
- * enter RECEIVE
- * CONTENTION write request send RTS
- * read TURNAROUND
- * enter SEND
- *
- * RECEIVE read request read whatever
- * RECEIVE write request read TURNAROUND
- *
- * SEND read request send TURNAROUND
- * SEND write write whatever
- */
-
-#define EXCH_EXCH_COMMAND 0 /* The following is a command */
-#define EXCH_EXCH_TURNAROUND 1 /* Your turn to send */
-#define EXCH_EXCH_RTS 2 /* Request to send */
-#define EXCH_EXCH_TYPE 3 /* The following is a type */
-
-struct exch_exch {
- char
- opcode; /* COMMAND, TURNAROUND, or TYPE */
- unsigned char
- my_sequence, /* 0-ff, initially zero */
- your_sequence, /* 0-ff, initially zero */
- command_or_type; /* Application level command or type */
- unsigned short
- length; /* The length of any following data */
-};
-
-/*
- * The following are the command codes which the higher level protocols
- * send and receive.
- */
-
-#define EXCH_CMD_ASSOCIATE 0 /* Connect [client->server] */
- /*
- * struct storage_desc
- * char key[]
- */
-#define EXCH_CMD_DISASSOCIATE 1 /* Disconnect [client->server] */
-#define EXCH_CMD_SEND_AUTH 2 /* Send password [server->client] */
- /*
- * struct storage_desc
- * char prompt[]
- * struct storage_desc
- * char seed[]
- */
-#define EXCH_CMD_AUTH 3 /* Authorization [client->server] */
- /*
- * struct storage_desc
- * char authenticator[]
- */
-#define EXCH_CMD_ASSOCIATED 4 /* Connected [server->client] */
-#define EXCH_CMD_REJECTED 5 /* Too bad [server->client] */
- /*
- * struct storage_desc
- * char message[]
- */
-
-#define EXCH_CMD_REQUEST 6 /* A request [client->server] */
- /* struct regs,
- * struct sregs,
- * struct storage_desc
- * char bytes[]
- */
-#define EXCH_CMD_GIMME 7 /* Send storage [server->client] */
- /*
- * struct storage_desc
- */
-#define EXCH_CMD_HEREIS 8 /* Here is storage [BOTH WAYS] */
- /*
- * struct storage_desc
- * char bytes[]
- */
-#define EXCH_CMD_REPLY 9 /* End of discussion */
- /*
- * struct regs,
- * struct sregs,
- */
-
-/*
- * The following are typed parameters sent across the wire.
- *
- * This should be done much more generally, with some form of
- * XDR or mapped conversation ability.
- */
-
-#define EXCH_TYPE_REGS 0
-#define EXCH_TYPE_SREGS 1
-#define EXCH_TYPE_STORE_DESC 2
-#define EXCH_TYPE_BYTES 3
-
-/*
- * each parameter that comes over looks like:
- *
- * char type of following
- * short (2 bytes) length of following (network byte order)
- * following
- */
-
-struct storage_descriptor {
- long location; /* In network byte order */
- short length; /* In network byte order */
-};
-
-int api_exch_nextcommand(void);
-int api_exch_incommand(int);
-int api_exch_outcommand(int);
-int api_exch_outtype(int, int , const char *);
-int api_exch_intype(int, int , char *);
-int api_exch_flush(void);
-int api_exch_init(int, char *);