3 /* This file is part of the Project Athena Zephyr Notification System.
4 * It contains the hostmanager header file.
6 * Created by: David C. Jedlinsky
8 * $Id: zhm.h,v 1.23 2000/05/08 16:00:06 ghudson Exp $
9 * $Zephyr: /mit/zephyr/src.rw/zhm/RCS/zhm.h,v 1.13 90/10/19 07:11:48 raeburn Exp $
11 * Copyright (c) 1987, 1991 by the Massachusetts Institute of Technology.
12 * For copying and distribution information, see the file
16 #include <zephyr/mit-copyright.h>
18 #include <sys/socket.h>
22 /* These macros are for insertion into and deletion from a singly-linked list
23 * with back pointers to the previous element's next pointer. In order to
24 * make these macros act like expressions, they use the comma operator for
25 * sequenced evaluations of assignment, and "a && b" for "evaluate assignment
26 * b if expression a is true". */
27 #define LIST_INSERT(head, elem) \
28 ((elem)->next = *(head), \
29 (*head) && ((*(head))->prev_p = &(elem)->next), \
30 (*head) = (elem), (elem)->prev_p = (head))
31 #define LIST_DELETE(elem) \
32 (*(elem)->prev_p = (elem)->next, \
33 (elem)->next && ((elem)->next->prev_p = (elem)->prev_p))
36 #define DPR(a) fprintf(stderr, a); fflush(stderr)
37 #define DPR2(a,b) fprintf(stderr, a, b); fflush(stderr)
38 #define Zperr(e) fprintf(stderr, "Error = %d\n", e)
51 void die_gracefully __P((void));
54 void transmission_tower __P((ZNotice_t *, char *, int));
55 Code_t send_outgoing __P((ZNotice_t *));
58 void init_queue __P((void));
59 Code_t add_notice_to_queue __P((ZNotice_t *, char *, struct sockaddr_in *,
61 Code_t remove_notice_from_queue __P((ZNotice_t *, ZNotice_Kind_t *,
62 struct sockaddr_in *));
63 void retransmit_queue __P((struct sockaddr_in *));
64 void disable_queue_retransmits __P((void));
65 int queue_len __P((void));
67 struct sockaddr_in serv_sin;
68 extern int rexmit_times[];
75 #define adjust_size(size) size -= 0x10000000
78 #if defined(sun) && (defined (SUN4_ARCH) || defined (sparc))
84 #define adjust_size(size) size -= 0x400000
87 #define adjust_size(size) size -= 0x20000000
91 #if (defined(ultrix) || defined(sgi)) && defined(mips)
92 #define adjust_size(size) size -= 0x10000000
93 #endif /* (ultrix || sgi) && mips */
96 #define adjust_size(size) size -= 0x140000000
101 #define adjust_size(size) size -= (unsigned int) &etext;