Hamlib  4.5.5
iofunc.h
1 /*
2  * Hamlib Interface - io function header
3  * Copyright (c) 2000-2005 by Stephane Fillod and Frank Singleton
4  *
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  *
20  */
21 
22 #ifndef _IOFUNC_H
23 #define _IOFUNC_H 1
24 
25 #include <sys/types.h>
26 #include <hamlib/rig.h>
27 
28 extern HAMLIB_EXPORT(int) port_open(hamlib_port_t *p);
29 extern HAMLIB_EXPORT(int) port_close(hamlib_port_t *p, rig_port_t port_type);
30 
31 
32 extern HAMLIB_EXPORT(int) read_block(hamlib_port_t *p,
33  unsigned char *rxbuffer,
34  size_t count);
35 
36 extern HAMLIB_EXPORT(int) read_block_direct(hamlib_port_t *p,
37  unsigned char *rxbuffer,
38  size_t count);
39 
40 extern HAMLIB_EXPORT(int) write_block(hamlib_port_t *p,
41  const unsigned char *txbuffer,
42  size_t count);
43 
44 extern HAMLIB_EXPORT(int) write_block_sync(hamlib_port_t *p,
45  const unsigned char *txbuffer,
46  size_t count);
47 
48 extern HAMLIB_EXPORT(int) write_block_sync_error(hamlib_port_t *p,
49  const unsigned char *txbuffer,
50  size_t count);
51 
52 extern HAMLIB_EXPORT(int) read_string(hamlib_port_t *p,
53  unsigned char *rxbuffer,
54  size_t rxmax,
55  const char *stopset,
56  int stopset_len,
57  int flush_flag,
58  int expected_len);
59 
60 extern HAMLIB_EXPORT(int) read_string_direct(hamlib_port_t *p,
61  unsigned char *rxbuffer,
62  size_t rxmax,
63  const char *stopset,
64  int stopset_len,
65  int flush_flag,
66  int expected_len);
67 
68 #endif /* _IOFUNC_H */
int port_close(hamlib_port_t *p, rig_port_t port_type)
Close a hamlib_port.
Definition: iofunc.c:377
int read_string(hamlib_port_t *p, unsigned char *rxbuffer, size_t rxmax, const char *stopset, int stopset_len, int flush_flag, int expected_len)
Read a string from the device directly or from the synchronous data pipe, depending on the device cap...
Definition: iofunc.c:1463
int write_block(hamlib_port_t *p, const unsigned char *txbuffer, size_t count)
Write a block of characters to an fd.
Definition: iofunc.c:1005
int read_block_direct(hamlib_port_t *p, unsigned char *rxbuffer, size_t count)
Read bytes directly from the device file descriptor.
Definition: iofunc.c:1240
int port_open(hamlib_port_t *p)
Open a hamlib_port based on its rig port type.
Definition: iofunc.c:227
int read_block(hamlib_port_t *p, unsigned char *rxbuffer, size_t count)
Read bytes from the device directly or from the synchronous data pipe, depending on the device caps.
Definition: iofunc.c:1216
int read_string_direct(hamlib_port_t *p, unsigned char *rxbuffer, size_t rxmax, const char *stopset, int stopset_len, int flush_flag, int expected_len)
Read a string directly from the device file descriptor.
Definition: iofunc.c:1502
enum rig_port_e rig_port_t
Port type.
Hamlib rig data structures.