PostgreSQL Source Code
git master
|
#include "ecpgtype.h"
Go to the source code of this file.
Data Structures | |
struct | ECPGstruct_member |
struct | ECPGtype |
struct | ECPGtemp_type |
struct | when |
struct | index |
struct | su_symbol |
struct | prep |
struct | exec |
struct | this_type |
struct | _include_path |
struct | cursor |
struct | declared_list |
struct | typedefs |
struct | _defines |
struct | variable |
struct | arguments |
struct | descriptor |
struct | assignment |
struct | fetch_desc |
struct | describe |
Enumerations | |
enum | WHEN_TYPE { W_NOTHING , W_CONTINUE , W_BREAK , W_SQLPRINT , W_GOTO , W_DO , W_STOP } |
enum | errortype { ET_WARNING , ET_ERROR } |
Functions | |
void | ECPGmake_struct_member (const char *name, struct ECPGtype *type, struct ECPGstruct_member **start) |
struct ECPGtype * | ECPGmake_simple_type (enum ECPGttype type, const char *size, int counter) |
struct ECPGtype * | ECPGmake_array_type (struct ECPGtype *type, const char *size) |
struct ECPGtype * | ECPGmake_struct_type (struct ECPGstruct_member *rm, enum ECPGttype type, char *type_name, char *struct_sizeof) |
struct ECPGstruct_member * | ECPGstruct_member_dup (struct ECPGstruct_member *rm) |
void | ECPGfree_struct_member (struct ECPGstruct_member *rm) |
void | ECPGfree_type (struct ECPGtype *type) |
void | ECPGdump_a_type (FILE *o, const char *name, struct ECPGtype *type, const int brace_level, const char *ind_name, struct ECPGtype *ind_type, const int ind_brace_level, const char *prefix, const char *ind_prefix, char *arr_str_size, const char *struct_sizeof, const char *ind_struct_sizeof) |
const char * | ecpg_type_name (enum ECPGttype type) |
enum WHEN_TYPE |
const char* ecpg_type_name | ( | enum ECPGttype | type | ) |
Definition at line 17 of file typename.c.
void ECPGdump_a_type | ( | FILE * | o, |
const char * | name, | ||
struct ECPGtype * | type, | ||
const int | brace_level, | ||
const char * | ind_name, | ||
struct ECPGtype * | ind_type, | ||
const int | ind_brace_level, | ||
const char * | prefix, | ||
const char * | ind_prefix, | ||
char * | arr_str_size, | ||
const char * | struct_sizeof, | ||
const char * | ind_struct_sizeof | ||
) |
Definition at line 217 of file type.c.
References base_yyerror(), variable::brace_level, ECPGdump_a_simple(), ECPGdump_a_struct(), ECPGt_array, ECPGt_char_variable, ECPGt_const, ECPGt_descriptor, ECPGt_NO_INDICATOR, ECPGt_sqlda, ECPGt_struct, ECPGt_union, ET_ERROR, ET_WARNING, find_variable(), free, variable::ind_type, INDICATOR_NOT_ARRAY, INDICATOR_NOT_SIMPLE, INDICATOR_NOT_STRUCT, indicator_set, IS_SIMPLE_TYPE, mm_strdup(), mmerror(), mmfatal(), name, PARSE_ERROR, str, type, and variable::type.
Referenced by dump_variables(), ECPGdump_a_struct(), output_get_descr(), and output_set_descr().
void ECPGfree_struct_member | ( | struct ECPGstruct_member * | rm | ) |
Definition at line 617 of file type.c.
References free, ECPGstruct_member::name, ECPGstruct_member::next, and ECPGstruct_member::type.
Referenced by ECPGfree_type(), and main().
void ECPGfree_type | ( | struct ECPGtype * | type | ) |
Definition at line 631 of file type.c.
References base_yyerror(), ECPGfree_struct_member(), ECPGt_array, ECPGt_struct, ECPGt_union, ET_ERROR, free, IS_SIMPLE_TYPE, mmerror(), PARSE_ERROR, and type.
Referenced by remove_variables().
Definition at line 87 of file type.c.
References ECPGmake_simple_type(), ECPGt_array, ECPGtype::element, size, type, and ECPGtype::u.
Referenced by ECPGstruct_member_dup(), find_struct_member(), and find_variable().
Definition at line 72 of file type.c.
References ECPGtype::counter, ECPGtype::element, mm_alloc(), mm_strdup(), size, ECPGtype::size, ECPGtype::struct_sizeof, type, ECPGtype::type, ECPGtype::type_name, and ECPGtype::u.
Referenced by ECPGmake_array_type(), ECPGmake_struct_type(), ECPGstruct_member_dup(), find_struct_member(), and find_variable().
void ECPGmake_struct_member | ( | const char * | name, |
struct ECPGtype * | type, | ||
struct ECPGstruct_member ** | start | ||
) |
Definition at line 53 of file type.c.
References mm_alloc(), mm_strdup(), name, ECPGstruct_member::name, ECPGstruct_member::next, start, type, and ECPGstruct_member::type.
Referenced by ECPGstruct_member_dup().
struct ECPGtype* ECPGmake_struct_type | ( | struct ECPGstruct_member * | rm, |
enum ECPGttype | type, | ||
char * | type_name, | ||
char * | struct_sizeof | ||
) |
Definition at line 97 of file type.c.
References ECPGmake_simple_type(), ECPGstruct_member_dup(), ECPGtype::members, mm_strdup(), ECPGtype::struct_sizeof, type, ECPGtype::type_name, and ECPGtype::u.
Referenced by ECPGstruct_member_dup(), find_struct_member(), and find_variable().
struct ECPGstruct_member* ECPGstruct_member_dup | ( | struct ECPGstruct_member * | rm | ) |
Definition at line 13 of file type.c.
References ECPGtype::counter, ECPGmake_array_type(), ECPGmake_simple_type(), ECPGmake_struct_member(), ECPGmake_struct_type(), ECPGt_array, ECPGt_struct, ECPGt_union, ECPGtype::element, ECPGtype::members, ECPGstruct_member::name, ECPGstruct_member::next, ECPGtype::size, ECPGtype::struct_sizeof, type, ECPGstruct_member::type, ECPGtype::type, ECPGtype::type_name, and ECPGtype::u.
Referenced by ECPGmake_struct_type().