Hamlib 4.4
parallel.h
1/*
2 * Hamlib Interface - parallel communication header
3 * Copyright (c) 2000-2003 by Frank Singleton
4 * Copyright (c) 2000-2010 by Stephane Fillod
5 *
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 *
21 */
22
23#ifndef _PARALLEL_H
24#define _PARALLEL_H 1
25
26#include <hamlib/rig.h>
27#include "iofunc.h"
28
29#ifdef HAVE_LINUX_PARPORT_H
30# include <linux/parport.h>
31#endif
32
33#ifndef PARPORT_CONTROL_STROBE
34# define PARPORT_CONTROL_STROBE 0x1
35#endif
36
37#ifndef PARPORT_CONTROL_AUTOFD
38# define PARPORT_CONTROL_AUTOFD 0x2
39#endif
40
41#ifndef PARPORT_CONTROL_INIT
42# define PARPORT_CONTROL_INIT 0x4
43#endif
44
45#ifndef PARPORT_CONTROL_SELECT
46# define PARPORT_CONTROL_SELECT 0x8
47#endif
48
49#ifndef PARPORT_STATUS_ERROR
50# define PARPORT_STATUS_ERROR 0x8
51#endif
52
53#ifndef PARPORT_STATUS_SELECT
54# define PARPORT_STATUS_SELECT 0x10
55#endif
56
57#ifndef PARPORT_STATUS_PAPEROUT
58# define PARPORT_STATUS_PAPEROUT 0x20
59#endif
60
61#ifndef PARPORT_STATUS_ACK
62# define PARPORT_STATUS_ACK 0x40
63#endif
64
65#ifndef PARPORT_STATUS_BUSY
66# define PARPORT_STATUS_BUSY 0x80
67#endif
68
69__BEGIN_DECLS
70
71/* Hamlib internal use, see rig.c */
72int par_open(hamlib_port_t *p);
73int par_close(hamlib_port_t *p);
74int par_ptt_set(hamlib_port_t *p, ptt_t pttx);
75int par_ptt_get(hamlib_port_t *p, ptt_t *pttx);
76int par_dcd_get(hamlib_port_t *p, dcd_t *dcdx);
77
78extern HAMLIB_EXPORT(int) par_write_data(hamlib_port_t *p, unsigned char data);
79extern HAMLIB_EXPORT(int) par_write_control(hamlib_port_t *p,
80 unsigned char control);
81
82extern HAMLIB_EXPORT(int) par_read_data(hamlib_port_t *p, unsigned char *data);
83extern HAMLIB_EXPORT(int) par_read_control(hamlib_port_t *p,
84 unsigned char *control);
85
86extern HAMLIB_EXPORT(int) par_read_status(hamlib_port_t *p,
87 unsigned char *status);
88
89extern HAMLIB_EXPORT(int) par_lock(hamlib_port_t *p);
90extern HAMLIB_EXPORT(int) par_unlock(hamlib_port_t *p);
91
92__END_DECLS
93
94#endif /* _PARALLEL_H */
int par_write_control(hamlib_port_t *p, unsigned char control)
Set control data for Parallel Port.
Definition: parallel.c:345
__BEGIN_DECLS int par_open(hamlib_port_t *p)
Open Parallel Port.
Definition: parallel.c:129
int par_ptt_get(hamlib_port_t *p, ptt_t *pttx)
Get state of Push to Talk from Parallel Port.
Definition: parallel.c:690
int par_close(hamlib_port_t *p)
Close Parallel Port.
Definition: parallel.c:224
int par_read_status(hamlib_port_t *p, unsigned char *status)
Get parallel port status.
Definition: parallel.c:496
int par_ptt_set(hamlib_port_t *p, ptt_t pttx)
Set or unset Push to talk bit on Parallel Port.
Definition: parallel.c:633
int par_lock(hamlib_port_t *p)
Get a lock on the Parallel Port.
Definition: parallel.c:559
int par_unlock(hamlib_port_t *p)
Release lock on Parallel Port.
Definition: parallel.c:591
int par_dcd_get(hamlib_port_t *p, dcd_t *dcdx)
get Data Carrier Detect (squelch) from Parallel Port
Definition: parallel.c:733
int par_read_control(hamlib_port_t *p, unsigned char *control)
Read control data for Parallel Port.
Definition: parallel.c:425
int par_write_data(hamlib_port_t *p, unsigned char data)
Send data on Parallel port.
Definition: parallel.c:244
int par_read_data(hamlib_port_t *p, unsigned char *data)
Receive data on Parallel port.
Definition: parallel.c:289
enum dcd_e dcd_t
DCD status.
ptt_t
PTT status.
Definition: rig.h:592
Hamlib rig data structures.