nds2-client - Developer 0.16.7
Loading...
Searching...
No Matches
daqc.h
Go to the documentation of this file.
1/* -*- tab-width:8 c-basic-offset:4 indent-tabs-mode:nil -*- */
2/* set vi: ts=8:softtabstop=4,shiftwidth=4,expandtab */
3
4/*
5 * Data acquisition daemon access
6 */
7#ifndef DAQC_H
8#define DAQC_H
9
10#if __cplusplus
11extern "C" {
12#endif /* __cplusplus */
13
14#include "channel.h"
15
16typedef int int4_type;
17typedef unsigned int uint4_type;
18
19#define DAQD_PROTOCOL_VERSION 12
20#define DAQD_PROTOCOL_REVISION 0
21
22#define DAQD_PORT 31200
23
24struct sockaddr_in;
25
26struct signal_conv1;
27
28struct daq_private_;
29
137{
138
141
144
146 nds_v2 = 2
148
149/* pieces of the communication protocol */
150
153#define HEADER_LEN 16
154
158
164{
168
172
176
179 char signal_units[ MAX_SIGNAL_UNIT_LENGTH ]; /* Engineering units */
180};
181
183
191{
193 char* name;
194
197
200 double rate;
201
209
213
220
224};
225
226typedef struct chan_req_ chan_req_t;
227
295
296typedef struct daq_ daq_t;
297
304{
307 char name[ MAX_LONG_CHANNEL_NAME_LENGTH + 1 ]; /* Channel name */
308
312 double rate;
313
316 int tpnum;
317
324
327 int bps;
328
331 int chNum;
332
336
340};
341
343
344/* Channel Group interface (Version 1 Only)
345 */
346
361
363
371
385DLL_EXPORT int
386daq_connect( daq_t* daq, const char* host, int port, enum nds_version version );
387
394DLL_EXPORT void daq_destroy( daq_t* daq );
395
403
416DLL_EXPORT const char* daq_get_channel_addr( daq_t* daq, const char* channel );
417
428DLL_EXPORT char*
429daq_get_channel_data( daq_t* daq, const char* channel, char* data );
430
437DLL_EXPORT int daq_get_data_length( daq_t* daq, const char* channel );
438
446 const char* channel );
447
456DLL_EXPORT int
457daq_get_last_message( daq_t* daq, char* buf, size_t max_len, int* len );
458
471DLL_EXPORT int
472daq_get_scaled_data( daq_t* daq, const char* channel, float* data );
473
479DLL_EXPORT void daq_init( daq_t* daq );
480
496 const char* name,
497 enum chantype ctype,
498 double rate,
499 daq_data_t dtype );
500
507
514
534
545DLL_EXPORT int daq_recv_next( daq_t* daq );
546
554
569 daq_channel_t* channel,
570 int num_channels,
571 int* num_channels_received );
572
590 daq_t* daq, void* hash, int* length, time_t gps, enum chantype type );
591
611 void* hash,
612 int* length,
613 time_t gps,
614 enum chantype type,
615 const char* pat );
616
645 daq_channel_t* channel,
646 int num_channels,
647 int* num_channels_received,
648 time_t gps,
649 enum chantype type );
650
685 daq_channel_t* channel,
686 int num_channels,
687 int* num_channels_received,
688 time_t gps,
689 enum chantype type,
690 const char* pat );
691
704DLL_EXPORT int
705daq_recv_epoch_list( daq_t* daq, char* epochs, size_t max_len, int* str_len );
706
712DLL_EXPORT long daq_recv_id( daq_t* daq );
713
727 daq_t* daq, char* sources, size_t max_len, time_t gps, long* str_len );
728
742 daq_t* daq, char* sources, size_t max_len, time_t gps, long* str_len );
743
757 const char* name,
758 enum chantype type,
759 double rate );
760
769 daq_channel_t* channel );
770
779DLL_EXPORT int daq_request_check( daq_t* daq, time_t start, time_t end );
780
803DLL_EXPORT int
804daq_request_data( daq_t* daq, time_t start, time_t end, time_t dt );
805
813DLL_EXPORT int daq_send( daq_t* daq, const char* command );
814
829DLL_EXPORT int daq_set_epoch( daq_t* daq, const char* epoch );
830
835DLL_EXPORT int daq_startup( void );
836
842DLL_EXPORT const char* daq_strerror( int errornum );
843
850
857
864
871
877
884#if __cplusplus
885}
886#endif /* __cplusplus */
887
888#endif /* DAQC_H */
#define DLL_EXPORT
Definition channel.h:12
#define MAX_SIGNAL_UNIT_LENGTH
Definition channel.h:66
#define MAX_CHANNEL_NAME_LENGTH
Definition channel.h:63
#define MAX_LONG_CHANNEL_NAME_LENGTH
Definition channel.h:60
daq_data_t
Definition channel.h:71
unsigned int uint4_type
Definition daqc.h:17
int int4_type
Definition daqc.h:16
DLL_EXPORT uint4_type daq_get_block_secs(daq_t *daq)
Definition daqc_internal.c:494
DLL_EXPORT int daq_get_data_length(daq_t *daq, const char *channel)
Get the channel data length.
Definition daqc_access.c:1120
DLL_EXPORT chan_req_t * daq_get_channel_status(daq_t *daq, const char *channel)
Get a pointer to channel data.
Definition daqc_access.c:1102
DLL_EXPORT int daq_recv_block(daq_t *daq)
Receive a data block.
Definition daqc_access.c:438
DLL_EXPORT int daq_set_epoch(daq_t *daq, const char *epoch)
Set the default epoch.
Definition daqc_access.c:1333
DLL_EXPORT const char * daq_get_channel_addr(daq_t *daq, const char *channel)
Get a pointer to the data for the specified channel.
Definition daqc_access.c:1131
DLL_EXPORT int daq_clear_channel_list(daq_t *daq)
Clear the channel list.
Definition daqc_access.c:1085
nds_version
Definition daqc.h:137
DLL_EXPORT int daq_startup(void)
Initialize nds1/nds2 client subsystems.
Definition daqc_access.c:1463
DLL_EXPORT int daq_connect(daq_t *daq, const char *host, int port, enum nds_version version)
Make a connection to an NDS server.
Definition daqc_access.c:212
DLL_EXPORT void daq_init_channel(daq_channel_t *chan, const char *name, enum chantype ctype, double rate, daq_data_t dtype)
Initialize a daq_channel_t structure.
Definition daqc_access.c:1540
DLL_EXPORT long daq_recv_id(daq_t *daq)
Receive an ID.
Definition daqc_access.c:931
DLL_EXPORT int daq_recv_block_num(daq_t *daq)
Receive block number.
Definition daqc_access.c:575
DLL_EXPORT int daq_send(daq_t *daq, const char *command)
send a command string.
Definition daqc_access.c:335
DLL_EXPORT char * daq_get_block_data(daq_t *daq)
Definition daqc_internal.c:533
DLL_EXPORT int daq_get_scaled_data(daq_t *daq, const char *channel, float *data)
Calibrate and copy channel data.
Definition daqc_access.c:1207
DLL_EXPORT int daq_recv_channel_list(daq_t *daq, daq_channel_t *channel, int num_channels, int *num_channels_received, time_t gps, enum chantype type)
Get a list of channels.
Definition daqc_access.c:839
DLL_EXPORT int daq_request_data(daq_t *daq, time_t start, time_t end, time_t dt)
Get requested data.
Definition daqc_access.c:1304
DLL_EXPORT uint4_type daq_get_block_gpsn(daq_t *daq)
Definition daqc_internal.c:514
DLL_EXPORT uint4_type daq_get_block_seq_num(daq_t *daq)
Definition daqc_internal.c:525
chantype
Channel type code enumerator.
Definition channel.h:28
DLL_EXPORT int daq_recv_shutdown(daq_t *daq)
Close the client connection.
Definition daqc_access.c:752
DLL_EXPORT void daq_init(daq_t *daq)
Initialize a daq_t structure.
Definition daqc_access.c:1516
DLL_EXPORT void daq_destroy(daq_t *daq)
Close and delete all client status structure elements.
Definition daqc_access.c:265
DLL_EXPORT int daq_recv_channel_hash(daq_t *daq, void *hash, int *length, time_t gps, enum chantype type)
Get a channel list hash.
Definition daqc_access.c:791
DLL_EXPORT int daq_recv_channels(daq_t *daq, daq_channel_t *channel, int num_channels, int *num_channels_received)
Get a list of online channels.
Definition daqc_access.c:778
DLL_EXPORT int daq_recv_hash_by_pattern(daq_t *daq, void *hash, int *length, time_t gps, enum chantype type, const char *pat)
Get a channel list hash.
Definition daqc_access.c:813
DLL_EXPORT int daq_recv_source_data(daq_t *daq, char *sources, size_t max_len, time_t gps, long *str_len)
Get a list of source frames.
Definition daqc_access.c:951
DLL_EXPORT int daq_recv_next(daq_t *daq)
Receive a data block.
Definition daqc_access.c:592
DLL_EXPORT uint4_type daq_get_block_gps(daq_t *daq)
Definition daqc_internal.c:503
DLL_EXPORT int daq_get_last_message(daq_t *daq, char *buf, size_t max_len, int *len)
Get the last message.
Definition daqc_access.c:1170
DLL_EXPORT int daq_request_check(daq_t *daq, time_t start, time_t end)
Check requested data.
Definition daqc_access.c:1282
DLL_EXPORT int daq_disconnect(daq_t *daq)
Disconnect from the server.
Definition daqc_access.c:174
DLL_EXPORT int daq_request_channel(daq_t *daq, const char *name, enum chantype type, double rate)
Add a channel to the request list.
Definition daqc_access.c:1040
DLL_EXPORT int daq_is_connected(daq_t *daq)
Test for connected server.
Definition daqc_access.c:1576
DLL_EXPORT const char * daq_strerror(int errornum)
determine English equivalent of return code.
Definition daqc_access.c:1351
DLL_EXPORT int daq_recv_channels_by_pattern(daq_t *daq, daq_channel_t *channel, int num_channels, int *num_channels_received, time_t gps, enum chantype type, const char *pat)
Get a list of channels.
Definition daqc_access.c:866
DLL_EXPORT int daq_request_channel_from_chanlist(daq_t *daq, daq_channel_t *channel)
Add a channel to the request list.
Definition daqc_access.c:1057
DLL_EXPORT int daq_recv_source_list(daq_t *daq, char *sources, size_t max_len, time_t gps, long *str_len)
Get a list of source frames.
Definition daqc_access.c:973
DLL_EXPORT int daq_recv_epoch_list(daq_t *daq, char *epochs, size_t max_len, int *str_len)
Get a list of epochs.
Definition daqc_access.c:905
DLL_EXPORT char * daq_get_channel_data(daq_t *daq, const char *channel, char *data)
Copy channel data.
Definition daqc_access.c:1150
@ nds_v1
Definition daqc.h:143
@ nds_v2
Definition daqc.h:146
@ nds_try
Definition daqc.h:140
Channel request/status entry.
Definition daqc.h:191
char * name
Definition daqc.h:193
enum chantype type
Definition daqc.h:196
int status
status or data length.
Definition daqc.h:219
uint4_type offset
Definition daqc.h:212
daq_data_t data_type
Definition daqc.h:208
signal_conv_t s
Definition daqc.h:223
double rate
Definition daqc.h:200
NDS1/2 client status structure.
Definition daqc.h:233
int blocks
Definition daqc.h:254
chan_req_t * chan_req_list
Definition daqc.h:249
size_t tb_size
Definition daqc.h:263
daq_block_t * tb
Definition daqc.h:259
enum nds_version nds_versn
NDS server type.
Definition daqc.h:237
struct daq_private_ * conceal
Definition daqc.h:293
int err_num
Definition daqc.h:289
int s_size
Definition daqc.h:273
uint4_type num_chan_request
Definition daqc.h:241
int nds1_rev
Definition daqc.h:281
struct signal_conv1 * s
Definition daqc.h:268
void * auth_ctx
Definition daqc.h:285
int nds1_ver
Definition daqc.h:277
uint4_type num_chan_alloc
Definition daqc.h:245
Received data header.
Definition daqc_internal.h:35
Channel description structure.
Definition daqc.h:304
enum chantype type
Definition daqc.h:323
char name[MAX_LONG_CHANNEL_NAME_LENGTH+1]
Definition daqc.h:307
signal_conv_t s
Definition daqc.h:339
int tpnum
Definition daqc.h:316
int bps
Definition daqc.h:327
int chNum
Definition daqc.h:331
daq_data_t data_type
Definition daqc.h:335
double rate
Definition daqc.h:312
Channel group structure.
Definition daqc.h:353
char name[MAX_CHANNEL_NAME_LENGTH+1]
Definition daqc.h:359
int group_num
Definition daqc.h:356
Definition daqc_private.h:31
Definition daqc_internal.h:65
Data unit conversion structure.
Definition daqc.h:164
float signal_offset
Definition daqc.h:175
float signal_gain
Definition daqc.h:167
char signal_units[MAX_SIGNAL_UNIT_LENGTH]
Definition daqc.h:179
float signal_slope
Definition daqc.h:171