|  | /* | 
|  | genidl - Generate interface defintion language listing from a | 
|  | Portable Executable. | 
|  | Copyright (C) 2009-2016  mingw-w64 project | 
|  |  | 
|  | This program is free software: you can redistribute it and/or modify | 
|  | it under the terms of the GNU General Public License as published by | 
|  | the Free Software Foundation, either version 3 of the License, or | 
|  | (at your option) any later version. | 
|  |  | 
|  | This program is distributed in the hope that it will be useful, | 
|  | but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | GNU General Public License for more details. | 
|  |  | 
|  | You should have received a copy of the GNU General Public License | 
|  | along with this program.  If not, see <http://www.gnu.org/licenses/>. | 
|  | */ | 
|  |  | 
|  | #ifndef _GENIDL_H | 
|  | #define _GENIDL_H | 
|  |  | 
|  | #ifdef _WIN32 | 
|  | #include <windows.h> | 
|  | #endif | 
|  | #include <stdio.h> | 
|  | #include <stdlib.h> | 
|  | #include <string.h> | 
|  | #include <malloc.h> | 
|  | #include <memory.h> | 
|  | #include <stdarg.h> | 
|  | #include <stdint.h> | 
|  |  | 
|  | #if 0 | 
|  | typedef unsigned long long uint64_t; | 
|  | typedef signed long long int64_t; | 
|  | typedef unsigned int uint32_t; | 
|  | typedef signed int int32_t; | 
|  | typedef unsigned short uint16_t; | 
|  | typedef signed short int16_t; | 
|  | #endif | 
|  |  | 
|  | typedef struct sCfgAlias { | 
|  | struct sCfgAlias *next; | 
|  | char name[1]; | 
|  | } sCfgAlias; | 
|  |  | 
|  | typedef struct sCfgItem { | 
|  | struct sCfgItem *next; | 
|  | char *type; | 
|  | char name[1]; | 
|  | } sCfgItem; | 
|  |  | 
|  | typedef struct sCfgLib { | 
|  | struct sCfgLib *next; | 
|  | sCfgAlias *alias; | 
|  | sCfgItem *item; | 
|  | char name[1]; | 
|  | } sCfgLib; | 
|  |  | 
|  | int genidl_read_config (const char *fname); | 
|  | int genidl_save_config_fp (FILE *fp); | 
|  | int genidl_save_config (const char *fname); | 
|  | int genidl_ismodified_config (void); | 
|  |  | 
|  | int genidl_add_lib (const char *lib); | 
|  | int genidl_add_lib_alias (const char *lib, const char *alias); | 
|  | int genidl_add_lib_item (const char *lib, const char *name, const char *typ); | 
|  | int genidl_del_lib_item (const char *lib); | 
|  | const char *genidl_find_type (const char *lib, const char *name); | 
|  |  | 
|  | char *genidl_strlwr (char *s); | 
|  |  | 
|  | #endif |