]> granicus.if.org Git - postgresql/blobdiff - src/interfaces/ecpg/preproc/type.h
pgindent run for 8.3.
[postgresql] / src / interfaces / ecpg / preproc / type.h
index 10d5fc8f48dabbf4d2924714ecfde9e9e7f4ff4a..94c1e56f532c023eaf97cd8bdcca77797a84c145 100644 (file)
@@ -1,3 +1,6 @@
+#ifndef _ECPG_PREPROC_TYPE_H
+#define _ECPG_PREPROC_TYPE_H
+
 #include "ecpgtype.h"
 
 struct ECPGtype;
@@ -11,26 +14,25 @@ struct ECPGstruct_member
 struct ECPGtype
 {
        enum ECPGttype type;
-       long            size;                   /* For array it is the number of elements.
-                                                                * For varchar it is the maxsize of the
-                                                                * area. */
-       char       *struct_sizeof;      /* For a struct this is the sizeof() type
-                                                                * as string */
+       char       *size;                       /* For array it is the number of elements. For
+                                                                * varchar it is the maxsize of the area. */
+       char       *struct_sizeof;      /* For a struct this is the sizeof() type as
+                                                                * string */
        union
        {
-               struct ECPGtype *element;               /* For an array this is the type
-                                                                                * of the element */
-
-               struct ECPGstruct_member *members;
-               /* A pointer to a list of members. */
+               struct ECPGtype *element;               /* For an array this is the type of
+                                                                                * the element */
+               struct ECPGstruct_member *members;              /* A pointer to a list of
+                                                                                                * members. */
        }                       u;
+       int                     lineno;
 };
 
 /* Everything is malloced. */
 void           ECPGmake_struct_member(char *, struct ECPGtype *, struct ECPGstruct_member **);
-struct ECPGtype *ECPGmake_simple_type(enum ECPGttype, long);
+struct ECPGtype *ECPGmake_simple_type(enum ECPGttype, char *, int);
 struct ECPGtype *ECPGmake_varchar_type(enum ECPGttype, long);
-struct ECPGtype *ECPGmake_array_type(struct ECPGtype *, long);
+struct ECPGtype *ECPGmake_array_type(struct ECPGtype *, char *);
 struct ECPGtype *ECPGmake_struct_type(struct ECPGstruct_member *, enum ECPGttype, char *);
 struct ECPGstruct_member *ECPGstruct_member_dup(struct ECPGstruct_member *);
 
@@ -48,7 +50,9 @@ void          ECPGfree_type(struct ECPGtype *);
    size is the maxsize in case it is a varchar. Otherwise it is the size of
           the variable (required to do array fetches of structs).
  */
-void           ECPGdump_a_type(FILE *, const char *, struct ECPGtype *, const char *, struct ECPGtype *, const char *, const char *, const long, const char *, const char *);
+void ECPGdump_a_type(FILE *, const char *, struct ECPGtype *,
+                               const char *, struct ECPGtype *, const char *,
+                               const char *, char *, const char *, const char *);
 
 /* A simple struct to keep a variable and its type. */
 struct ECPGtemp_type
@@ -57,7 +61,7 @@ struct ECPGtemp_type
        const char *name;
 };
 
-extern const char *ECPGtype_name(enum ECPGttype type);
+extern const char *ecpg_type_name(enum ECPGttype type);
 
 /* some stuff for whenever statements */
 enum WHEN_TYPE
@@ -80,17 +84,30 @@ struct when
 
 struct index
 {
-       int                     index1;
-       int                     index2;
+       char       *index1;
+       char       *index2;
        char       *str;
 };
 
+struct su_symbol
+{
+       char       *su;
+       char       *symbol;
+};
+
+struct prep
+{
+       char       *name;
+       char       *stmt;
+       char       *type;
+};
+
 struct this_type
 {
        enum ECPGttype type_enum;
        char       *type_str;
-       int                     type_dimension;
-       int                     type_index;
+       char       *type_dimension;
+       char       *type_index;
        char       *type_sizeof;
 };
 
@@ -105,6 +122,7 @@ struct cursor
        char       *name;
        char       *command;
        char       *connection;
+       bool            opened;
        struct arguments *argsinsert;
        struct arguments *argsresult;
        struct cursor *next;
@@ -115,6 +133,7 @@ struct typedefs
        char       *name;
        struct this_type *type;
        struct ECPGstruct_member *struct_member_list;
+       int                     brace_level;
        struct typedefs *next;
 };
 
@@ -123,6 +142,7 @@ struct _defines
        char       *old;
        char       *new;
        int                     pertinent;
+       void       *used;
        struct _defines *next;
 };
 
@@ -172,3 +192,5 @@ typedef struct ScanKeyword
        char       *name;
        int                     value;
 } ScanKeyword;
+
+#endif   /* _ECPG_PREPROC_TYPE_H */