Hamlib 4.7~git
 
Loading...
Searching...
No Matches
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 */
74int par_open(hamlib_port_t *p);
75int par_close(hamlib_port_t *p);
76int par_ptt_set(hamlib_port_t *p, ptt_t pttx);
77int par_ptt_get(hamlib_port_t *p, ptt_t *pttx);
78int par_dcd_get(hamlib_port_t *p, dcd_t *dcdx);
79
80extern HAMLIB_EXPORT(int) par_write_data(hamlib_port_t *p, unsigned char data);
81extern HAMLIB_EXPORT(int) par_write_control(hamlib_port_t *p,
82 unsigned char control);
83
84extern HAMLIB_EXPORT(int) par_read_data(hamlib_port_t *p, unsigned char *data);
85extern HAMLIB_EXPORT(int) par_read_control(hamlib_port_t *p,
86 unsigned char *control);
87
88extern HAMLIB_EXPORT(int) par_read_status(hamlib_port_t *p,
89 unsigned char *status);
90
91extern HAMLIB_EXPORT(int) par_lock(hamlib_port_t *p);
92extern 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:679
Hamlib rig data structures.