blob: f52c133b39ed477fc91cc7331088219e67836e75 [file] [log] [blame]
Peter Johnson08fc5442003-06-02 00:23:33 +00001/**
2 * \file libyasm.h
3 * \brief YASM library primary header file.
4 *
Peter Johnson3de47f72003-06-28 17:38:08 +00005 * \license
Peter Johnson469e54f2007-04-22 05:09:49 +00006 * Copyright (C) 2003-2007 Peter Johnson
Peter Johnson0786a762003-03-15 05:07:49 +00007 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
Peter Johnson08fc5442003-06-02 00:23:33 +000011 * - Redistributions of source code must retain the above copyright
Peter Johnson0786a762003-03-15 05:07:49 +000012 * notice, this list of conditions and the following disclaimer.
Peter Johnson08fc5442003-06-02 00:23:33 +000013 * - Redistributions in binary form must reproduce the above copyright
Peter Johnson0786a762003-03-15 05:07:49 +000014 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER CONTRIBUTORS ``AS IS''
18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE
21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 * POSSIBILITY OF SUCH DAMAGE.
Peter Johnson3de47f72003-06-28 17:38:08 +000028 * \endlicense
Peter Johnson0786a762003-03-15 05:07:49 +000029 */
Peter Johnson08fc5442003-06-02 00:23:33 +000030#ifndef YASM_LIB_H
31#define YASM_LIB_H
Peter Johnson0786a762003-03-15 05:07:49 +000032
Peter Johnson0c344702007-01-29 03:32:37 +000033#ifdef YASM_PYXELATOR
34typedef struct __FILE FILE;
35typedef struct __va_list va_list;
36typedef unsigned long size_t;
Peter Johnson8aa68a22007-02-18 20:42:55 +000037typedef unsigned long uintptr_t;
Peter Johnson0c344702007-01-29 03:32:37 +000038#else
Peter Johnsoncfc6bf02003-05-05 03:42:12 +000039#include <stdio.h>
40#include <stdarg.h>
Peter Johnson8aa68a22007-02-18 20:42:55 +000041#include <libyasm-stdint.h>
Peter Johnson0c344702007-01-29 03:32:37 +000042#endif
Peter Johnsoncfc6bf02003-05-05 03:42:12 +000043
Peter Johnsonab13bd72007-07-14 03:11:32 +000044#include <libyasm/compat-queue.h>
Peter Johnsoncfc6bf02003-05-05 03:42:12 +000045
46#include <libyasm/coretype.h>
47#include <libyasm/valparam.h>
48
Peter Johnson26c808a2006-11-26 21:02:59 +000049#include <libyasm/linemap.h>
Peter Johnson0786a762003-03-15 05:07:49 +000050
Peter Johnsonddc08a62003-03-26 05:07:57 +000051#include <libyasm/errwarn.h>
52#include <libyasm/intnum.h>
53#include <libyasm/floatnum.h>
54#include <libyasm/expr.h>
Peter Johnson9fa87cd2006-03-19 04:18:10 +000055#include <libyasm/value.h>
Peter Johnsonddc08a62003-03-26 05:07:57 +000056#include <libyasm/symrec.h>
Peter Johnson0786a762003-03-15 05:07:49 +000057
Peter Johnsonddc08a62003-03-26 05:07:57 +000058#include <libyasm/bytecode.h>
59#include <libyasm/section.h>
Peter Johnsonfb8b8b82007-07-08 05:31:59 +000060#include <libyasm/insn.h>
Peter Johnson0786a762003-03-15 05:07:49 +000061
Peter Johnsonddc08a62003-03-26 05:07:57 +000062#include <libyasm/arch.h>
63#include <libyasm/dbgfmt.h>
64#include <libyasm/objfmt.h>
Peter Johnson2d0119c2004-10-02 06:18:30 +000065#include <libyasm/listfmt.h>
Peter Johnsonddc08a62003-03-26 05:07:57 +000066#include <libyasm/parser.h>
67#include <libyasm/preproc.h>
Peter Johnson0786a762003-03-15 05:07:49 +000068
Peter Johnson22d86be2003-03-30 21:27:25 +000069#include <libyasm/file.h>
Peter Johnson882738b2004-12-01 07:49:18 +000070#include <libyasm/module.h>
Peter Johnson22d86be2003-03-30 21:27:25 +000071
Peter Johnsonddc08a62003-03-26 05:07:57 +000072#include <libyasm/hamt.h>
Peter Johnson93660bd2006-03-27 02:15:19 +000073#include <libyasm/md5.h>
Peter Johnson0786a762003-03-15 05:07:49 +000074
75#endif