00001 /* 00002 * 00003 * Copyright (C) 2010, OFFIS e.V. 00004 * All rights reserved. See COPYRIGHT file for details. 00005 * 00006 * This software and supporting documentation were developed by 00007 * 00008 * OFFIS e.V. 00009 * R&D Division Health 00010 * Escherweg 2 00011 * D-26121 Oldenburg, Germany 00012 * 00013 * 00014 * Module: dcmdata 00015 * 00016 * Author: Uli Schlachter 00017 * 00018 * Purpose: Internal header for vrscanl.c and vrscan.cc 00019 * 00020 * Last Update: $Author: joergr $ 00021 * Update Date: $Date: 2010-10-14 13:18:41 $ 00022 * CVS/RCS Revision: $Revision: 1.4 $ 00023 * Status: $State: Exp $ 00024 * 00025 * CVS/RCS Log at end of file 00026 * 00027 */ 00028 00029 #ifndef VRSCANI_H 00030 #define VRSCANI_H 00031 00032 /* This needs its own header because both vrscanl.c and vrscan.cc need it. */ 00033 00034 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00035 #include <setjmp.h> 00036 00037 struct vrscan_error { 00038 jmp_buf setjmp_buffer; 00039 const char *error_msg; 00040 }; 00041 00042 #define YY_EXTRA_TYPE struct vrscan_error * 00043 #define YY_FATAL_ERROR(msg) do { \ 00044 yyget_extra(yyscanner)->error_msg = msg; \ 00045 longjmp(yyget_extra(yyscanner)->setjmp_buffer, 1); \ 00046 } while (0); 00047 00048 /* Don't try to include unistd.h which doesn't exist on windows */ 00049 #define YY_NO_UNISTD_H 00050 00051 #endif /* VRSCANI_H */ 00052 00053 /* 00054 ** CVS/RCS Log: 00055 ** $Log: vrscani.h,v $ 00056 ** Revision 1.4 2010-10-14 13:18:41 joergr 00057 ** Updated copyright header. Added reference to COPYRIGHT file. 00058 ** 00059 ** Revision 1.3 2010-10-01 10:21:05 uli 00060 ** Fixed most compiler warnings from -Wall -Wextra -pedantic in dcmdata. 00061 ** 00062 ** Revision 1.2 2010-09-03 07:26:19 uli 00063 ** Make the VR scanner work on windows again. 00064 ** 00065 ** Revision 1.1 2010-09-02 12:02:06 uli 00066 ** Use longjmp() for error handling in the VR scanner. 00067 ** 00068 ** 00069 */