From 17287576555a5c46fa23549e2e5f073660dccb70 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Wed, 21 Apr 1999 09:51:03 +0200 Subject: Import ax25-tools 0.0.1 from tarball --- hdlcutil/hdrvcomm.h | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 hdlcutil/hdrvcomm.h (limited to 'hdlcutil/hdrvcomm.h') diff --git a/hdlcutil/hdrvcomm.h b/hdlcutil/hdrvcomm.h new file mode 100644 index 0000000..ec4be73 --- /dev/null +++ b/hdlcutil/hdrvcomm.h @@ -0,0 +1,109 @@ +/*****************************************************************************/ + +/* + * hdrvcomm.h -- HDLC driver communications. + * + * Copyright (C) 1996 Thomas Sailer (sailer@ife.ee.ethz.ch) + * + * 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. + * + * Please note that the GPL allows you to use the driver, NOT the radio. + * In order to use the radio, you need a license from the communications + * authority of your country. + * + */ + +/*****************************************************************************/ + +#ifndef _HDRVCOMM_H +#define _HDRVCOMM_H + +/* ---------------------------------------------------------------------- */ + +#undef HDRVC_KERNEL 1 + +/* ---------------------------------------------------------------------- */ + +#ifdef HDRVC_KERNEL +#include +#include +#include +#endif /* HDRVC_KERNEL */ + +/* ---------------------------------------------------------------------- */ + +struct hdrvc_channel_params { + int tx_delay; /* the transmitter keyup delay in 10ms units */ + int tx_tail; /* the transmitter keyoff delay in 10ms units */ + int slottime; /* the slottime in 10ms; usually 10 = 100ms */ + int ppersist; /* the p-persistence 0..255 */ + int fulldup; /* some driver do not support full duplex, setting */ + /* this just makes them send even if DCD is on */ +}; + +struct hdrvc_channel_state { + int ptt; + int dcd; + int ptt_keyed; + unsigned long tx_packets; + unsigned long tx_errors; + unsigned long rx_packets; + unsigned long rx_errors; +}; + +/* ---------------------------------------------------------------------- */ + +/* + * diagnose modes + */ +#define HDRVC_DIAGMODE_OFF 0 +#define HDRVC_DIAGMODE_INPUT 1 +#define HDRVC_DIAGMODE_DEMOD 2 +#define HDRVC_DIAGMODE_CONSTELLATION 3 + +/* + * diagnose flags + */ +#define HDRVC_DIAGFLAG_DCDGATE (1<<0) + + +/* ---------------------------------------------------------------------- */ + +extern int hdrvc_recvpacket(char *pkt, int maxlen); +extern int hdrvc_getfd(void); +extern char *hdrvc_ifname(void); +extern void hdrvc_args(int *argc, char *argv[], char *def_if); +extern void hdrvc_init(void); +extern int hdrvc_get_samples(void); +extern int hdrvc_get_bits(void); +extern int hdrvc_get_channel_access_param(struct hdrvc_channel_params *par); +extern int hdrvc_set_channel_access_param(struct hdrvc_channel_params par); +extern int hdrvc_calibrate(int calib); +extern int hdrvc_get_channel_state(struct hdrvc_channel_state *st); +extern unsigned int hdrvc_get_ifflags(void); +extern int hdrvc_diag2(unsigned int mode, unsigned int flags, short *data, unsigned int maxdatalen, + unsigned int *samplesperbit); +extern int hdrvc_get_driver_name(char *buf, int bufsz); +extern int hdrvc_get_mode_name(char *buf, int bufsz); + +#ifdef HDRVC_KERNEL +extern int hdrvc_hdlcdrv_ioctl(int cmd, struct hdlcdrv_ioctl *par); +extern int hdrvc_sm_ioctl(int cmd, struct sm_ioctl *par); +extern int hdrvc_baycom_ioctl(int cmd, struct baycom_ioctl *par); +extern int hdrvc_diag(struct sm_diag_data *diag); +#endif /* HDRVC_KERNEL */ + +/* ---------------------------------------------------------------------- */ +#endif /* _HDRVCOMM_H */ -- cgit v1.2.3