diff options
Diffstat (limited to 'src/asm.h')
| -rw-r--r-- | src/asm.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/asm.h b/src/asm.h new file mode 100644 index 0000000..72d5041 --- /dev/null +++ b/src/asm.h @@ -0,0 +1,39 @@ +/* + * Copyright © Michael Smith <mikesmiffy128@gmail.com> + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef INC_ASM_H +#define INC_ASM_H + +/* + * 32-bit Windows-specific symbol mangling for global definitions. Note: does + * not apply to stdcall things; which have additional decorations. + */ +#if defined(_WIN32) && !defined(_WIN64) +#define ASM_MANGLE(x) _##x +#define ASM_MANGLE_STR(x) "_" x +#else +#define ASM_MANGLE(x) x +#define ASM_MANGLE_STR(x) x +#endif + +/* Special section definition for hook trampolines, self-modifying code, etc. */ +#define ASM_RWX_SECTION rwx +#define ASM_RWX_SECTION_STR "rwx" +#define ASM_RWX_SECTION_FLAGS "bwx" + +#endif + +// vi: sw=4 ts=4 noet tw=80 cc=80 |
