Thu, 12 Apr 2001 09:21:16 +0000
[gaim-migrate @ 1710]
Zephyr.
| 1700 | 1 | /* This file is part of the Project Athena Zephyr Notification System. |
| 2 | * It contains source for the ZInitialize function. | |
| 3 | * | |
| 4 | * Created by: Robert French | |
| 5 | * | |
| 6 | * $Source$ | |
| 7 | * $Author: warmenhoven $ | |
| 8 | * | |
| 9 | * Copyright (c) 1987, 1991 by the Massachusetts Institute of Technology. | |
| 10 | * For copying and distribution information, see the file | |
| 11 | * "mit-copyright.h". | |
| 12 | */ | |
| 13 | /* $Header$ */ | |
| 14 | ||
| 15 | #ifndef lint | |
| 16 | static char rcsid_ZInitialize_c[] = | |
| 17 | "$Zephyr: /afs/athena.mit.edu/astaff/project/zephyr/src/lib/RCS/ZInitialize.c,v 1.17 89/05/30 18:11:25 jtkohl Exp $"; | |
| 18 | #endif | |
| 19 | ||
| 20 | #include <internal.h> | |
| 21 | ||
| 22 | #include <sys/socket.h> | |
| 23 | #ifdef ZEPHYR_USES_KERBEROS | |
| 24 | #include <krb_err.h> | |
| 25 | #endif | |
| 26 | ||
| 27 | Code_t ZInitialize() | |
| 28 | { | |
| 29 | struct servent *hmserv; | |
| 30 | char addr[4]; | |
| 31 | #ifdef ZEPHYR_USES_KERBEROS | |
| 32 | int krbval; | |
| 33 | ||
| 34 | initialize_krb_error_table(); | |
| 35 | #endif | |
| 36 | ||
| 37 | initialize_zeph_error_table(); | |
| 38 | ||
| 39 | (void) memset((char *)&__HM_addr, 0, sizeof(__HM_addr)); | |
| 40 | ||
| 41 | __HM_addr.sin_family = AF_INET; | |
| 42 | ||
| 43 | /* Set up local loopback address for HostManager */ | |
| 44 | addr[0] = 127; | |
| 45 | addr[1] = 0; | |
| 46 | addr[2] = 0; | |
| 47 | addr[3] = 1; | |
| 48 | ||
| 49 | hmserv = (struct servent *)getservbyname(HM_SVCNAME, "udp"); | |
| 50 | __HM_addr.sin_port = (hmserv) ? hmserv->s_port : HM_SVC_FALLBACK; | |
| 51 | ||
| 52 | (void) memcpy((char *)&__HM_addr.sin_addr, addr, 4); | |
| 53 | ||
| 54 | __HM_set = 0; | |
| 55 | ||
| 56 | #ifdef ZEPHYR_USES_KERBEROS | |
| 57 | if ((krbval = krb_get_lrealm(__Zephyr_realm, 1)) != KSUCCESS) | |
| 58 | return (krbval); | |
| 59 | #endif | |
| 60 | ||
| 61 | /* Get the sender so we can cache it */ | |
| 62 | (void) ZGetSender(); | |
| 63 | ||
| 64 | /* Initialize the input queue */ | |
| 65 | __Q_Tail = NULL; | |
| 66 | __Q_Head = NULL; | |
| 67 | ||
| 68 | return (ZERR_NONE); | |
| 69 | } |