1 /* esize: prints info from e.out header
13 /* Much of the code has been borrowed from the EM interpreter
16 typedef /* unsigned */ long ptr; /* pointer to EM adress */
39 printf("TPFCRE uref vers w/p text nproc szdata\n");
57 if (!rd_open(fname)) {
58 printf("%s: cannot open\n", fname);
62 printf("%s: not EM object format\n", fname);
65 printf("%c", flags&0001 ? 'T' : '-');
66 printf("%c", flags&0002 ? 'P' : '-');
67 printf("%c", flags&0004 ? 'F' : '-');
68 printf("%c", flags&0010 ? 'C' : '-');
69 printf("%c", flags&0020 ? 'R' : '-');
70 printf("%c", flags&0040 ? 'E' : '-');
71 printf("%c", flags&0100 ? '?' : ' ');
72 printf("%c", flags&0200 ? '?' : ' ');
74 printf("%3ld ", uref);
75 printf("%3ld ", version);
76 printf("%1ld/%1ld", wsize, psize);
77 printf("%c", int7 ? '?' : ' ');
78 printf("%c", int8 ? '?' : ' ');
80 printf("%5ld ", ntext);
81 printf("%5ld ", nproc);
82 printf("%6ld", szdata);
83 printf("%c", ptr7 ? '?' : ' ');
84 printf("%c", ptr8 ? '?' : ' ');
85 printf("%s\n", fname);
91 #define btol(a) ((long)(((long) (a)) & 0xFF))
97 return (load_fp = fopen(load_file, "r")) != NULL;
105 if ((i = fgetc(load_fp)) == EOF)
118 for (i = 1; i < n; i++)
119 l = l | (btol(rd_byte()) << (long) (i*8));
123 #define rd_ptr() ((ptr) rd_int(psize))
129 if (magic != MAGIC || eof)
134 version = rd_int(2L);
137 int7 = rd_int(2L); /* Entry 7 is unused */
138 int8 = rd_int(2L); /* Entry 8 is unused */
143 entrypoint = rd_ptr();
146 ptr7 = rd_ptr(); /* entry 7 is unused */
147 ptr8 = rd_ptr(); /* entry 8 is unused */