1e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#ifndef HEADER_CURL_TOOL_VMS_H 2e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#define HEADER_CURL_TOOL_VMS_H 35ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen/*************************************************************************** 45ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * _ _ ____ _ 55ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * Project ___| | | | _ \| | 65ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * / __| | | | |_) | | 75ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * | (__| |_| | _ <| |___ 85ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * \___|\___/|_| \_\_____| 95ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 10e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al. 115ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 125ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * This software is licensed as described in the file COPYING, which 135ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * you should have received as part of this distribution. The terms 148f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo * are also available at https://curl.haxx.se/docs/copyright.html. 155ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 165ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * You may opt to use, copy, modify, merge, publish, distribute and/or sell 175ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * copies of the Software, and permit persons to whom the Software is 185ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * furnished to do so, under the terms of the COPYING file. 195ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 205ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 215ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * KIND, either express or implied. 225ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 235ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen ***************************************************************************/ 24e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#include "tool_setup.h" 255ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 265ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen#ifdef __VMS 275ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 28e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET/* 29e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * Forward-declaration of global variable vms_show defined 30e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * in tool_main.c, used in main() as parameter for function 31e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * vms_special_exit() to allow proper curl tool exiting. 32e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET */ 33e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETextern int vms_show; 34e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET 355ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsenint is_vms_shell(void); 365ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsenvoid vms_special_exit(int code, int vms_show); 375ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 385ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen#undef exit 395ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen#define exit(__code) vms_special_exit((__code), (0)) 405ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 415ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen#define VMS_STS(c,f,e,s) (((c&0xF)<<28)|((f&0xFFF)<<16)|((e&0x1FFF)<3)|(s&7)) 425ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen#define VMSSTS_HIDE VMS_STS(1,0,0,0) 435ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 445ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen#endif /* __VMS */ 455ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 46e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#endif /* HEADER_CURL_TOOL_VMS_H */ 47e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET 48