1 /*
2  * This file is part of RGBDS.
3  *
4  * Copyright (c) 1997-2019, Carsten Sorensen and RGBDS contributors.
5  *
6  * SPDX-License-Identifier: MIT
7  */
8 
9 /* Declarations related to processing of object (.o) files */
10 
11 #ifndef RGBDS_LINK_OBJECT_H
12 #define RGBDS_LINK_OBJECT_H
13 
14 /**
15  * Read an object (.o) file, and add its info to the data structures.
16  * @param fileName A path to the object file to be read
17  * @param i The ID of the file
18  */
19 void obj_ReadFile(char const *fileName, unsigned int i);
20 
21 /**
22  * Perform validation on the object files' contents
23  */
24 void obj_DoSanityChecks(void);
25 
26 /**
27  * Evaluate all assertions
28  */
29 void obj_CheckAssertions(void);
30 
31 /**
32  * Sets up object file reading
33  * @param nbFiles The number of object files that will be read
34  */
35 void obj_Setup(unsigned int nbFiles);
36 
37 /**
38  * `free`s all object memory that was allocated.
39  */
40 void obj_Cleanup(void);
41 
42 #endif /* RGBDS_LINK_OBJECT_H */
43