Hamlib 4.7~git
 
Loading...
Searching...
No Matches
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
28extern HAMLIB_EXPORT(int) port_open(hamlib_port_t *p);
29extern HAMLIB_EXPORT(int) port_close(hamlib_port_t *p, rig_port_t port_type);
30
31
32extern HAMLIB_EXPORT(int) read_block(hamlib_port_t *p,
33 unsigned char *rxbuffer,
34 size_t count);
35
36extern HAMLIB_EXPORT(int) read_block_direct(hamlib_port_t *p,
37 unsigned char *rxbuffer,
38 size_t count);
39
40extern HAMLIB_EXPORT(int) write_block(hamlib_port_t *p,
41 const unsigned char *txbuffer,
42 size_t count);
43
44extern HAMLIB_EXPORT(int) write_block_sync(hamlib_port_t *p,
45 const unsigned char *txbuffer,
46 size_t count);
47
48extern HAMLIB_EXPORT(int) write_block_sync_error(hamlib_port_t *p,
49 const unsigned char *txbuffer,
50 size_t count);
51
52extern HAMLIB_EXPORT(int) port_flush_sync_pipes(hamlib_port_t *p);
53
54extern HAMLIB_EXPORT(int) read_string(hamlib_port_t *p,
55 unsigned char *rxbuffer,
56 size_t rxmax,
57 const char *stopset,
58 int stopset_len,
59 int flush_flag,
60 int expected_len);
61
62extern HAMLIB_EXPORT(int) read_string_direct(hamlib_port_t *p,
63 unsigned char *rxbuffer,
64 size_t rxmax,
65 const char *stopset,
66 int stopset_len,
67 int flush_flag,
68 int expected_len);
69
70#endif /* _IOFUNC_H */
int port_close(hamlib_port_t *p, rig_port_t port_type)
Close a hamlib_port.
Definition iofunc.c:385
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:1557
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:1066
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:1311
int port_open(hamlib_port_t *p)
Open a hamlib_port based on its rig port type.
Definition iofunc.c:230
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:1287
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:1596
enum rig_port_e rig_port_t
Port type.
Hamlib rig data structures.