00001 /***************************** 00002 File: fail.h 00003 Language: C++ (header) 00004 Project: H3DNetworkingUtils 00005 The contents of this file are subject to the Mozilla Public License 00006 Version 1.1 (the "License"); you may not use this file except in 00007 compliance with the License. You may obtain a copy of the License at 00008 http://www.mozilla.org/MPL/ 00009 00010 Software distributed under the License is distributed on an "AS IS" 00011 basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 00012 License for the specific language governing rights and limitations 00013 under the License. 00014 00015 The Original Code is H3DNetworkingUtils v1.0. 00016 00017 The Initial Developer of the Original Code is CSIRO. 00018 Portions created by the Initial Developer are Copyright (C) 1009 CSIRO. All Rights Reserved. 00019 Contributor(s): 00020 Samuel Taylor, (sam.taylor@anu.edu.au) 00021 Chris Gunn <Chris.Gunn@csiro.au> <ChrisJGunn@gmail.com> 00022 ***************************/ 00023 00025 00026 #ifndef _fail_ 00027 #define _fail_ 00028 00029 #include "H3DNetworkingUtils/Config.h" 00030 00031 #ifdef __cplusplus 00032 extern "C" { 00033 #endif 00034 00035 /* Distributed under a BSD type license. See the netwrap COPYRIGHT file */ 00036 00037 extern void H3D_NETWORKING_UTILS_DLL_SPEC Fail (char * message); 00038 00039 extern void H3D_NETWORKING_UTILS_DLL_SPEC FailNull (void * ptr, char * message); 00040 00041 /* Unix standard negative error codes */ 00042 extern void H3D_NETWORKING_UTILS_DLL_SPEC FailErr (int code, char * message); 00043 00044 /* Portable way to set errno */ 00045 extern void H3D_NETWORKING_UTILS_DLL_SPEC SetErrNo (int code); 00046 00047 /* For systems like X and Posix threads that return 00048 zero on success and positive numbers on error */ 00049 extern void H3D_NETWORKING_UTILS_DLL_SPEC FailStatus (int code, char * message); 00050 00051 #ifdef __cplusplus 00052 } 00053 #endif 00054 00055 #endif