Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/runtime/include/bin-file.h
ViewVC logotype

Annotation of /sml/trunk/src/runtime/include/bin-file.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 537 - (view) (download) (as text)

1 : monnier 249 /* bin-file.h
2 :     *
3 :     * COPYRIGHT (c) 1993 by AT&T Bell Laboratories.
4 :     *
5 :     * The layout is:
6 :     * header
7 :     * import PerIDs (16 bytes each)
8 :     * export PerIDs (16 bytes each)
9 :     * CM dependency information
10 :     * inlinable lambda expression
11 :     * reserved area 1 (typically empty)
12 :     * reserved area 2 (typically empty)
13 :     * code objects
14 :     * This section contains a sequence of code objects, each of
15 :     * which is lead by its size. The individual sizes must sum up to
16 :     * codeSzB.
17 :     * pickled static environment
18 :     */
19 :    
20 :     #ifndef _BIN_FILE_
21 :     #define _BIN_FILE_
22 :    
23 :     #ifndef _ML_BASE_
24 :     #include "ml-base.h"
25 :     #endif
26 :    
27 :    
28 :     /** Persistent IDs **/
29 :     #define PERID_LEN 16
30 :    
31 :     typedef struct { /* a persistent ID (PerID) */
32 :     Byte_t bytes[PERID_LEN];
33 :     } pers_id_t;
34 :    
35 :    
36 :     typedef struct { /* The header of a .bin file; note that the fields */
37 :     /* are in big-endian representation. */
38 :     Byte_t magic[16]; /* magic number */
39 :     Int32_t importCnt; /* the number of imported PerIDs. */
40 :     Int32_t exportCnt; /* the number of exported PerIDs. */
41 :     Int32_t importSzB; /* size of import tree area */
42 :     Int32_t cmInfoSzB; /* the size of the CM dependency information area */
43 :     Int32_t lambdaSzB; /* the size of inlinable lambda expressions */
44 :     Int32_t reserved1; /* reserved for future use */
45 :     Int32_t reserved2; /* reserved for future use */
46 :     Int32_t codeSzB; /* the number of bytes of code */
47 :     Int32_t envSzB; /* the size of the environment */
48 :     } binfile_hdr_t;
49 :    
50 :     #endif /* !_BIN_FILE_ */

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0