#ifndef STATE_VG_XML
#define STATE_VG_XML

/* Autogenerated file, DO NOT EDIT manually!

This file was generated by the rules-ng-ng headergen tool in this git repository:
http://0x04.net/cgit/index.cgi/rules-ng-ng
git clone git://0x04.net/rules-ng-ng

The rules-ng-ng source files this header was generated from are:
- state.xml     (  19487 bytes, from 2016-11-05 06:17:49)
- common.xml    (  23272 bytes, from 2016-10-29 14:18:57)
- state_hi.xml  (  25653 bytes, from 2016-10-29 07:29:22)
- copyright.xml (   1597 bytes, from 2016-10-29 07:29:22)
- state_2d.xml  (  51552 bytes, from 2016-10-29 07:29:22)
- state_3d.xml  (  55854 bytes, from 2016-11-05 06:17:49)
- state_vg.xml  (   5975 bytes, from 2016-10-29 07:29:22)

Copyright (C) 2012-2016 by the following authors:
- Wladimir J. van der Laan <laanwj@gmail.com>
- Christian Gmeiner <christian.gmeiner@gmail.com>
- Lucas Stach <l.stach@pengutronix.de>
- Russell King <rmk@arm.linux.org.uk>

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sub license,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice (including the
next paragraph) shall be included in all copies or substantial portions
of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*/


#define VIVS_VG							0x00000000

#define VIVS_VG_UNK02800					0x00002800

#define VIVS_VG_UNK02804					0x00002804

#define VIVS_VG_UNK02808					0x00002808

#define VIVS_VG_UNK0280C					0x0000280c

#define VIVS_VG_UNK02810(i0)				       (0x00002810 + 0x4*(i0))
#define VIVS_VG_UNK02810__ESIZE					0x00000004
#define VIVS_VG_UNK02810__LEN					0x00000002

#define VIVS_VG_UNK02818(i0)				       (0x00002818 + 0x4*(i0))
#define VIVS_VG_UNK02818__ESIZE					0x00000004
#define VIVS_VG_UNK02818__LEN					0x00000002

#define VIVS_VG_UNK02820(i0)				       (0x00002820 + 0x4*(i0))
#define VIVS_VG_UNK02820__ESIZE					0x00000004
#define VIVS_VG_UNK02820__LEN					0x00000002

#define VIVS_VG_UNK02828					0x00002828

#define VIVS_VG_UNK0282C					0x0000282c

#define VIVS_VG_UNK02830(i0)				       (0x00002830 + 0x4*(i0))
#define VIVS_VG_UNK02830__ESIZE					0x00000004
#define VIVS_VG_UNK02830__LEN					0x00000004

#define VIVS_VG_UNK02840					0x00002840

#define VIVS_VG_UNK02844					0x00002844

#define VIVS_VG_UNK02848					0x00002848

#define VIVS_VG_UNK0284C					0x0000284c

#define VIVS_VG_UNK02850					0x00002850

#define VIVS_VG_UNK02854					0x00002854

#define VIVS_VG_UNK02858					0x00002858

#define VIVS_VG_UNK0285C					0x0000285c

#define VIVS_VG_UNK02860(i0)				       (0x00002860 + 0x4*(i0))
#define VIVS_VG_UNK02860__ESIZE					0x00000004
#define VIVS_VG_UNK02860__LEN					0x00000003

#define VIVS_VG_UNK02870(i0)				       (0x00002870 + 0x4*(i0))
#define VIVS_VG_UNK02870__ESIZE					0x00000004
#define VIVS_VG_UNK02870__LEN					0x00000003

#define VIVS_VG_UNK02880(i0)				       (0x00002880 + 0x4*(i0))
#define VIVS_VG_UNK02880__ESIZE					0x00000004
#define VIVS_VG_UNK02880__LEN					0x00000003

#define VIVS_VG_UNK02890(i0)				       (0x00002890 + 0x4*(i0))
#define VIVS_VG_UNK02890__ESIZE					0x00000004
#define VIVS_VG_UNK02890__LEN					0x00000002

#define VIVS_VG_UNK02898(i0)				       (0x00002898 + 0x4*(i0))
#define VIVS_VG_UNK02898__ESIZE					0x00000004
#define VIVS_VG_UNK02898__LEN					0x00000002

#define VIVS_VG_UNK028A0(i0)				       (0x000028a0 + 0x4*(i0))
#define VIVS_VG_UNK028A0__ESIZE					0x00000004
#define VIVS_VG_UNK028A0__LEN					0x00000002

#define VIVS_VG_UNK028A8(i0)				       (0x000028a8 + 0x4*(i0))
#define VIVS_VG_UNK028A8__ESIZE					0x00000004
#define VIVS_VG_UNK028A8__LEN					0x00000002

#define VIVS_VG_UNK028B0(i0)				       (0x000028b0 + 0x4*(i0))
#define VIVS_VG_UNK028B0__ESIZE					0x00000004
#define VIVS_VG_UNK028B0__LEN					0x00000002

#define VIVS_VG_UNK028B8(i0)				       (0x000028b8 + 0x4*(i0))
#define VIVS_VG_UNK028B8__ESIZE					0x00000004
#define VIVS_VG_UNK028B8__LEN					0x00000002

#define VIVS_VG_UNK028C0					0x000028c0

#define VIVS_VG_UNK028C4					0x000028c4

#define VIVS_VG_UNK028C8					0x000028c8

#define VIVS_VG_UNK028CC					0x000028cc

#define VIVS_VG_UNK028D0					0x000028d0

#define VIVS_VG_UNK028D4					0x000028d4

#define VIVS_VG_UNK028D8					0x000028d8

#define VIVS_VG_UNK028DC					0x000028dc

#define VIVS_VG_UNK028E0					0x000028e0

#define VIVS_VG_UNK028E4					0x000028e4

#define VIVS_VG_UNK028E8					0x000028e8

#define VIVS_VG_UNK028EC					0x000028ec

#define VIVS_VG_UNK028F0					0x000028f0

#define VIVS_VG_UNK028F8					0x000028f8

#define VIVS_VG_UNK028FC					0x000028fc

#define VIVS_VG_UNK02900(i0)				       (0x00002900 + 0x4*(i0))
#define VIVS_VG_UNK02900__ESIZE					0x00000004
#define VIVS_VG_UNK02900__LEN					0x00000006

#define VIVS_VG_UNK02918					0x00002918

#define VIVS_VG_UNK0291C					0x0000291c

#define VIVS_VG_UNK02920					0x00002920

#define VIVS_VG_UNK02924					0x00002924

#define VIVS_VG_UNK02928					0x00002928

#define VIVS_VG_UNK0292C					0x0000292c

#define VIVS_VG_UNK02930					0x00002930

#define VIVS_VG_UNK02934					0x00002934

#define VIVS_VG_UNK02938					0x00002938

#define VIVS_VG_UNK0293C					0x0000293c

#define VIVS_VG_UNK02940(i0)				       (0x00002940 + 0x4*(i0))
#define VIVS_VG_UNK02940__ESIZE					0x00000004
#define VIVS_VG_UNK02940__LEN					0x00000002

#define VIVS_VG_UNK02948(i0)				       (0x00002948 + 0x4*(i0))
#define VIVS_VG_UNK02948__ESIZE					0x00000004
#define VIVS_VG_UNK02948__LEN					0x00000002

#define VIVS_VG_UNK02950					0x00002950

#define VIVS_VG_UNK02954					0x00002954

#define VIVS_VG_UNK02958					0x00002958

#define VIVS_VG_UNK0295C					0x0000295c

#define VIVS_VG_UNK02960					0x00002960

#define VIVS_VG_UNK02980(i0)				       (0x00002980 + 0x4*(i0))
#define VIVS_VG_UNK02980__ESIZE					0x00000004
#define VIVS_VG_UNK02980__LEN					0x00000019


#endif /* STATE_VG_XML */
