gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / binutils / windres.h
index 52b53ca9e7585f96c97bfd7b836bd4875ba7b03a..798cd5a19af4255f6bf18fda93297cd410c2b340 100644 (file)
@@ -1,12 +1,13 @@
 /* windres.h -- header file for windres program.
-   Copyright 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1997-2020 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
+   Rewritten by Kai Tietz, Onevision.
 
    This file is part of GNU Binutils.
 
    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 2 of the License, or
+   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,
@@ -16,8 +17,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+   02110-1301, USA.  */
 
 #include "ansidecl.h"
 
    structures and declares functions used within the program.  */
 
 #include "winduni.h"
-
-/* We represent resources internally as a tree, similar to the tree
-   used in the .rsrc section of a COFF file.  The root is a
-   res_directory structure.  */
-
-struct res_directory
-{
-  /* Resource flags.  According to the MS docs, this is currently
-     always zero.  */
-  unsigned long characteristics;
-  /* Time/date stamp.  */
-  unsigned long time;
-  /* Major version number.  */
-  unsigned short major;
-  /* Minor version number.  */
-  unsigned short minor;
-  /* Directory entries.  */
-  struct res_entry *entries;
-};
-
-/* A resource ID is stored in a res_id structure.  */
-
-struct res_id
-{
-  /* Non-zero if this entry has a name rather than an ID.  */
-  unsigned int named : 1;
-  union
-  {
-    /* If the named field is non-zero, this is the name.  */
-    struct
-    {
-      /* Length of the name.  */
-      int length;
-      /* Pointer to the name, which is a Unicode string.  */
-      unichar *name;
-    } n;
-    /* If the named field is zero, this is the ID.  */
-    unsigned long id;
-  } u;
-};
-
-/* Each entry in the tree is a res_entry structure.  We mix
-   directories and resources because in a COFF file all entries in a
-   directory are sorted together, whether the entries are
-   subdirectories or resources.  */
-
-struct res_entry
-{
-  /* Next entry.  */
-  struct res_entry *next;
-  /* Resource ID.  */
-  struct res_id id;
-  /* Non-zero if this entry is a subdirectory rather than a leaf.  */
-  unsigned int subdir : 1;
-  union
-  {
-    /* If the subdir field is non-zero, this is a pointer to the
-       subdirectory.  */
-    struct res_directory *dir;
-    /* If the subdir field is zero, this is a pointer to the resource
-       data.  */
-    struct res_resource *res;
-  } u;
-};
-
-/* Types of resources.  */
-
-enum res_type
-{
-  RES_TYPE_UNINITIALIZED,
-  RES_TYPE_ACCELERATOR,
-  RES_TYPE_BITMAP,
-  RES_TYPE_CURSOR,
-  RES_TYPE_GROUP_CURSOR,
-  RES_TYPE_DIALOG,
-  RES_TYPE_FONT,
-  RES_TYPE_FONTDIR,
-  RES_TYPE_ICON,
-  RES_TYPE_GROUP_ICON,
-  RES_TYPE_MENU,
-  RES_TYPE_MESSAGETABLE,
-  RES_TYPE_RCDATA,
-  RES_TYPE_STRINGTABLE,
-  RES_TYPE_USERDATA,
-  RES_TYPE_VERSIONINFO
-};
-
-/* A res file and a COFF file store information differently.  The
-   res_info structures holds data which in a res file is stored with
-   each resource, but in a COFF file is stored elsewhere.  */
-
-struct res_res_info
-{
-  /* Language.  In a COFF file, the third level of the directory is
-     keyed by the language, so the language of a resource is defined
-     by its location in the resource tree.  */
-  unsigned short language;
-  /* Characteristics of the resource.  Entirely user defined.  In a
-     COFF file, the res_directory structure has a characteristics
-     field, but I don't know if it's related to the one in the res
-     file.  */
-  unsigned long characteristics;
-  /* Version of the resource.  Entirely user defined.  In a COFF file,
-     the res_directory structure has a characteristics field, but I
-     don't know if it's related to the one in the res file.  */
-  unsigned long version;
-  /* Memory flags.  This is a combination of the MEMFLAG values
-     defined below.  Most of these values are historical, and are not
-     meaningful for win32.  I don't think there is any way to store
-     this information in a COFF file.  */
-  unsigned short memflags;
-};
-
-/* Each resource in a COFF file has some information which can does
-   not appear in a res file.  */
-
-struct res_coff_info
-{
-  /* The code page used for the data.  I don't really know what this
-     should be.  */
-  unsigned long codepage;
-  /* A resource entry in a COFF file has a reserved field, which we
-     record here when reading a COFF file.  When writing a COFF file,
-     we set this field to zero.  */
-  unsigned long reserved;
-};
-
-/* Resource data is stored in a res_resource structure.  */
-
-struct res_resource
-{
-  /* The type of resource.  */
-  enum res_type type;
-  /* The data for the resource.  */
-  union
-  {
-    struct
-    {
-      unsigned long length;
-      const unsigned char *data;
-    } data;
-    struct accelerator *acc;
-    struct cursor *cursor;
-    struct group_cursor *group_cursor;
-    struct dialog *dialog;
-    struct fontdir *fontdir;
-    struct group_icon *group_icon;
-    struct menu *menu;
-    struct rcdata_item *rcdata;
-    struct stringtable *stringtable;
-    struct rcdata_item *userdata;
-    struct versioninfo *versioninfo;
-  } u;
-  /* Information from a res file.  */
-  struct res_res_info res_info;
-  /* Information from a COFF file.  */
-  struct res_coff_info coff_info;
-};
-
-#define SUBLANG_SHIFT 10
-
-/* Memory flags in the memflags field of a struct res_resource.  */
-
-#define MEMFLAG_MOVEABLE       0x10
-#define MEMFLAG_PURE           0x20
-#define MEMFLAG_PRELOAD                0x40
-#define MEMFLAG_DISCARDABLE    0x1000
-
-/* Standard resource type codes.  These are used in the ID field of a
-   res_entry structure.  */
-
-#define RT_CURSOR               1
-#define RT_BITMAP               2
-#define RT_ICON                         3
-#define RT_MENU                         4
-#define RT_DIALOG               5
-#define RT_STRING               6
-#define RT_FONTDIR              7
-#define RT_FONT                         8
-#define RT_ACCELERATOR          9
-#define RT_RCDATA              10
-#define RT_MESSAGETABLE                11
-#define RT_GROUP_CURSOR                12
-#define RT_GROUP_ICON          14
-#define RT_VERSION             16
-#define RT_DLGINCLUDE          17
-#define RT_PLUGPLAY            19
-#define RT_VXD                 20
-#define RT_ANICURSOR           21
-#define RT_ANIICON             22
-
-/* An accelerator resource is a linked list of these structures.  */
-
-struct accelerator
-{
-  /* Next accelerator.  */
-  struct accelerator *next;
-  /* Flags.  A combination of the ACC values defined below.  */
-  unsigned short flags;
-  /* Key value.  */
-  unsigned short key;
-  /* Resource ID.  */
-  unsigned short id;
-};
-
-/* Accelerator flags in the flags field of a struct accelerator.
-   These are the same values that appear in a res file.  I hope.  */
-
-#define ACC_VIRTKEY    0x01
-#define ACC_NOINVERT   0x02
-#define ACC_SHIFT      0x04
-#define ACC_CONTROL    0x08
-#define ACC_ALT                0x10
-#define ACC_LAST       0x80
-
-/* A cursor resource.  */
-
-struct cursor
-{
-  /* X coordinate of hotspot.  */
-  short xhotspot;
-  /* Y coordinate of hotspot.  */
-  short yhotspot;
-  /* Length of bitmap data.  */
-  unsigned long length;
-  /* Data.  */
-  const unsigned char *data;
-};
-
-/* A group_cursor resource is a list of group_cursor structures.  */
-
-struct group_cursor
-{
-  /* Next cursor in group.  */
-  struct group_cursor *next;
-  /* Width.  */
-  unsigned short width;
-  /* Height.  */
-  unsigned short height;
-  /* Planes.  */
-  unsigned short planes;
-  /* Bits per pixel.  */
-  unsigned short bits;
-  /* Number of bytes in cursor resource.  */
-  unsigned long bytes;
-  /* Index of cursor resource.  */
-  unsigned short index;
-};
-
-/* A dialog resource.  */
-
-struct dialog
-{
-  /* Basic window style.  */
-  unsigned long style;
-  /* Extended window style.  */
-  unsigned long exstyle;
-  /* X coordinate.  */
-  unsigned short x;
-  /* Y coordinate.  */
-  unsigned short y;
-  /* Width.  */
-  unsigned short width;
-  /* Height.  */
-  unsigned short height;
-  /* Menu name.  */
-  struct res_id menu;
-  /* Class name.  */
-  struct res_id class;
-  /* Caption.  */
-  unichar *caption;
-  /* Font point size.  */
-  unsigned short pointsize;
-  /* Font name.  */
-  unichar *font;
-  /* Extended information for a dialogex.  */
-  struct dialog_ex *ex;
-  /* Controls.  */
-  struct dialog_control *controls;
-};
-
-/* An extended dialog has additional information.  */
-
-struct dialog_ex
-{
-  /* Help ID.  */
-  unsigned long help;
-  /* Font weight.  */
-  unsigned short weight;
-  /* Whether the font is italic.  */
-  unsigned char italic;
-  /* Character set.  */
-  unsigned char charset;
-};
-
-/* Window style flags, from the winsup Defines.h header file.  These
-   can appear in the style field of a struct dialog or a struct
-   dialog_control.  */
-
-#define CW_USEDEFAULT  (0x80000000)
-#define WS_BORDER      (0x800000L)
-#define WS_CAPTION     (0xc00000L)
-#define WS_CHILD       (0x40000000L)
-#define WS_CHILDWINDOW (0x40000000L)
-#define WS_CLIPCHILDREN        (0x2000000L)
-#define WS_CLIPSIBLINGS        (0x4000000L)
-#define WS_DISABLED    (0x8000000L)
-#define WS_DLGFRAME    (0x400000L)
-#define WS_GROUP       (0x20000L)
-#define WS_HSCROLL     (0x100000L)
-#define WS_ICONIC      (0x20000000L)
-#define WS_MAXIMIZE    (0x1000000L)
-#define WS_MAXIMIZEBOX (0x10000L)
-#define WS_MINIMIZE    (0x20000000L)
-#define WS_MINIMIZEBOX (0x20000L)
-#define WS_OVERLAPPED  (0L)
-#define WS_OVERLAPPEDWINDOW    (0xcf0000L)
-#define WS_POPUP       (0x80000000L)
-#define WS_POPUPWINDOW (0x80880000L)
-#define WS_SIZEBOX     (0x40000L)
-#define WS_SYSMENU     (0x80000L)
-#define WS_TABSTOP     (0x10000L)
-#define WS_THICKFRAME  (0x40000L)
-#define WS_TILED       (0L)
-#define WS_TILEDWINDOW (0xcf0000L)
-#define WS_VISIBLE     (0x10000000L)
-#define WS_VSCROLL     (0x200000L)
-#define MDIS_ALLCHILDSTYLES    (0x1)
-#define BS_3STATE      (0x5L)
-#define BS_AUTO3STATE  (0x6L)
-#define BS_AUTOCHECKBOX        (0x3L)
-#define BS_AUTORADIOBUTTON     (0x9L)
-#define BS_BITMAP      (0x80L)
-#define BS_BOTTOM      (0x800L)
-#define BS_CENTER      (0x300L)
-#define BS_CHECKBOX    (0x2L)
-#define BS_DEFPUSHBUTTON       (0x1L)
-#define BS_GROUPBOX    (0x7L)
-#define BS_ICON        (0x40L)
-#define BS_LEFT        (0x100L)
-#define BS_LEFTTEXT    (0x20L)
-#define BS_MULTILINE   (0x2000L)
-#define BS_NOTIFY      (0x4000L)
-#define BS_OWNERDRAW   (0xbL)
-#define BS_PUSHBOX     (0xcL)          /* FIXME!  What should this be?  */
-#define BS_PUSHBUTTON  (0L)
-#define BS_PUSHLIKE    (0x1000L)
-#define BS_RADIOBUTTON (0x4L)
-#define BS_RIGHT       (0x200L)
-#define BS_RIGHTBUTTON (0x20L)
-#define BS_TEXT        (0L)
-#define BS_TOP (0x400L)
-#define BS_USERBUTTON  (0x8L)
-#define BS_VCENTER     (0xc00L)
-#define CBS_AUTOHSCROLL        (0x40L)
-#define CBS_DISABLENOSCROLL    (0x800L)
-#define CBS_DROPDOWN   (0x2L)
-#define CBS_DROPDOWNLIST       (0x3L)
-#define CBS_HASSTRINGS (0x200L)
-#define CBS_LOWERCASE  (0x4000L)
-#define CBS_NOINTEGRALHEIGHT   (0x400L)
-#define CBS_OEMCONVERT (0x80L)
-#define CBS_OWNERDRAWFIXED     (0x10L)
-#define CBS_OWNERDRAWVARIABLE  (0x20L)
-#define CBS_SIMPLE     (0x1L)
-#define CBS_SORT       (0x100L)
-#define CBS_UPPERCASE  (0x2000L)
-#define ES_AUTOHSCROLL (0x80L)
-#define ES_AUTOVSCROLL (0x40L)
-#define ES_CENTER      (0x1L)
-#define ES_LEFT        (0L)
-#define ES_LOWERCASE   (0x10L)
-#define ES_MULTILINE   (0x4L)
-#define ES_NOHIDESEL   (0x100L)
-#define ES_NUMBER      (0x2000L)
-#define ES_OEMCONVERT  (0x400L)
-#define ES_PASSWORD    (0x20L)
-#define ES_READONLY    (0x800L)
-#define ES_RIGHT       (0x2L)
-#define ES_UPPERCASE   (0x8L)
-#define ES_WANTRETURN  (0x1000L)
-#define LBS_DISABLENOSCROLL    (0x1000L)
-#define LBS_EXTENDEDSEL        (0x800L)
-#define LBS_HASSTRINGS (0x40L)
-#define LBS_MULTICOLUMN        (0x200L)
-#define LBS_MULTIPLESEL        (0x8L)
-#define LBS_NODATA     (0x2000L)
-#define LBS_NOINTEGRALHEIGHT   (0x100L)
-#define LBS_NOREDRAW   (0x4L)
-#define LBS_NOSEL      (0x4000L)
-#define LBS_NOTIFY     (0x1L)
-#define LBS_OWNERDRAWFIXED     (0x10L)
-#define LBS_OWNERDRAWVARIABLE  (0x20L)
-#define LBS_SORT       (0x2L)
-#define LBS_STANDARD   (0xa00003L)
-#define LBS_USETABSTOPS        (0x80L)
-#define LBS_WANTKEYBOARDINPUT  (0x400L)
-#define SBS_BOTTOMALIGN        (0x4L)
-#define SBS_HORZ       (0L)
-#define SBS_LEFTALIGN  (0x2L)
-#define SBS_RIGHTALIGN (0x4L)
-#define SBS_SIZEBOX    (0x8L)
-#define SBS_SIZEBOXBOTTOMRIGHTALIGN    (0x4L)
-#define SBS_SIZEBOXTOPLEFTALIGN        (0x2L)
-#define SBS_SIZEGRIP   (0x10L)
-#define SBS_TOPALIGN   (0x2L)
-#define SBS_VERT       (0x1L)
-#define SS_BITMAP      (0xeL)
-#define SS_BLACKFRAME  (0x7L)
-#define SS_BLACKRECT   (0x4L)
-#define SS_CENTER      (0x1L)
-#define SS_CENTERIMAGE (0x200L)
-#define SS_ENHMETAFILE (0xfL)
-#define SS_ETCHEDFRAME (0x12L)
-#define SS_ETCHEDHORZ  (0x10L)
-#define SS_ETCHEDVERT  (0x11L)
-#define SS_GRAYFRAME   (0x8L)
-#define SS_GRAYRECT    (0x5L)
-#define SS_ICON        (0x3L)
-#define SS_LEFT        (0L)
-#define SS_LEFTNOWORDWRAP      (0xcL)
-#define SS_NOPREFIX    (0x80L)
-#define SS_NOTIFY      (0x100L)
-#define SS_OWNERDRAW   (0xdL)
-#define SS_REALSIZEIMAGE       (0x800L)
-#define SS_RIGHT       (0x2L)
-#define SS_RIGHTJUST   (0x400L)
-#define SS_SIMPLE      (0xbL)
-#define SS_SUNKEN      (0x1000L)
-#define SS_USERITEM     (0xaL)
-#define SS_WHITEFRAME  (0x9L)
-#define SS_WHITERECT   (0x6L)
-#define DS_3DLOOK      (0x4L)
-#define DS_ABSALIGN    (0x1L)
-#define DS_CENTER      (0x800L)
-#define DS_CENTERMOUSE (0x1000L)
-#define DS_CONTEXTHELP (0x2000L)
-#define DS_CONTROL     (0x400L)
-#define DS_FIXEDSYS    (0x8L)
-#define DS_LOCALEDIT   (0x20L)
-#define DS_MODALFRAME  (0x80L)
-#define DS_NOFAILCREATE        (0x10L)
-#define DS_NOIDLEMSG   (0x100L)
-#define DS_SETFONT     (0x40L)
-#define DS_SETFOREGROUND       (0x200L)
-#define DS_SYSMODAL    (0x2L)
-
-/* A dialog control.  */
-
-struct dialog_control
-{
-  /* Next control.  */
-  struct dialog_control *next;
-  /* ID.  */
-  unsigned short id;
-  /* Style.  */
-  unsigned long style;
-  /* Extended style.  */
-  unsigned long exstyle;
-  /* X coordinate.  */
-  unsigned short x;
-  /* Y coordinate.  */
-  unsigned short y;
-  /* Width.  */
-  unsigned short width;
-  /* Height.  */
-  unsigned short height;
-  /* Class name.  */
-  struct res_id class;
-  /* Associated text.  */
-  struct res_id text;
-  /* Extra data for the window procedure.  */
-  struct rcdata_item *data;
-  /* Help ID.  Only used in an extended dialog.  */
-  unsigned long help;
-};
-
-/* Control classes.  These can be used as the ID field in a struct
-   dialog_control.  */
-
-#define CTL_BUTTON     0x80
-#define CTL_EDIT       0x81
-#define CTL_STATIC     0x82
-#define CTL_LISTBOX    0x83
-#define CTL_SCROLLBAR  0x84
-#define CTL_COMBOBOX   0x85
-
-/* A fontdir resource is a list of fontdir structures.  */
-
-struct fontdir
-{
-  struct fontdir *next;
-  /* Index of font entry.  */
-  short index;
-  /* Length of font information.  */
-  unsigned long length;
-  /* Font information.  */
-  const unsigned char *data;
-};
-
-/* A group_icon resource is a list of group_icon structures.  */
-
-struct group_icon
-{
-  /* Next icon in group.  */
-  struct group_icon *next;
-  /* Width.  */
-  unsigned char width;
-  /* Height.  */
-  unsigned char height;
-  /* Color count.  */
-  unsigned char colors;
-  /* Planes.  */
-  unsigned short planes;
-  /* Bits per pixel.  */
-  unsigned short bits;
-  /* Number of bytes in cursor resource.  */
-  unsigned long bytes;
-  /* Index of cursor resource.  */
-  unsigned short index;
-};
-
-/* A menu resource.  */
-
-struct menu
-{
-  /* List of menuitems.  */
-  struct menuitem *items;
-  /* Help ID.  I don't think there is any way to set this in an rc
-     file, but it can appear in the binary format.  */
-  unsigned long help;
-};
-
-/* A menu resource is a list of menuitem structures.  */
-
-struct menuitem
-{
-  /* Next menuitem.  */
-  struct menuitem *next;
-  /* Type.  In a normal menu, rather than a menuex, this is the flags
-     field.  */
-  unsigned long type;
-  /* State.  This is only used in a menuex.  */
-  unsigned long state;
-  /* Id.  */
-  unsigned short id;
-  /* Unicode text.  */
-  unichar *text;
-  /* Popup menu items for a popup.  */
-  struct menuitem *popup;
-  /* Help ID.  This is only used in a menuex.  */
-  unsigned long help;
-};
-
-/* Menu item flags.  These can appear in the flags field of a struct
-   menuitem.  */
-
-#define MENUITEM_GRAYED                0x001
-#define MENUITEM_INACTIVE      0x002
-#define MENUITEM_BITMAP                0x004
-#define MENUITEM_OWNERDRAW     0x100
-#define MENUITEM_CHECKED       0x008
-#define MENUITEM_POPUP         0x010
-#define MENUITEM_MENUBARBREAK  0x020
-#define MENUITEM_MENUBREAK     0x040
-#define MENUITEM_ENDMENU       0x080
-#define MENUITEM_HELP         0x4000
-
-/* An rcdata resource is a pointer to a list of rcdata_item
-   structures.  */
-
-struct rcdata_item
-{
-  /* Next data item.  */
-  struct rcdata_item *next;
-  /* Type of data.  */
-  enum
-  {
-    RCDATA_WORD,
-    RCDATA_DWORD,
-    RCDATA_STRING,
-    RCDATA_WSTRING,
-    RCDATA_BUFFER
-  } type;
-  union
-  {
-    unsigned int word;
-    unsigned long dword;
-    struct
-    {
-      unsigned long length;
-      const char *s;
-    } string;
-    struct
-    {
-      unsigned long length;
-      const unichar *w;
-    } wstring;
-    struct
-    {
-      unsigned long length;
-      const unsigned char *data;
-    } buffer;
-  } u;
-};
-
-/* A stringtable resource is a pointer to a stringtable structure.  */
-
-struct stringtable
-{
-  /* Each stringtable resource is a list of 16 unicode strings.  */
-  struct
-  {
-    /* Length of string.  */
-    int length;
-    /* String data if length > 0.  */
-    unichar *string;
-  } strings[16];
-};
-
-/* A versioninfo resource points to a versioninfo structure.  */
-
-struct versioninfo
-{
-  /* Fixed version information.  */
-  struct fixed_versioninfo *fixed;
-  /* Variable version information.  */
-  struct ver_info *var;
-};
-
-/* The fixed portion of a versioninfo resource.  */
-
-struct fixed_versioninfo
-{
-  /* The file version, which is two 32 bit integers.  */
-  unsigned long file_version_ms;
-  unsigned long file_version_ls;
-  /* The product version, which is two 32 bit integers.  */
-  unsigned long product_version_ms;
-  unsigned long product_version_ls;
-  /* The file flags mask.  */
-  unsigned long file_flags_mask;
-  /* The file flags.  */
-  unsigned long file_flags;
-  /* The OS type.  */
-  unsigned long file_os;
-  /* The file type.  */
-  unsigned long file_type;
-  /* The file subtype.  */
-  unsigned long file_subtype;
-  /* The date, which in Windows is two 32 bit integers.  */
-  unsigned long file_date_ms;
-  unsigned long file_date_ls;
-};
-
-/* A list of variable version information.  */
-
-struct ver_info
-{
-  /* Next item.  */
-  struct ver_info *next;
-  /* Type of data.  */
-  enum { VERINFO_STRING, VERINFO_VAR } type;
-  union
-  {
-    /* StringFileInfo data.  */
-    struct
-    {
-      /* Language.  */
-      unichar *language;
-      /* Strings.  */
-      struct ver_stringinfo *strings;
-    } string;
-    /* VarFileInfo data.  */
-    struct
-    {
-      /* Key.  */
-      unichar *key;
-      /* Values.  */
-      struct ver_varinfo *var;
-    } var;
-  } u;
-};
-
-/* A list of string version information.  */
-
-struct ver_stringinfo
-{
-  /* Next string.  */
-  struct ver_stringinfo *next;
-  /* Key.  */
-  unichar *key;
-  /* Value.  */
-  unichar *value;
-};
-
-/* A list of variable version information.  */
-
-struct ver_varinfo
-{
-  /* Next item.  */
-  struct ver_varinfo *next;
-  /* Language ID.  */
-  unsigned short language;
-  /* Character set ID.  */
-  unsigned short charset;
-};
-
-/* This structure is used when converting resource information to
-   binary.  */
-
-struct bindata
-{
-  /* Next data.  */
-  struct bindata *next;
-  /* Length of data.  */
-  unsigned long length;
-  /* Data.  */
-  unsigned char *data;
-};
+#include "windint.h"
 
 extern int verbose;
 
 /* Function declarations.  */
 
-extern struct res_directory *read_rc_file
-  PARAMS ((const char *, const char *, const char *, int, int));
-extern struct res_directory *read_res_file PARAMS ((const char *));
-extern struct res_directory *read_coff_rsrc
-  PARAMS ((const char *, const char *));
-extern void write_rc_file
-  PARAMS ((const char *, const struct res_directory *));
-extern void write_res_file
-  PARAMS ((const char *, const struct res_directory *));
-extern void write_coff_file
-  PARAMS ((const char *, const char *, const struct res_directory *));
+extern rc_res_directory *read_rc_file (const char *, const char *, const char *, int, int);
+extern rc_res_directory *read_res_file (const char *);
+extern rc_res_directory *read_coff_rsrc (const char *, const char *);
+extern void write_rc_file (const char *, const rc_res_directory *);
+extern void write_res_file (const char *, const rc_res_directory *);
+extern void write_coff_file (const char *, const char *, const rc_res_directory *);
 
-extern struct res_resource *bin_to_res
-  PARAMS ((struct res_id, const unsigned char *, unsigned long, int));
-extern struct bindata *res_to_bin PARAMS ((const struct res_resource *, int));
+extern rc_res_resource *bin_to_res (windres_bfd *, rc_res_id, const bfd_byte *,
+                                   rc_uint_type);
+extern rc_uint_type res_to_bin (windres_bfd *, rc_uint_type, const rc_res_resource *);
 
-extern FILE *open_file_search
-  PARAMS ((const char *, const char *, const char *, char **));
+extern FILE *open_file_search (const char *, const char *, const char *, char **);
 
-extern PTR res_alloc PARAMS ((size_t));
-extern PTR reswr_alloc PARAMS ((size_t));
+extern void *res_alloc (rc_uint_type);
+extern void *reswr_alloc (rc_uint_type);
 
 /* Resource ID handling.  */
 
-extern int res_id_cmp PARAMS ((struct res_id, struct res_id));
-extern void res_id_print PARAMS ((FILE *, struct res_id, int));
-extern void res_ids_print PARAMS ((FILE *, int, const struct res_id *));
-extern void res_string_to_id PARAMS ((struct res_id *, const char *));
+extern int res_id_cmp (rc_res_id, rc_res_id);
+extern void res_id_print (FILE *, rc_res_id, int);
+extern void res_ids_print (FILE *, int, const rc_res_id *);
+extern void res_string_to_id (rc_res_id *, const char *);
+extern void res_unistring_to_id (rc_res_id *, const unichar *);
 
 /* Manipulation of the resource tree.  */
 
-extern struct res_resource *define_resource
-  PARAMS ((struct res_directory **, int, const struct res_id *, int));
-extern struct res_resource *define_standard_resource
-  PARAMS ((struct res_directory **, int, struct res_id, int, int));
+extern rc_res_resource *define_resource (rc_res_directory **, int, const rc_res_id *,
+                                        int);
+extern rc_res_resource *define_standard_resource (rc_res_directory **, int, rc_res_id,
+                                                 rc_uint_type, int);
 
-extern int extended_dialog PARAMS ((const struct dialog *));
-extern int extended_menu PARAMS ((const struct menu *));
+extern int extended_dialog (const rc_dialog *);
+extern int extended_menu (const rc_menu *);
 
 /* Communication between the rc file support and the parser and lexer.  */
 
 extern int yydebug;
-extern FILE *yyin;
 extern char *rc_filename;
 extern int rc_lineno;
 
-extern int yyparse PARAMS ((void));
-extern int yylex PARAMS ((void));
-extern void yyerror PARAMS ((const char *));
-extern void rcparse_warning PARAMS ((const char *));
-extern void rcparse_set_language PARAMS ((int));
-extern void rcparse_discard_strings PARAMS ((void));
-extern void rcparse_rcdata PARAMS ((void));
-extern void rcparse_normal PARAMS ((void));
-
-extern void define_accelerator
-  PARAMS ((struct res_id, const struct res_res_info *, struct accelerator *));
-extern void define_bitmap
-  PARAMS ((struct res_id, const struct res_res_info *, const char *));
-extern void define_cursor
-  PARAMS ((struct res_id, const struct res_res_info *, const char *));
-extern void define_dialog
-  PARAMS ((struct res_id, const struct res_res_info *, const struct dialog *));
-extern struct dialog_control *define_control
-  PARAMS ((const struct res_id, unsigned long, unsigned long, unsigned long,
-          unsigned long, unsigned long, unsigned long, unsigned long,
-          unsigned long));
-extern struct dialog_control *define_icon_control
-  PARAMS ((struct res_id, unsigned long, unsigned long,
-          unsigned long, unsigned long, unsigned long, unsigned long,
-          struct rcdata_item *, struct dialog_ex *));
-extern void define_font
-  PARAMS ((struct res_id, const struct res_res_info *, const char *));
-extern void define_icon
-  PARAMS ((struct res_id, const struct res_res_info *, const char *));
-extern void define_menu
-  PARAMS ((struct res_id, const struct res_res_info *, struct menuitem *));
-extern struct menuitem *define_menuitem
-  PARAMS ((const char *, int, unsigned long, unsigned long, unsigned long,
-          struct menuitem *));
-extern void define_messagetable
-  PARAMS ((struct res_id, const struct res_res_info *, const char *));
-extern void define_rcdata
-  PARAMS ((struct res_id, const struct res_res_info *, struct rcdata_item *));
-extern struct rcdata_item *define_rcdata_string
-  PARAMS ((const char *, unsigned long));
-extern struct rcdata_item *define_rcdata_number
-  PARAMS ((unsigned long, int));
-extern void define_stringtable
-  PARAMS ((const struct res_res_info *, unsigned long, const char *));
-extern void define_user_data
-  PARAMS ((struct res_id, struct res_id, const struct res_res_info *,
-          struct rcdata_item *));
-extern void define_user_file
-  PARAMS ((struct res_id, struct res_id, const struct res_res_info *,
-          const char *));
-extern void define_versioninfo
-  PARAMS ((struct res_id, int, struct fixed_versioninfo *,
-          struct ver_info *));
-extern struct ver_info *append_ver_stringfileinfo
-  PARAMS ((struct ver_info *, const char *, struct ver_stringinfo *));
-extern struct ver_info *append_ver_varfileinfo
-  PARAMS ((struct ver_info *, const char *, struct ver_varinfo *));
-extern struct ver_stringinfo *append_verval
-  PARAMS ((struct ver_stringinfo *, const char *, const char *));
-extern struct ver_varinfo *append_vertrans
-  PARAMS ((struct ver_varinfo *, unsigned long, unsigned long));
+extern int yyparse (void);
+extern int yylex (void);
+extern void yyerror (const char *);
+extern void rcparse_warning (const char *);
+extern void rcparse_set_language (int);
+extern void rcparse_discard_strings (void);
+extern void rcparse_rcdata (void);
+extern void rcparse_normal (void);
+
+extern void define_accelerator (rc_res_id, const rc_res_res_info *, rc_accelerator *);
+extern void define_bitmap (rc_res_id, const rc_res_res_info *, const char *);
+extern void define_cursor (rc_res_id, const rc_res_res_info *, const char *);
+extern void define_dialog (rc_res_id, const rc_res_res_info *, const rc_dialog *);
+extern rc_dialog_control *define_control (const rc_res_id, rc_uint_type, rc_uint_type,
+                                         rc_uint_type, rc_uint_type, rc_uint_type,
+                                         const rc_res_id, rc_uint_type, rc_uint_type);
+extern rc_dialog_control *define_icon_control (rc_res_id, rc_uint_type, rc_uint_type,
+                                              rc_uint_type, rc_uint_type, rc_uint_type,
+                                              rc_uint_type, rc_rcdata_item *,
+                                              rc_dialog_ex *);
+extern void define_font (rc_res_id, const rc_res_res_info *, const char *);
+extern void define_icon (rc_res_id, const rc_res_res_info *, const char *);
+extern void define_menu (rc_res_id, const rc_res_res_info *, rc_menuitem *);
+extern rc_menuitem *define_menuitem (const unichar *, rc_uint_type, rc_uint_type,
+                                    rc_uint_type, rc_uint_type, rc_menuitem *);
+extern void define_messagetable (rc_res_id, const rc_res_res_info *, const char *);
+extern void define_rcdata (rc_res_id, const rc_res_res_info *, rc_rcdata_item *);
+extern void define_rcdata_file  (rc_res_id, const rc_res_res_info *, const char *);
+extern rc_rcdata_item *define_rcdata_string (const char *, rc_uint_type);
+extern rc_rcdata_item *define_rcdata_unistring (const unichar *, rc_uint_type);
+extern rc_rcdata_item *define_rcdata_number (rc_uint_type, int);
+extern void define_stringtable (const rc_res_res_info *, rc_uint_type, const unichar *, int);
+extern void define_user_data (rc_res_id, rc_res_id, const rc_res_res_info *, rc_rcdata_item *);
+extern void define_toolbar (rc_res_id, rc_res_res_info *, rc_uint_type ,rc_uint_type ,rc_toolbar_item *);
+extern void define_user_file (rc_res_id, rc_res_id, const rc_res_res_info *, const char *);
+extern void define_versioninfo (rc_res_id, rc_uint_type, rc_fixed_versioninfo *, rc_ver_info *);
+extern rc_ver_info *append_ver_stringfileinfo (rc_ver_info *, rc_ver_stringtable *);
+extern rc_ver_stringtable *append_ver_stringtable (rc_ver_stringtable *, const char *, rc_ver_stringinfo *);
+extern rc_ver_info *append_ver_varfileinfo (rc_ver_info *, const unichar *, rc_ver_varinfo *);
+extern rc_ver_stringinfo *append_verval (rc_ver_stringinfo *, const unichar *, const unichar *);
+extern rc_ver_varinfo *append_vertrans (rc_ver_varinfo *, rc_uint_type, rc_uint_type);
+
+extern bfd *windres_open_as_binary (const char *, int);
+extern void windres_add_include_dir (const char *);
+
+extern int wr_printcomment (FILE *, const char *, ...);
+extern int wr_print (FILE *, const char *, ...);
+#define wr_print_flush(FP)  wr_print ((FP),NULL)
This page took 0.032298 seconds and 4 git commands to generate.