cctools
catalog_query.h
Go to the documentation of this file.
1/*
2Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
3Copyright (C) 2022 The University of Notre Dame
4This software is distributed under the GNU General Public License.
5See the file COPYING for details.
6*/
7#ifndef CATALOG_QUERY_H
8#define CATALOG_QUERY_H
9
10#include <time.h>
11#include "jx.h"
12
17#define CATALOG_HOST_DEFAULT "catalog.cse.nd.edu,backup-catalog.cse.nd.edu"
18#define CATALOG_PORT_DEFAULT 9097
19
20#define CATALOG_HOST (getenv("CATALOG_HOST") ? getenv("CATALOG_HOST") : CATALOG_HOST_DEFAULT )
21#define CATALOG_PORT (getenv("CATALOG_PORT") ? atoi(getenv("CATALOG_PORT")) : CATALOG_PORT_DEFAULT )
22
31
43struct catalog_query *catalog_query_create(const char *hosts, struct jx *filter_expr, time_t stoptime);
44
54struct jx *catalog_query_read(struct catalog_query *q, time_t stoptime);
55
59void catalog_query_delete(struct catalog_query *q);
60
68int catalog_query_send_update(const char *hosts, const char *text, catalog_update_flags_t flags );
69
70#endif
struct catalog_query * catalog_query_create(const char *hosts, struct jx *filter_expr, time_t stoptime)
Create a catalog query.
catalog_update_flags_t
Catalog update control flags.
Definition catalog_query.h:27
@ CATALOG_UPDATE_BACKGROUND
Send update via a background process if TCP is selected.
Definition catalog_query.h:28
@ CATALOG_UPDATE_CONDITIONAL
Fail if UDP is selected and update is too large to send.
Definition catalog_query.h:29
struct jx * catalog_query_read(struct catalog_query *q, time_t stoptime)
Read the next object from a query.
int catalog_query_send_update(const char *hosts, const char *text, catalog_update_flags_t flags)
Send update text to the given hosts hosts is a comma delimited list of hosts, each of which can be ho...
void catalog_query_delete(struct catalog_query *q)
Delete a completed query object.
JSON Expressions (JX) library.
JX value representing any expression type.
Definition jx.h:117