+++ /dev/null
-/*********************************************************************
- *
- * Filename: irlap.h
- * Version:
- * Description: in this file you can only find define´s for parts
- * of the irlap-layer. If you want read the typedef´s
- * for struct´s look into irda.h
- * Status: Experimental.
- * Author: Thomas Schneider <nok-trace-men@dev-thomynet.de>
- * Created at:
- * Modified at:
- * Modified by: Thomas Schneider <nok-trace-men@dev-thomynet.de>
- *
- * Copyright (c) 1999 Thomas Schneider, All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * IN NO EVENT SHALL THOMAS SCHNEIDER BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
- * IF THOMAS SCHNEIDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * THOMAS SCHNEIDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER
- * IS ON AN "AS IS" BASIS, AND THOMAS SCHNEIDER HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
- * MODIFICATIONS.
- *
- * This material is provided "AS-IS" and at no charge.
- *
- ********************************************************************/
-/*
- * in this file you can only find define´s for parts
- * of the irlap-layer. If you want read the typedef´s
- * for struct´s look into irda.h
- */
-
-#ifndef __IRLAP_H
-#define __IRLAP_H
-
-#include <glib.h>
-
-
-#define IRDA_XBOF 0xFF
-#define IRDA_BOF 0xC0
-#define IRDA_EOF 0xC1
-
-/*
- * IrLAP-OFFSETS
- * -------------
- */
-#define IRLAP_A_OFF 0x00
-#define IRLAP_C_OFF 0x01
-#define IRLAP_I_OFF 0x02
-
-/*
- * IrLAP-DEFINES
- * -------------
- */
-#define IRLAP_XBOF 0xFF
-#define IRLAP_BOF 0xC0
-#define IRLAP_EOF 0xC1
-#define IRLAP_CE 0x7D
-#define IRLAP_ESC IRLAP_CE
-
-#define IRLAP_ESC_MASK (~0xDF)
-
-#define IRLAP_A_LENGTH 1
-#define IRLAP_C_LENGTH 1
-#define IRLAP_FCS_LENGTH 2
-#define IRLAP_EOF_LENGTH 1
-
-#define IRLAP_C_MASK 0x03
-#define IRLAP_U_FRAME 0x03
-#define IRLAP_S_FRAME 0x01
-#define IRLAP_PF_BIT_MASK (~0xEF)
-#define IRLAP_PF_BIT_CLR_MASK (~0x10)
-#define IRLAP_Nr_CLR_MASK 0x1F
-
-/*
- * IRLAP U cmd/response
- * --------------------
- * - all defines use a cleared P/F-Bit
- * (irlap_frame -> c & IRLAP_PF_BIT_CLR_MASK)
- * - page 26 in IrLAP-spec
- * - if no _CMD or _RSP name is _CMD_RSP (e.g. 0x83)
- */
-#define IRLAP_SNRM_RNRM 0x83
-#define IRLAP_DISC_RD 0x43
-#define IRLAP_UI_UI 0x03
-#define IRLAP_XID_CMD 0x2F
-#define IRLAP_TEST_TEST 0xE3
-#define IRLAP_UA_RSP 0x63
-#define IRLAP_FRMR_RSP 0x87
-#define IRLAP_DM_RSP 0x0F
-#define IRLAP_XID_RSP 0xAF
-
-/*
- * IRLAP S cmd/response
- * --------------------
- * - all defines use a cleared P/F-Bit and cleared Nr
- * (irlap_frame -> c & IRLAP_PF_BIT_CLR_MASK & IRLAP_Nr_CLR_MASK)
- * - page 32 in IrLAP-spec
- * - for both (cmd and response) the same mask is defined
- */
-#define IRLAP_RR 0x01
-#define IRLAP_RNR 0x05
-#define IRLAP_REJ 0x09
-#define IRLAP_SREJ 0x0D
-
-
-/*
- * irlap-connection-states
- * -----------------------
- * - negotation defines are also conn-states
- */
-#define IRLAP_DISC 0x00 /* disconnected */
-#define IRLAP_NDM 0x01 /* normaldisconnect mode */
-#define IRLAP_NRM 0x02 /* normal response mode */
-
-/*
- * negotation-defines
- * ------------------
- */
-/* negotation-states */
-#define NEG_SNRM_OK 0x01
-#define NEG_WAIT_FOR_UA 0x02
-#define NEG_UA_OK 0x03
-#define NEG_COMPLETE 0x04
-
-#define B576000 576000
-#define B1152000 1152000
-
-#define IRLAP_SNRM_SRC_ADR 0x00 /* src in SNRM */
-#define IRLAP_SNRM_DEST_ADR 0x04 /* dest in SNRM */
-#define IRLAP_SNRM_CONN_ADR 0x08 /* connection-adr in SNRM */
-#define IRLAP_UA_SRC_ADR 0x00 /* src in UA */
-#define IRLAP_UA_DEST_ADR 0x04 /* dest in UA */
-#define IRLAP_NEG_SNRM_PARAM_OFF 0x09 /* src(U32) dest(U32) adr(8) */
-#define IRLAP_NEG_UA_PARAM_OFF 0x08 /* src(U32) dest(U32) */
-#define IRLAP_NEG_BPS_PI 0x01 /* IrLAP page 39 */
-#define IRLAP_PI_LENGTH 1 /* no more longer used */
-#define IRLAP_PL_LENGTH 1 /* no more longer used */
-
-/*
- * defines for decode xid-cmd
- * --------------------------
- */
-#define XID_C_FI_OFFSET 0x00 /* offset for format identifier (U8) */
-#define XID_C_SRC_ADR_OFF 0x01 /* offset for source address (U32) */
-#define XID_C_DEST_ADR_OFF 0x05 /* offset for dest address (U32) */
-#define XID_C_DISC_F_OFF 0x09 /* offset for discovery flags (U8) */
-#define XID_C_SLOT_NR_OFF 0x0A /* offset for slot number (U8) */
-#define XID_C_VERSION_OFF 0x0B /* offset for version (U8) */
-#define XID_C_DISC_I_OFF 0x0C /* offset for discovery information */
-#define XID_C_FLAG_TRUE 0x01 /* flags in cmd only if FI == 0x01 */
-#define XID_C_F_SLOT_MASK 0x03 /* mask for slot numbers in di-flag */
-#define XID_C_F_NEW_ADR_M 0x04 /* mask for new device-address-gen. */
-#define XID_C_LAST_SLOT 0xFF /* nr. for last slot in xid-cmd */
-#define XID_C_DISC_I_M_L 0x20 /* max length of discovery info */
-#define XID_C_DI_S_H_OFF 0x0C /* 1. service hint offset in disc-inf */
-#define XID_C_DI_S_H_EX_M 0x07 /* serv.hint extent. mask in disc_inf */
-
-/*
- * defines for decode xid-rsp
- * --------------------------
- */
-#define XID_R_FI_OFFSET 0x00 /* offset for format identifier (U8) */
-#define XID_R_SRC_ADR_OFF 0x01 /* offset for source address (U32) */
-#define XID_R_DEST_ADR_OFF 0x05 /* offset for dest address (U32) */
-#define XID_R_DISC_F_OFF 0x09 /* offset for discovery flags (U8) */
-#define XID_R_SLOT_NR_OFF 0x0A /* offset for slot number (U8) */
-#define XID_R_VERSION_OFF 0x0B /* offset for version (U8) */
-#define XID_R_DISC_I_OFF 0x0C /* offset for discovery information */
-#define XID_R_FLAG_TRUE 0x01 /* flags in rsp only if FI == 0x01 */
-#define XID_R_F_SLOT_MASK 0x03 /* mask for slot numbers in di-flag */
-#define XID_R_F_NEW_ADR_M 0x04 /* mask for new device-address-gen. */
-#define XID_R_LAST_SLOT 0xFF /* nr. for last slot in xid-cmd/rsp */
-#define XID_R_DISC_I_M_L 0x20 /* max length of discovery info */
-#define XID_R_DI_S_H_OFF 0x0C /* 1. service hint offset in disc-inf */
-#define XID_R_DI_S_H_EX_M 0x07 /* serv.hint extent. mask in disc_inf */
-#define XID_R_SNIFF_FRAME 0xFFFFFFFF /* dest address for sniffing */
-
-/*
- * defines for snrm-cmd
- * --------------------
- */
-#define SNRM_CMD_RESET_LEN 0x00 /* no i-field is present */
-#define SNRM_EST_CONNECT_ADR 0xFF /* conn.adr. in case con.establish */
-#define SNRM_C_SRC_ADR_OFF 0x00 /* offset for source address (U32) */
-#define SNRM_C_DEST_ADR_OFF 0x04 /* offset for dest address (U32) */
-#define SNRM_C_N_C_ADR_OFF 0x08 /* new conn. adr. offset (U8) */
-#define SNRM_C_NEG_OFF 0x09 /* negotation-fields offset */
-#define SNRM_BPS_PI 0x01 /* bps-pi */
-#define SNRM_MAX_TAT_PI 0x82 /* max. turn around time pi */
-#define SNRM_DATA_SIZE_PI 0x83 /* data size pi */
-#define SNRM_WIN_SIZE_PI 0x84 /* window size pi */
-#define SNRM_ADD_BOF_PI 0x85 /* addition BOFs pi */
-#define SNRM_MIN_TAT_PI 0x86 /* min. turn around time pi */
-#define SNRM_LD_TT_PI 0x08 /* link disc./threshold time pi */
-
-/*
- * defines for ua-rsp-frame
- * ------------------------
- */
-#define UA_CONNECT_MIN_LENGTH 0x0E /* 14 are min length to use the frame
- * for response to snrm used to
- * establish a connection - look at
- * page 39 - negotation: type 0 params
- * must be negotiated at both stations
- * bps and link disc/threshold time -
- * in this case also src and dest are
- * used ( 4 + 4 + 3 + 3), page 31 */
-#define UA_WITH_SRC_DST_LEN 0x08 /* ua len with src and dest */
-#define UA_SRC_ADR_OFF 0x00 /* offset for source address (U32) */
-#define UA_DEST_ADR_OFF 0x04 /* offset for dest address (U32) */
-#define UA_NEG_OFF 0x08 /* negotation-fields offset */
-#define UA_BPS_PI 0x01 /* bps-pi */
-#define UA_MAX_TAT_PI 0x82 /* max. turn around time pi */
-#define UA_DATA_SIZE_PI 0x83 /* data size pi */
-#define UA_WIN_SIZE_PI 0x84 /* window size pi */
-#define UA_ADD_BOF_PI 0x85 /* addition BOFs pi */
-#define UA_MIN_TAT_PI 0x86 /* min. turn around time pi */
-#define UA_LD_TT_PI 0x08 /* link disc./threshold time pi */
-
-
-#endif /* __IRLAP_H */
-