| /* |
| genstubdll - Generate stub-library acting like an import-library |
| using .def file syntax. |
| Copyright (C) 2014-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/>. |
| */ |
| |
| #define TK_EQUALEQUAL 256 |
| #define TK_EQUAL '=' |
| #define TK_AT '@' |
| #define TK_COLON ',' |
| #define TK_DOT '.' |
| #define TK_NL '\n' |
| #define TK_STRING 257 |
| #define TK_DIGIT 258 |
| #define TK_UNKNOWN 259 |
| #define TK_NAME 260 |
| #define TK_LIBRARY 261 |
| #define TK_EXPORTS 262 |
| |
| #define TK_DATA 0x200 |
| |
| typedef struct sSymbol { |
| struct sSymbol *next; |
| const char *sym; |
| const char *libsym; |
| const char *alias; |
| int is_data; |
| struct sSymbol *subs; |
| } sSymbol; |
| |
| extern sSymbol *t_sym; |
| extern const char *cur_libname; |
| |
| const char *unifyStr (const char *); |
| const char *unifyCat (const char *, const char *); |
| |
| void addSymbol (const char *sym, const char *libsym, const char *alias, int is_data); |
| void sortSymbols (void); |
| void dumpSymbols (void); |
| void outputSyms (void); |