If you are looking for a method in order to perform a specific task, the public SCIP C-API is the place to look.
Header file names of SCIP obey a consistent naming scheme: Type definitions and related objects such as enums are found in headers starting with "type_", such as type_var.h , which contains enums and type definitions related to SCIP problem variables. Definitions of the actual structs can be found in separate header files starting with "struct_". All method definitions of the public SCIP API are split across header files starting with "pub_" such as pub_cons.h or headers starting with "scip_" such as scip_cons.h . The latter headers starting with "scip_" contain more complex methods, which always receive a scip pointer as first argument. Those methods may affect several individual components controlled by SCIP. Such a method is SCIPbranchVar(), which affects the search tree, which is controlled by SCIP itself and not meant to be accessed by user plugins.
It should be sufficient to include scip/scip.h and scip/scipdefplugins.h for having all needed functionality available in a project.
If, for example, you are looking for information on how to create a problem instance, here are some steps you can take:
SCIPcreateProbBasic()
.The opposite case is that you already know the name of a function as, e.g., SCIPbranchVar().
Note that the private SCIP API contains more complex functions and data structures that fill specialized roles and is only for developers. Those functions are not exported to the library and are therefore not available in user projects using the public SCIP API.