* Version $Id$
*/
/*
- Copyright (C) 2000, 2001, 2002 Kern Sibbald and John Walker
+ Copyright (C) 2000-2004 Kern Sibbald and John Walker
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
uint32_t out_msg_no; /* output message number */
int fd; /* socket file descriptor */
int32_t msglen; /* message length */
- int port; /* desired port */
- volatile int errors; /* set if errors on socket */
- volatile int suppress_error_msgs; /* set to suppress error messages */
int b_errno; /* bsock errno */
+ int port; /* desired port */
+ volatile bool errors: 1; /* set if errors on socket */
+ volatile bool suppress_error_msgs: 1; /* set to suppress error messages */
+ volatile bool timed_out: 1; /* timed out in read/write */
+ volatile bool terminated: 1; /* set when BNET_TERMINATE arrives */
+ bool duped: 1; /* set if duped BSOCK */
+ bool spool: 1; /* set for spooling */
volatile time_t timer_start; /* time started read/write */
- volatile int timed_out; /* timed out in read/write */
- volatile int timeout; /* time out after this value */
- volatile int terminated; /* set when BNET_TERMINATE arrives */
- int duped; /* set if duped BSOCK */
+ volatile time_t timeout; /* timeout BSOCK after this interval */
POOLMEM *msg; /* message pool buffer */
char *who; /* Name of daemon to which we are talking */
char *host; /* Host name/IP */
POOLMEM *errmsg; /* edited error message (to be implemented) */
RES *res; /* Resource to which we are connected */
BSOCK *next; /* next BSOCK if duped */
- int spool; /* set for spooling */
FILE *spool_fd; /* spooling file */
JCR *jcr; /* jcr or NULL for error msgs */
+ struct sockaddr_in client_addr; /* client's IP address */
};
/* Signal definitions for use in bnet_sig() */
-#define BNET_EOD -1 /* End of data stream, new data may follow */
-#define BNET_EOD_POLL -2 /* End of data and poll all in one */
-#define BNET_STATUS -3 /* Send full status */
-#define BNET_TERMINATE -4 /* Conversation terminated, doing close() */
-#define BNET_POLL -5 /* Poll request, I'm hanging on a read */
-#define BNET_HEARTBEAT -6 /* Heartbeat Response requested */
-#define BNET_HB_RESPONSE -7 /* Only response permited to HB */
-#define BNET_PROMPT -8 /* Prompt for UA */
-#define BNET_BTIME -9 /* Send UTC btime */
+enum {
+ BNET_EOD = -1, /* End of data stream, new data may follow */
+ BNET_EOD_POLL = -2, /* End of data and poll all in one */
+ BNET_STATUS = -3, /* Send full status */
+ BNET_TERMINATE = -4, /* Conversation terminated, doing close() */
+ BNET_POLL = -5, /* Poll request, I'm hanging on a read */
+ BNET_HEARTBEAT = -6, /* Heartbeat Response requested */
+ BNET_HB_RESPONSE = -7, /* Only response permited to HB */
+ BNET_PROMPT = -8, /* Prompt for UA */
+ BNET_BTIME = -9, /* Send UTC btime */
+ BNET_BREAK = -10 /* Stop current command -- ctl-c */
+};
#define BNET_SETBUF_READ 1 /* Arg for bnet_set_buffer_size */
#define BNET_SETBUF_WRITE 2 /* Arg for bnet_set_buffer_size */