/usr/include/owcapi.h is in libow-dev 3.1p1-2ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | /*
$Id$
OWFS (owfs, owhttpd, owserver, owperl, owtcl, owphp, owpython, owcapi)
one-wire file system and related programs
By Paul H Alfille
{c} 2003-5 GPL
paul.alfille@gmail.com
*/
/* OWCAPI - specific header */
/* OWCAPI is the simple C library for OWFS */
/* Commands OW_init, OW_get, OW_put, OW_finish */
#ifndef OWCAPI_H
#define OWCAPI_H
#include <owfs_config.h>
#include <stdlib.h>
#ifdef __cplusplus
extern "C" {
#endif
/* initialization, required before any other calls. Should be paired with a finish
OW_init -- simplest, just a device name
/dev/ttyS0 for serial
u or u# for USB
#### for TCP/IP port (owserver)
looks just like the command line to owfs or owhttpd
OW_init_args -- char** array usually from the main() call
return value = 0 good
< 0 error
No need to call OW_finish if an error
*/
ssize_t OW_init(const char *params);
ssize_t OW_init_args(int argc, char **args);
/* repeat initialization can be the true init, or called safely a second time
* this allows init to be called more than once, but the parameters are ignored after the first one.
OW_safe_init -- simplest, just a device name
/dev/ttyS0 for serial
u or u# for USB
#### for TCP/IP port (owserver)
looks just like the command line to owfs or owhttpd
OW_safe_init_args -- char** array usually from the main() call
return value = 0 good
< 0 error
No need to call OW_finish if an error
*/
ssize_t OW_safe_init(const char *params);
ssize_t OW_safe_init_args(int argc, char **args);
void OW_set_error_level(const char *params);
void OW_set_error_print(const char *params);
/* OW_get -- data read or directory read
path is OWFS style name,
"" or "/" for root directory
"01.23456708ABDE" for device directory
"10.468ACE13579B/temperature for a specific device property
buffer is a char buffer that is allocated by OW_get.
buffer MUST BE "free"ed after use.
buffer_length, if not NULL, will be assigned the length of the returned data
If path is NULL, it is assumed to be "/" the root directory
If path is not a valid C string, the results are unpredictable.
If buffer is NULL, an error is returned
If buffer_length is NULL it is ignored
return value >=0 ok, length of information returned (in bytes)
<0 error
*/
ssize_t OW_get(const char *path, char **buffer, size_t * buffer_length);
/* OW_present -- check if path is present
path is OWFS style name,
"" or "/" for root directory
"01.23456708ABDE" for device directory
"10.468ACE13579B/temperature for a specific device property
return value = 0 ok
< 0 error
*/
int OW_present(const char *path);
/* OW_put -- data write
path is OWFS style name,
"05.468ACE13579B/PIO.A for a specific device property
buffer holds the value
ascii, possibly comma delimitted
Note NULL path or buffer will return an error.
Note: path must be null-terminated
Note: buffer_length will be used for length, there is no requirement that buffer be null-terminated
return value = 0 ok
< 0 error
*/
ssize_t OW_put(const char *path, const char *buffer, size_t buffer_length);
/* OW_lread -- read data with offset
path is OWFS style name,
"05.468ACE13579B/PIO.A for a specific device property
buffer holds the value
ascii, possibly comma delimitted
buffer must be size long
offset is from start of value
only ascii and binary data appropriate
*/
ssize_t OW_lread(const char *path, char *buf, const size_t size, const off_t offset);
/* OW_lwrite -- write data with offset
path is OWFS style name,
"05.468ACE13579B/PIO.A for a specific device property
buffer holds the value
ascii, possibly comma delimitted
buffer must be size long
offset is from start of value
only ascii and binary data appropriate
*/
ssize_t OW_lwrite(const char *path, const char *buf, const size_t size, const off_t offset);
/* cleanup
Clears internal buffer, frees file descriptors
Normal process cleanup will work if program ends before OW_finish is called
But not calling OW_init more than once without an intervening OW_finish will cause a memory leak
No error return
*/
void OW_finish(void);
#ifdef __cplusplus
}
#endif
#endif /* OWCAPI_H */
|