Explicit types in the generator.
[wrappi.git] / generator-lib / wrappi_types.mli
index 6120aff..6bd58f0 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  *)
 
-type any_type = TInt32 | TInt64 | Type of string
+type any_type =
+  | TFilePerm
+  | TInt32
+  | TInt64
+  | TPathname
+  | TUInt32
+  | TUInt64
 (** Any API parameter or return type. *)
 
 type parameter = string * any_type
@@ -30,7 +36,7 @@ type c_code = string
 (** C code. *)
 
 type entry_point = {
-  (*ep_loc : Camlp4.PreCast.Loc.t;*)
+  ep_loc : Camlp4.PreCast.Loc.t;
   ep_name : string;
   ep_params : parameter list;
   ep_return : return_type;
@@ -38,6 +44,11 @@ type entry_point = {
 }
 (** An API entry point. *)
 
+type api = {
+  api_entry_points : entry_point list;
+}
+(** This single structure describes the whole API. *)
+
 val string_of_any_type : any_type -> string
 val string_of_return_type : return_type -> string
 val string_of_parameter : parameter -> string