Annotation of embedaddon/ntp/include/ntpd.h, revision 1.1

1.1     ! misho       1: /*
        !             2:  * ntpd.h - Prototypes for ntpd.
        !             3:  */
        !             4: 
        !             5: #include "ntp.h"
        !             6: #include "ntp_debug.h"
        !             7: #include "ntp_syslog.h"
        !             8: #include "ntp_select.h"
        !             9: #include "ntp_malloc.h"
        !            10: #include "ntp_refclock.h"
        !            11: #include "recvbuff.h"
        !            12: 
        !            13: /* ntp_config.c */
        !            14: 
        !            15: #define        TAI_1972        10      /* initial TAI offset (s) */
        !            16: extern char    *keysdir;       /* crypto keys and leaptable directory */
        !            17: extern char *  saveconfigdir;  /* ntpq saveconfig output directory */
        !            18: 
        !            19: extern void    getconfig       (int, char **);
        !            20: extern void    ctl_clr_stats   (void);
        !            21: extern int     ctlclrtrap      (sockaddr_u *, struct interface *, int);
        !            22: extern u_short ctlpeerstatus   (struct peer *);
        !            23: extern int     ctlsettrap      (sockaddr_u *, struct interface *, int, int);
        !            24: extern u_short ctlsysstatus    (void);
        !            25: extern void    init_control    (void);
        !            26: extern void    init_logging    (char const *, int);
        !            27: extern void    setup_logfile   (void);
        !            28: extern void    process_control (struct recvbuf *, int);
        !            29: extern void    report_event    (int, struct peer *, const char *);
        !            30: 
        !            31: /* ntp_control.c */
        !            32: /*
        !            33:  * Structure for translation tables between internal system
        !            34:  * variable indices and text format.
        !            35:  */
        !            36: struct ctl_var {
        !            37:        u_short code;
        !            38:        u_short flags;
        !            39:        char *text;
        !            40: };
        !            41: /*
        !            42:  * Flag values
        !            43:  */
        !            44: #define        CAN_READ        0x01
        !            45: #define        CAN_WRITE       0x02
        !            46: 
        !            47: #define DEF            0x20
        !            48: #define        PADDING         0x40
        !            49: #define        EOV             0x80
        !            50: 
        !            51: #define        RO      (CAN_READ)
        !            52: #define        WO      (CAN_WRITE)
        !            53: #define        RW      (CAN_READ|CAN_WRITE)
        !            54: 
        !            55: extern  char *  add_var (struct ctl_var **, u_long, u_short);
        !            56: extern  void    free_varlist (struct ctl_var *);
        !            57: extern  void    set_var (struct ctl_var **, const char *, u_long, u_short);
        !            58: extern  void    set_sys_var (const char *, u_long, u_short);
        !            59: 
        !            60: /* ntp_intres.c */
        !            61: extern void    ntp_res_name    (sockaddr_u, u_short);
        !            62: extern void    ntp_res_recv    (void);
        !            63: extern void    ntp_intres      (void);
        !            64: #ifdef SYS_WINNT
        !            65: extern unsigned WINAPI ntp_intres_thread       (void *);
        !            66: #endif
        !            67: 
        !            68: /* ntp_io.c */
        !            69: typedef struct interface_info {
        !            70:        endpt * ep;
        !            71:        u_char  action;
        !            72: } interface_info_t;
        !            73: 
        !            74: typedef void   (*interface_receiver_t) (void *, interface_info_t *);
        !            75: 
        !            76: extern  int    disable_dynamic_updates;
        !            77: 
        !            78: extern void    interface_enumerate     (interface_receiver_t, void *);
        !            79: extern endpt * findinterface           (sockaddr_u *);
        !            80: extern endpt * findbcastinter          (sockaddr_u *);
        !            81: extern void    enable_broadcast        (endpt *, sockaddr_u *);
        !            82: extern void    enable_multicast_if     (endpt *, sockaddr_u *);
        !            83: extern void    interface_update        (interface_receiver_t, void *);
        !            84: 
        !            85: extern void    init_io         (void);
        !            86: extern void    io_open_sockets (void);
        !            87: extern void    input_handler   (l_fp *);
        !            88: extern void    io_clr_stats    (void);
        !            89: extern void    io_setbclient   (void);
        !            90: extern void    io_unsetbclient (void);
        !            91: extern void    io_multicast_add(sockaddr_u *);
        !            92: extern void    io_multicast_del(sockaddr_u *);
        !            93: extern void    sendpkt         (sockaddr_u *, struct interface *, int, struct pkt *, int);
        !            94: #ifndef SYS_WINNT
        !            95: extern void    kill_asyncio    (int);
        !            96: #endif
        !            97: #ifdef DEBUG
        !            98: extern void    collect_timing  (struct recvbuf *, const char *, int, l_fp *);
        !            99: #endif
        !           100: #ifdef HAVE_SIGNALED_IO
        !           101: extern void    wait_for_signal         (void);
        !           102: extern void    unblock_io_and_alarm    (void);
        !           103: extern void    block_io_and_alarm      (void);
        !           104: #define UNBLOCK_IO_AND_ALARM()         unblock_io_and_alarm()
        !           105: #define BLOCK_IO_AND_ALARM()           block_io_and_alarm()
        !           106: #else
        !           107: #define UNBLOCK_IO_AND_ALARM()
        !           108: #define BLOCK_IO_AND_ALARM()
        !           109: #endif
        !           110: #define                latoa(pif)      localaddrtoa(pif)
        !           111: extern const char * localaddrtoa(endpt *);
        !           112: 
        !           113: /* ntp_loopfilter.c */
        !           114: extern void    init_loopfilter(void);
        !           115: extern int     local_clock(struct peer *, double);
        !           116: extern void    adj_host_clock(void);
        !           117: extern void    loop_config(int, double);
        !           118: extern void    huffpuff(void);
        !           119: extern u_long  sys_clocktime;
        !           120: extern u_int   sys_tai;
        !           121: 
        !           122: /* ntp_monitor.c */
        !           123: extern void    init_mon        (void);
        !           124: extern void    mon_start       (int);
        !           125: extern void    mon_stop        (int);
        !           126: extern int     ntp_monitor     (struct recvbuf *, int);
        !           127: extern  void    ntp_monclearinterface (struct interface *interface);
        !           128: 
        !           129: /* ntp_peer.c */
        !           130: extern void    init_peer       (void);
        !           131: extern struct peer *findexistingpeer (sockaddr_u *, struct peer *, int, u_char);
        !           132: extern struct peer *findpeer   (struct recvbuf *, int, int *);
        !           133: extern struct peer *findpeerbyassoc (u_int);
        !           134: extern  void   set_peerdstadr  (struct peer *peer, struct interface *interface);
        !           135: extern struct peer *newpeer    (sockaddr_u *, struct interface *, int, int, int, int, u_int, u_char, int, keyid_t);
        !           136: extern void    peer_all_reset  (void);
        !           137: extern void    peer_clr_stats  (void);
        !           138: extern struct peer *peer_config (sockaddr_u *, struct interface *, int, int, int, int, u_int, int, keyid_t, u_char *);
        !           139: extern void    peer_reset      (struct peer *);
        !           140: extern void    refresh_all_peerinterfaces (void);
        !           141: extern void    unpeer          (struct peer *);
        !           142: extern void    clear_all       (void);
        !           143: extern int     score_all       (struct peer *);
        !           144: extern struct  peer *findmanycastpeer  (struct recvbuf *);
        !           145: 
        !           146: /* ntp_crypto.c */
        !           147: #ifdef OPENSSL
        !           148: extern int     crypto_recv     (struct peer *, struct recvbuf *);
        !           149: extern int     crypto_xmit     (struct peer *, struct pkt *,
        !           150:                                    struct recvbuf *, int,
        !           151:                                    struct exten *, keyid_t);
        !           152: extern keyid_t session_key     (sockaddr_u *, sockaddr_u *, keyid_t,
        !           153:                                    keyid_t, u_long);
        !           154: extern int     make_keylist    (struct peer *, struct interface *);
        !           155: extern void    key_expire      (struct peer *);
        !           156: extern void    crypto_update   (void);
        !           157: extern void    crypto_config   (int, char *);
        !           158: extern void    crypto_setup    (void);
        !           159: extern u_int   crypto_ident    (struct peer *);
        !           160: extern struct exten *crypto_args (struct peer *, u_int, associd_t, char *);
        !           161: extern int     crypto_public   (struct peer *, u_char *, u_int);
        !           162: extern void    value_free      (struct value *);
        !           163: extern char    *iffpar_file;
        !           164: extern EVP_PKEY *iffpar_pkey;
        !           165: extern char    *gqpar_file;
        !           166: extern EVP_PKEY *gqpar_pkey;
        !           167: extern char    *mvpar_file;
        !           168: extern EVP_PKEY *mvpar_pkey;
        !           169: extern struct value tai_leap;
        !           170: #endif /* OPENSSL */
        !           171: 
        !           172: /* ntp_proto.c */
        !           173: extern void    transmit        (struct peer *);
        !           174: extern void    receive         (struct recvbuf *);
        !           175: extern void    peer_clear      (struct peer *, char *);
        !           176: extern void    process_packet  (struct peer *, struct pkt *, u_int);
        !           177: extern void    clock_select    (void);
        !           178: 
        !           179: extern int     leap_tai;       /* TAI at next leap */
        !           180: extern u_long  leap_sec;       /* next scheduled leap from file */
        !           181: extern u_long  leap_peers;     /* next scheduled leap from peers */
        !           182: extern u_long  leapsec;        /* seconds to next leap */
        !           183: extern u_long  leap_expire;    /* leap information expiration */
        !           184: extern int     sys_orphan;
        !           185: extern double  sys_mindisp;
        !           186: extern double  sys_maxdist;
        !           187: 
        !           188: /*
        !           189:  * there seems to be a bug in the IRIX 4 compiler which prevents
        !           190:  * u_char from beeing used in prototyped functions.
        !           191:  * This is also true AIX compiler.
        !           192:  * So give up and define it to be int. WLJ
        !           193:  */
        !           194: extern void    poll_update (struct peer *, int);
        !           195: 
        !           196: extern void    clear           (struct peer *);
        !           197: extern void    clock_filter    (struct peer *, double, double, double);
        !           198: extern void    init_proto      (void);
        !           199: extern void    proto_config    (int, u_long, double, sockaddr_u *);
        !           200: extern void    proto_clr_stats (void);
        !           201: 
        !           202: #ifdef REFCLOCK
        !           203: /* ntp_refclock.c */
        !           204: extern int     refclock_newpeer (struct peer *);
        !           205: extern void    refclock_unpeer (struct peer *);
        !           206: extern void    refclock_receive (struct peer *);
        !           207: extern void    refclock_transmit (struct peer *);
        !           208: extern void    init_refclock   (void);
        !           209: #endif /* REFCLOCK */
        !           210: 
        !           211: /* ntp_request.c */
        !           212: extern void    init_request    (void);
        !           213: extern void    process_private (struct recvbuf *, int);
        !           214: 
        !           215: /* ntp_restrict.c */
        !           216: extern void    init_restrict   (void);
        !           217: extern u_short restrictions    (sockaddr_u *);
        !           218: extern void    hack_restrict   (int, sockaddr_u *, sockaddr_u *, u_short, u_short);
        !           219: 
        !           220: /* ntp_timer.c */
        !           221: extern void    init_timer      (void);
        !           222: extern void    reinit_timer    (void);
        !           223: extern void    timer           (void);
        !           224: extern void    timer_clr_stats (void);
        !           225: extern  void    timer_interfacetimeout (u_long);
        !           226: extern  volatile int interface_interval;
        !           227: #ifdef OPENSSL
        !           228: extern char    *sys_hostname;  /* host name */
        !           229: extern char    *sys_groupname; /* group name */
        !           230: extern char    *group_name;    /* group name */
        !           231: extern u_long  sys_revoke;     /* keys revoke timeout */
        !           232: extern u_long  sys_automax;    /* session key timeout */
        !           233: #endif /* OPENSSL */
        !           234: 
        !           235: /* ntp_util.c */
        !           236: extern void    init_util       (void);
        !           237: extern void    write_stats     (void);
        !           238: extern void    stats_config    (int, const char *);
        !           239: extern void    record_peer_stats (sockaddr_u *, int, double, double, double, double);
        !           240: extern void    record_proto_stats (char *);
        !           241: extern void    record_loop_stats (double, double, double, double, int);
        !           242: extern void    record_clock_stats (sockaddr_u *, const char *);
        !           243: extern void    record_raw_stats (sockaddr_u *, sockaddr_u *, l_fp *, l_fp *, l_fp *, l_fp *);
        !           244: extern u_long  leap_month(u_long);
        !           245: extern void    record_crypto_stats (sockaddr_u *, const char *);
        !           246: #ifdef DEBUG
        !           247: extern void    record_timing_stats (const char *);
        !           248: #endif
        !           249: extern  u_short        sock_hash (sockaddr_u *);
        !           250: extern char *  fstostr(time_t);        /* NTP timescale seconds */
        !           251: extern double  old_drift;
        !           252: extern int     drift_file_sw;
        !           253: extern double  wander_threshold;
        !           254: extern double  wander_resid;
        !           255: 
        !           256: /*
        !           257:  * Variable declarations for ntpd.
        !           258:  */
        !           259: /* ntp_config.c */
        !           260: extern char const *    progname;
        !           261: extern char    *sys_phone[];           /* ACTS phone numbers */
        !           262: #if defined(HAVE_SCHED_SETSCHEDULER)
        !           263: extern int     config_priority_override;
        !           264: extern int     config_priority;
        !           265: #endif
        !           266: extern char *ntp_signd_socket;
        !           267: extern struct config_tree *cfg_tree_history;
        !           268: 
        !           269: #ifdef BC_LIST_FRAMEWORK_NOT_YET_USED
        !           270: /*
        !           271:  * backwards compatibility flags
        !           272:  */
        !           273: typedef struct bc_entry_tag {
        !           274:        int     token;
        !           275:        int     enabled;
        !           276: } bc_entry;
        !           277: 
        !           278: extern bc_entry bc_list[];
        !           279: #endif
        !           280: 
        !           281: /* ntp_control.c */
        !           282: extern int     num_ctl_traps;
        !           283: extern keyid_t ctl_auth_keyid;         /* keyid used for authenticating write requests */
        !           284: 
        !           285: /*
        !           286:  * Statistic counters to keep track of requests and responses.
        !           287:  */
        !           288: extern u_long  ctltimereset;           /* time stats reset */
        !           289: extern u_long  numctlreq;              /* number of requests we've received */
        !           290: extern u_long  numctlbadpkts;          /* number of bad control packets */
        !           291: extern u_long  numctlresponses;        /* number of resp packets sent with data */
        !           292: extern u_long  numctlfrags;            /* number of fragments sent */
        !           293: extern u_long  numctlerrors;           /* number of error responses sent */
        !           294: extern u_long  numctltooshort;         /* number of too short input packets */
        !           295: extern u_long  numctlinputresp;        /* number of responses on input */
        !           296: extern u_long  numctlinputfrag;        /* number of fragments on input */
        !           297: extern u_long  numctlinputerr;         /* number of input pkts with err bit set */
        !           298: extern u_long  numctlbadoffset;        /* number of input pkts with nonzero offset */
        !           299: extern u_long  numctlbadversion;       /* number of input pkts with unknown version */
        !           300: extern u_long  numctldatatooshort;     /* data too short for count */
        !           301: extern u_long  numctlbadop;            /* bad op code found in packet */
        !           302: extern u_long  numasyncmsgs;           /* number of async messages we've sent */
        !           303: 
        !           304: /* ntp_intres.c */
        !           305: extern keyid_t req_keyid;              /* request keyid */
        !           306: extern int     req_keytype;            /* OpenSSL NID such as NID_md5 */
        !           307: extern size_t  req_hashlen;            /* digest size for req_keytype */
        !           308: extern char *  req_file;               /* name of the file with configuration info */
        !           309: #ifdef SYS_WINNT
        !           310: extern HANDLE ResolverEventHandle;
        !           311: #else
        !           312: extern int resolver_pipe_fd[2];  /* used to let the resolver process alert the parent process */
        !           313: #endif /* SYS_WINNT */
        !           314: 
        !           315: /*
        !           316:  * Other statistics of possible interest
        !           317:  */
        !           318: extern volatile u_long packets_dropped;        /* total number of packets dropped on reception */
        !           319: extern volatile u_long packets_ignored;        /* packets received on wild card interface */
        !           320: extern volatile u_long packets_received;/* total number of packets received */
        !           321: extern u_long  packets_sent;           /* total number of packets sent */
        !           322: extern u_long  packets_notsent;        /* total number of packets which couldn't be sent */
        !           323: 
        !           324: extern volatile u_long handler_calls;  /* number of calls to interrupt handler */
        !           325: extern volatile u_long handler_pkts;   /* number of pkts received by handler */
        !           326: extern u_long  io_timereset;           /* time counters were reset */
        !           327: 
        !           328: /*
        !           329:  * Interface stuff
        !           330:  */
        !           331: extern endpt * any_interface;          /* IPv4 wildcard */
        !           332: extern endpt * any6_interface;         /* IPv6 wildcard */
        !           333: extern endpt * loopback_interface;     /* IPv4 loopback for refclocks */
        !           334: 
        !           335: /*
        !           336:  * File descriptor masks etc. for call to select
        !           337:  */
        !           338: extern fd_set  activefds;
        !           339: extern int     maxactivefd;
        !           340: 
        !           341: /* ntp_loopfilter.c */
        !           342: extern double  drift_comp;             /* clock frequency (s/s) */
        !           343: extern double  clock_stability;        /* clock stability (s/s) */
        !           344: extern double  clock_max;              /* max offset before step (s) */
        !           345: extern double  clock_panic;            /* max offset before panic (s) */
        !           346: extern double  clock_phi;              /* dispersion rate (s/s) */
        !           347: extern double  clock_minstep;          /* step timeout (s) */
        !           348: extern double  clock_codec;            /* codec frequency */
        !           349: #ifdef KERNEL_PLL
        !           350: extern int     pll_status;             /* status bits for kernel pll */
        !           351: #endif /* KERNEL_PLL */
        !           352: 
        !           353: /*
        !           354:  * Clock state machine control flags
        !           355:  */
        !           356: extern int     ntp_enable;             /* clock discipline enabled */
        !           357: extern int     pll_control;            /* kernel support available */
        !           358: extern int     kern_enable;            /* kernel support enabled */
        !           359: extern int     pps_enable;             /* kernel PPS discipline enabled */
        !           360: extern int     ext_enable;             /* external clock enabled */
        !           361: extern int     cal_enable;             /* refclock calibrate enable */
        !           362: extern int     allow_panic;            /* allow panic correction */
        !           363: extern int     mode_ntpdate;           /* exit on first clock set */
        !           364: extern int     peer_ntpdate;           /* count of ntpdate peers */
        !           365: 
        !           366: /*
        !           367:  * Clock state machine variables
        !           368:  */
        !           369: extern u_char  sys_poll;               /* system poll interval (log2 s) */
        !           370: extern int     state;                  /* clock discipline state */
        !           371: extern int     tc_counter;             /* poll-adjust counter */
        !           372: extern u_long  last_time;              /* time of last clock update (s) */
        !           373: extern double  last_offset;            /* last clock offset (s) */
        !           374: extern u_char  allan_xpt;              /* Allan intercept (log2 s) */
        !           375: extern double  clock_jitter;           /* clock jitter (s) */
        !           376: extern double  sys_offset;             /* system offset (s) */
        !           377: extern double  sys_jitter;             /* system jitter (s) */
        !           378: 
        !           379: /* ntp_monitor.c */
        !           380: extern struct mon_data mon_mru_list;
        !           381: extern struct mon_data mon_fifo_list;
        !           382: extern int     mon_enabled;
        !           383: 
        !           384: /* ntp_peer.c */
        !           385: extern struct peer *peer_hash[];       /* peer hash table */
        !           386: extern int     peer_hash_count[];      /* count of peers in each bucket */
        !           387: extern struct peer *assoc_hash[];      /* association ID hash table */
        !           388: extern int     assoc_hash_count[];
        !           389: extern int     peer_free_count;
        !           390: 
        !           391: /*
        !           392:  * Miscellaneous statistic counters which may be queried.
        !           393:  */
        !           394: extern u_long  peer_timereset;         /* time stat counters were zeroed */
        !           395: extern u_long  findpeer_calls;         /* number of calls to findpeer */
        !           396: extern u_long  assocpeer_calls;        /* number of calls to findpeerbyassoc */
        !           397: extern u_long  peer_allocations;       /* number of allocations from the free list */
        !           398: extern u_long  peer_demobilizations;   /* number of structs freed to free list */
        !           399: extern int     total_peer_structs;     /* number of peer structs in circulation */
        !           400: extern int     peer_associations;      /* mobilized associations */
        !           401: extern int     peer_preempt;           /* preemptable associations */
        !           402: /* ntp_proto.c */
        !           403: /*
        !           404:  * System variables are declared here. See Section 3.2 of the
        !           405:  * specification.
        !           406:  */
        !           407: extern u_char  sys_leap;               /* system leap indicator */
        !           408: extern u_char  sys_stratum;            /* system stratum */
        !           409: extern s_char  sys_precision;          /* local clock precision */
        !           410: extern double  sys_rootdelay;          /* roundtrip delay to primary source */
        !           411: extern double  sys_rootdisp;           /* dispersion to primary source */
        !           412: extern u_int32 sys_refid;              /* reference id */
        !           413: extern l_fp    sys_reftime;            /* last update time */
        !           414: extern struct peer *sys_peer;          /* current peer */
        !           415: 
        !           416: /*
        !           417:  * Nonspecified system state variables.
        !           418:  */
        !           419: extern int     sys_bclient;            /* we set our time to broadcasts */
        !           420: extern double  sys_bdelay;             /* broadcast client default delay */
        !           421: extern int     sys_authenticate;       /* requre authentication for config */
        !           422: extern l_fp    sys_authdelay;          /* authentication delay */
        !           423: extern keyid_t sys_private;            /* private value for session seed */
        !           424: extern int     sys_manycastserver;     /* respond to manycast client pkts */
        !           425: extern int     sys_minclock;           /* minimum survivors */
        !           426: extern int     sys_minsane;            /* minimum candidates */
        !           427: extern int     sys_floor;              /* cluster stratum floor */
        !           428: extern int     sys_ceiling;            /* cluster stratum ceiling */
        !           429: extern u_char  sys_ttl[MAX_TTL];       /* ttl mapping vector */
        !           430: extern int     sys_ttlmax;             /* max ttl mapping vector index */
        !           431: 
        !           432: /*
        !           433:  * Statistics counters
        !           434:  */
        !           435: extern u_long  sys_stattime;           /* time since reset */
        !           436: extern u_long  sys_received;           /* packets received */
        !           437: extern u_long  sys_processed;          /* packets for this host */
        !           438: extern u_long  sys_restricted;         /* restricted packets */
        !           439: extern u_long  sys_newversion;         /* current version  */
        !           440: extern u_long  sys_oldversion;         /* old version */
        !           441: extern u_long  sys_restricted;         /* access denied */
        !           442: extern u_long  sys_badlength;          /* bad length or format */
        !           443: extern u_long  sys_badauth;            /* bad authentication */
        !           444: extern u_long  sys_declined;           /* declined */
        !           445: extern u_long  sys_limitrejected;      /* rate exceeded */
        !           446: extern u_long  sys_kodsent;            /* KoD sent */
        !           447: 
        !           448: /* ntp_refclock.c */
        !           449: #ifdef REFCLOCK
        !           450: #ifdef PPS
        !           451: extern int     fdpps;                  /* pps file descriptor */
        !           452: #endif /* PPS */
        !           453: #endif
        !           454: 
        !           455: /* ntp_request.c */
        !           456: extern keyid_t info_auth_keyid;        /* keyid used to authenticate requests */
        !           457: 
        !           458: /* ntp_restrict.c */
        !           459: extern restrict_u *    restrictlist4;  /* IPv4 restriction list */
        !           460: extern restrict_u *    restrictlist6;  /* IPv6 restriction list */
        !           461: extern int     ntp_minpkt;
        !           462: extern int     ntp_minpoll;
        !           463: extern int     mon_age;                /* monitor preempt age */
        !           464: 
        !           465: /* ntp_timer.c */
        !           466: extern volatile int alarm_flag;                /* alarm flag */
        !           467: extern volatile u_long alarm_overflow;
        !           468: extern u_long  current_time;           /* current time (s) */
        !           469: extern u_long  timer_timereset;
        !           470: extern u_long  timer_overflows;
        !           471: extern u_long  timer_xmtcalls;
        !           472: 
        !           473: /* ntp_util.c */
        !           474: extern int     stats_control;          /* write stats to fileset? */
        !           475: extern int     stats_write_period;     /* # of seconds between writes. */
        !           476: extern double  stats_write_tolerance;
        !           477: 
        !           478: /* ntpd.c */
        !           479: extern volatile int debug;             /* debugging flag */
        !           480: extern int     nofork;                 /* no-fork flag */
        !           481: extern int     initializing;           /* initializing flag */
        !           482: #ifdef HAVE_DROPROOT
        !           483: extern int droproot;                   /* flag: try to drop root privileges after startup */
        !           484: extern char *user;                     /* user to switch to */
        !           485: extern char *group;                    /* group to switch to */
        !           486: extern const char *chrootdir;          /* directory to chroot to */
        !           487: #endif
        !           488: 
        !           489: /* refclock_conf.c */
        !           490: #ifdef REFCLOCK
        !           491: /* refclock configuration table */
        !           492: extern struct refclock * const refclock_conf[];
        !           493: extern u_char  num_refclock_conf;
        !           494: #endif
        !           495: 
        !           496: /* ntp_signd.c */
        !           497: #ifdef HAVE_NTP_SIGND
        !           498: extern void 
        !           499: send_via_ntp_signd(
        !           500:        struct recvbuf *rbufp,  /* receive packet pointer */
        !           501:        int     xmode,
        !           502:        keyid_t xkeyid, 
        !           503:        int flags,
        !           504:        struct pkt  *xpkt
        !           505:        );
        !           506: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>