Hamlib  4.5.2
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_PARALLEL
30 #ifdef HAVE_LINUX_PARPORT_H
31 # include <linux/parport.h>
32 #endif
33 #endif
34 
35 #ifndef PARPORT_CONTROL_STROBE
36 # define PARPORT_CONTROL_STROBE 0x1
37 #endif
38 
39 #ifndef PARPORT_CONTROL_AUTOFD
40 # define PARPORT_CONTROL_AUTOFD 0x2
41 #endif
42 
43 #ifndef PARPORT_CONTROL_INIT
44 # define PARPORT_CONTROL_INIT 0x4
45 #endif
46 
47 #ifndef PARPORT_CONTROL_SELECT
48 # define PARPORT_CONTROL_SELECT 0x8
49 #endif
50 
51 #ifndef PARPORT_STATUS_ERROR
52 # define PARPORT_STATUS_ERROR 0x8
53 #endif
54 
55 #ifndef PARPORT_STATUS_SELECT
56 # define PARPORT_STATUS_SELECT 0x10
57 #endif
58 
59 #ifndef PARPORT_STATUS_PAPEROUT
60 # define PARPORT_STATUS_PAPEROUT 0x20
61 #endif
62 
63 #ifndef PARPORT_STATUS_ACK
64 # define PARPORT_STATUS_ACK 0x40
65 #endif
66 
67 #ifndef PARPORT_STATUS_BUSY
68 # define PARPORT_STATUS_BUSY 0x80
69 #endif
70 
71 __BEGIN_DECLS
72 
73 /* Hamlib internal use, see rig.c */
74 int par_open(hamlib_port_t *p);
75 int par_close(hamlib_port_t *p);
76 int par_ptt_set(hamlib_port_t *p, ptt_t pttx);
77 int par_ptt_get(hamlib_port_t *p, ptt_t *pttx);
78 int par_dcd_get(hamlib_port_t *p, dcd_t *dcdx);
79 
80 extern HAMLIB_EXPORT(int) par_write_data(hamlib_port_t *p, unsigned char data);
81 extern HAMLIB_EXPORT(int) par_write_control(hamlib_port_t *p,
82  unsigned char control);
83 
84 extern HAMLIB_EXPORT(int) par_read_data(hamlib_port_t *p, unsigned char *data);
85 extern HAMLIB_EXPORT(int) par_read_control(hamlib_port_t *p,
86  unsigned char *control);
87 
88 extern HAMLIB_EXPORT(int) par_read_status(hamlib_port_t *p,
89  unsigned char *status);
90 
91 extern HAMLIB_EXPORT(int) par_lock(hamlib_port_t *p);
92 extern HAMLIB_EXPORT(int) par_unlock(hamlib_port_t *p);
93 
94 __END_DECLS
95 
96 #endif /* _PARALLEL_H */
int par_write_control(hamlib_port_t *p, unsigned char control)
Set control data for Parallel Port.
Definition: parallel.c:339
__BEGIN_DECLS int par_open(hamlib_port_t *p)
Open Parallel Port.
Definition: parallel.c:123
int par_ptt_get(hamlib_port_t *p, ptt_t *pttx)
Get state of Push to Talk from Parallel Port.
Definition: parallel.c:684
int par_close(hamlib_port_t *p)
Close Parallel Port.
Definition: parallel.c:218
int par_read_status(hamlib_port_t *p, unsigned char *status)
Get parallel port status.
Definition: parallel.c:490
int par_ptt_set(hamlib_port_t *p, ptt_t pttx)
Set or unset Push to talk bit on Parallel Port.
Definition: parallel.c:627
int par_lock(hamlib_port_t *p)
Get a lock on the Parallel Port.
Definition: parallel.c:553
int par_unlock(hamlib_port_t *p)
Release lock on Parallel Port.
Definition: parallel.c:585
int par_dcd_get(hamlib_port_t *p, dcd_t *dcdx)
get Data Carrier Detect (squelch) from Parallel Port
Definition: parallel.c:727
int par_read_control(hamlib_port_t *p, unsigned char *control)
Read control data for Parallel Port.
Definition: parallel.c:419
int par_write_data(hamlib_port_t *p, unsigned char data)
Send data on Parallel port.
Definition: parallel.c:238
int par_read_data(hamlib_port_t *p, unsigned char *data)
Receive data on Parallel port.
Definition: parallel.c:283
ptt_t
PTT status.
Definition: rig.h:632
Hamlib rig data structures.