In the Callable Library, ILOG CPLEX defines a few special data types for specific ILOG CPLEX objects, as you see in Table 2.1.
Table 2.1 Special data types in the ILOG CPLEX Callable Library
CPXENVptr
CPXENVptr env;
CPXopenCPLEX()
CPXLPptr
CPXLPptr lp;
CPXcreateprob()
CPXNETptr
CPXNETptr net;
CPXNETcreateprob()
CPXCHANNELptr
CPXCHANNELptr channel;
CPXgetchannels()
CPXaddchannel()
When any of these special variables are set to a value returned by an appropriate routine, that value can be passed directly to other ILOG CPLEX routines that require such parameters. The actual internal type of these variables is a memory address (that is, a pointer); this address uniquely identifies the corresponding object. If you are programming in a language other than C, you should choose an appropriate integer type or pointer type to hold the values of these variables.