#ifndef _IRRD_OPS_H
#define _IRRD_OPS_H
#include <sys/socket.h>
#include <trace2.h>
#include <irr_notify.h>
/* Do not change the ATTR_ID values */
enum ATTR_ID {
X_ATTR = 0,
NOTIFY_ATTR = 01,
MNT_BY_ATTR = 02,
UPD_TO_ATTR = 04,
MNT_NFY_ATTR = 010,
MNTNER_ATTR = 020,
AUTH_ATTR = 040
};
#define is_upd_to(p) (!strncmp (p, "*dt:", 4) || !strncmp (p, "upd-to:", 7))
#define is_mnt_nfy(p) (!strncmp (p, "*mn:", 4) || !strncmp (p, "mnt-nfy:", 8))
#define is_mnt_by(p) (!strncmp (p, "*mb:", 4) || !strncmp (p, "mnt-by:", 7))
#define is_notify(p) (!strncmp (p, "*ny:", 4) || !strncmp (p, "notify:", 7))
#define is_mntner(p) (!strncmp (p, "*mt:", 4) || !strncmp (p, "mntner:", 7))
#define is_auth(p) (!strncmp (p, "*at:", 4) || !strncmp (p, "auth:", 5))
#define is_changed(p) (!strncmp (p, "*ch:", 4) || !strncmp (p, "changed:", 8))
#define is_source(p) (!strncmp (p, "*so:", 4) || !strncmp (p, "source:", 7))
/* Used by read_socket_obj (), SHORT_OBJECT
* will get auth, upd-to, mnt-nfy, and notify
* fields only.
*/
#define FULL_OBJECT 0
#define SHORT_OBJECT 1
#define newline_remove(p) if (*((p) + strlen ((p)) - 1) == '\n') \
*((p) + strlen ((p)) - 1) = '\0'
#define SNIP_MSG "[snip... Object abbreviated for readability]\n"
/* function prototypes */
char *irrd_transaction_old (trace_t *, char *, int *, FILE *, char *, char *,
int, int *, char *, int);
FILE *IRRd_fetch_obj (trace_t *, char *, int *, int *, int, char *o, char *,
char *, int , char *, int);
int close_connection (int);
char *end_irrd_session (trace_t *, int);
int read_socket_line (trace_t *, int, char [], int);
char *irrd_transaction_new (trace_t *, char *, FILE *, ret_info_t *, char *, int);
char *read_socket_cmd (trace_t *, int, char *);
char *send_socket_cmd (trace_t *, int, char *);
/* RPS-DIST support */
char *rpsdist_transaction (trace_t *, char *, char *, char *, char *, char *,
int);
char *irrd_transaction (trace_t *, char *, int *, FILE *, char *, char *,
int, int *, char *, int);
/* New routines 7/18/00 */
char *send_rpsdist_trans (trace_t *, FILE *, char *, int);
char *rpsdist_update_pgp_ring (trace_t *, FILE *, char *);
char *irrd_curr_serial (trace_t *, char *, char *, int);
#endif /* _IRRD_OPS_H */
syntax highlighted by Code2HTML, v. 0.9.1