annotate mts/mh/hosts.c @ 0:bce86c4163a3

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children 441a2190cfae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1 /* hosts.c - find out the official name of a host */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
2 #ifndef lint
bce86c4163a3 Initial revision
kono
parents:
diff changeset
3 static char ident[] = "@(#)$Id$";
bce86c4163a3 Initial revision
kono
parents:
diff changeset
4 #endif /* lint */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
5
bce86c4163a3 Initial revision
kono
parents:
diff changeset
6 /* LINTLIBRARY */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
7
bce86c4163a3 Initial revision
kono
parents:
diff changeset
8 #undef NETWORK
bce86c4163a3 Initial revision
kono
parents:
diff changeset
9 #if defined(BSD41A) || defined(BSD42) || defined(SOCKETS)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
10 #define NETWORK
bce86c4163a3 Initial revision
kono
parents:
diff changeset
11 #endif /* not (defined(BSD41A) || defined(BSD42) || defined(SOCKETS)) */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
12
bce86c4163a3 Initial revision
kono
parents:
diff changeset
13 #include "../h/strings.h"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
14 #include <stdio.h>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
15 #include "../zotnet/mts.h"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
16 #include <ctype.h>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
17 #if defined(BSD42) || defined(SOCKETS)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
18 #include <netdb.h>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
19 #endif /* BSD42 or SOCKETS */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
20
bce86c4163a3 Initial revision
kono
parents:
diff changeset
21
bce86c4163a3 Initial revision
kono
parents:
diff changeset
22 #define NOTOK (-1)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
23
bce86c4163a3 Initial revision
kono
parents:
diff changeset
24 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
25
bce86c4163a3 Initial revision
kono
parents:
diff changeset
26 struct hostent *mh_gethostbyname();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
27
bce86c4163a3 Initial revision
kono
parents:
diff changeset
28 char *OfficialName (name)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
29 char *name;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
30 {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
31 register char *p;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
32 char *q,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
33 site[BUFSIZ];
bce86c4163a3 Initial revision
kono
parents:
diff changeset
34 #ifdef NETWORK
bce86c4163a3 Initial revision
kono
parents:
diff changeset
35 static char buffer[BUFSIZ];
bce86c4163a3 Initial revision
kono
parents:
diff changeset
36 #if defined(BSD42) || defined(SOCKETS)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
37 register struct hostent *hp;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
38 #endif /* BSD42 or SOCKETS */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
39 #endif /* NETWORK */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
40
bce86c4163a3 Initial revision
kono
parents:
diff changeset
41 for (p = name, q = site; *p; p++, q++)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
42 *q = isupper (*p) ? tolower (*p) : *p;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
43 *q = 0;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
44 q = site;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
45
bce86c4163a3 Initial revision
kono
parents:
diff changeset
46 if (uleq (LocalName (), site))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
47 return LocalName ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
48
bce86c4163a3 Initial revision
kono
parents:
diff changeset
49 #ifdef BSD41A
bce86c4163a3 Initial revision
kono
parents:
diff changeset
50 if (rhost (&q) != NOTOK) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
51 (void) strcpy (buffer, q);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
52 free (q);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
53 return buffer;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
54 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
55 #endif /* BSD41A */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
56 #if defined(BSD42) || defined(SOCKETS)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
57 if (hp = mh_gethostbyname (q)) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
58 (void) strcpy (buffer, hp -> h_name);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
59 return buffer;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
60 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
61 #endif /* BSD42 or SOCKETS */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
62
bce86c4163a3 Initial revision
kono
parents:
diff changeset
63 return NULL;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
64 }