1 //****************************************************************************** 2 /// 3 /// @file vfe/vfeconf.h 4 /// 5 /// This file contains vfe specific defines. 6 /// 7 /// @author Christopher J. Cason 8 /// 9 /// @copyright 10 /// @parblock 11 /// 12 /// Persistence of Vision Ray Tracer ('POV-Ray') version 3.8. 13 /// Copyright 1991-2017 Persistence of Vision Raytracer Pty. Ltd. 14 /// 15 /// POV-Ray is free software: you can redistribute it and/or modify 16 /// it under the terms of the GNU Affero General Public License as 17 /// published by the Free Software Foundation, either version 3 of the 18 /// License, or (at your option) any later version. 19 /// 20 /// POV-Ray is distributed in the hope that it will be useful, 21 /// but WITHOUT ANY WARRANTY; without even the implied warranty of 22 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 /// GNU Affero General Public License for more details. 24 /// 25 /// You should have received a copy of the GNU Affero General Public License 26 /// along with this program. If not, see <http://www.gnu.org/licenses/>. 27 /// 28 /// ---------------------------------------------------------------------------- 29 /// 30 /// POV-Ray is based on the popular DKB raytracer version 2.12. 31 /// DKBTrace was originally written by David K. Buck. 32 /// DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins. 33 /// 34 /// @endparblock 35 /// 36 //****************************************************************************** 37 38 #ifndef POVRAY_VFE_VFECONF_H 39 #define POVRAY_VFE_VFECONF_H 40 41 ////////////////////////////////////////////////////////////// 42 // POVMS support 43 ///////////////////////////////////////////////////////////// 44 45 #define POVMS_Sys_Thread_Type unsigned long 46 47 #include <string> 48 #include <cstdio> 49 50 namespace vfe 51 { 52 typedef class SysQNode POVMS_Sys_QueueNode ; 53 void* /*POVMSAddress*/ vfe_POVMS_Sys_QueueToAddress (POVMS_Sys_QueueNode *q) ; 54 POVMS_Sys_QueueNode *vfe_POVMS_Sys_AddressToQueue (void* /*POVMSAddress*/ a) ; 55 POVMS_Sys_QueueNode *vfe_POVMS_Sys_QueueOpen (void) ; 56 void vfe_POVMS_Sys_QueueClose (POVMS_Sys_QueueNode *q) ; 57 void *vfe_POVMS_Sys_QueueReceive (POVMS_Sys_QueueNode *q, int *l, bool, bool) ; 58 int vfe_POVMS_Sys_QueueSend(POVMS_Sys_QueueNode *q, void *p, int l) ; 59 POVMS_Sys_Thread_Type POVMS_GetCurrentThread(); 60 void vfeAssert (const char *message, const char *filename, int line) ; 61 } 62 63 #define POVMS_ASSERT_OUTPUT vfe::vfeAssert 64 #define POVMS_Sys_Queue_Type vfe::POVMS_Sys_QueueNode * 65 #define POVMS_Sys_Queue_Type vfe::POVMS_Sys_QueueNode * 66 #define POVMS_Sys_QueueToAddress vfe::vfe_POVMS_Sys_QueueToAddress 67 #define POVMS_Sys_AddressToQueue vfe::vfe_POVMS_Sys_AddressToQueue 68 #define POVMS_Sys_QueueOpen vfe::vfe_POVMS_Sys_QueueOpen 69 #define POVMS_Sys_QueueClose vfe::vfe_POVMS_Sys_QueueClose 70 #define POVMS_Sys_QueueReceive vfe::vfe_POVMS_Sys_QueueReceive 71 #define POVMS_Sys_QueueSend vfe::vfe_POVMS_Sys_QueueSend 72 #define POVMS_Sys_GetCurrentThread vfe::POVMS_GetCurrentThread 73 74 #endif // POVRAY_VFE_VFECONF_H 75