/**
 * projectM -- Milkdrop-esque visualisation SDK
 * Copyright (C)2003-2007 projectM Team
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 * See 'LICENSE.txt' included within this release
 *
 */
/**
 * $Id: fatal.h,v 1.1.1.1 2005/12/23 18:05:05 psperl Exp $
 *
 * Error codes
 *
 * $Log$
 */

#ifndef _FATAL_H
#define _FATAL_H

/* Fatal Error Definitions */

#define PROJECTM_OUTOFMEM_ERROR -7; /* out of memory */
#define PROJECTM_ERROR -1 /* non specific error */
#define PROJECTM_SUCCESS 1
#define PROJECTM_FAILURE -1
#define PROJECTM_PARSE_ERROR -11
#define PROJECTM_DIV_BY_ZERO -3
#define PROJECTM_OK 2

#endif /** !_FATAL_H */

