forked from khakimov/morris
-
Notifications
You must be signed in to change notification settings - Fork 0
/
worm.h
executable file
·53 lines (44 loc) · 1.36 KB
/
worm.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* Magic numbers the program uses to identify other copies of itself. */
#define REPORT_PORT 0x2c5d
#define MAGIC_1 0x00148898
#define MAGIC_2 0x00874697
extern int pleasequit; /* This stops the program after one
* complete pass if set. It is incremented
* inside of checkother if contact with another
* happens. */
/* There are pieces of "stub" code, presumably from something like this to
get rid of error messages */
#define error()
/* This appears to be a structure unique to this program. It doesn't seem that
* the blank slots are really an array of characters for the hostname, but
* maybe they are.
*/
struct hst {
char *hostname;
int l4, l8, l12, l16, l20, l24, o28, o32, o36, o40, o44;
int o48[6]; /* used */
int flag; /* used */
#define HST_HOSTEQUIV 8
#define HST_HOSTFOUR 4
#define HST_HOSTTWO 2
struct hst *next; /* o76 */
};
typedef struct {
char *name;
unsigned long size;
char *buf;
} object;
extern struct ifses {
int if_l0, if_l4, if_l8, if_l12; /* unused */
int if_l16; /* used */
int if_l20; /* unused */
int if_l24; /* used */
short if_l28; /* unused */
} ifs[];
extern nifs;
extern int ngateways;
extern object objects[], *getobjectbyname();
extern int nobjects;
/* Only used for a2in(). Why? I don't know. */
struct bar {int baz;};
extern struct bar *a2in();