/*
 * Copyright (C) IBM Corporation 2016.
 *
 * 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 (at your option) any later version.
 *
 * This file is only necessary because some of the pre-boot decompressors
 * expect stdint.h to be available.
 */

#include "types.h"
