VirtualBox

source: vbox/trunk/src/VBox/Runtime/common/path/rtpath-expand-template.cpp.h@ 93115

Last change on this file since 93115 was 93115, checked in by vboxsync, 3 years ago

scm --update-copyright-year

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.6 KB
Line 
1/* $Id: rtpath-expand-template.cpp.h 93115 2022-01-01 11:31:46Z vboxsync $ */
2/** @file
3 * IPRT - RTPath - Internal header that includes RTPATH_TEMPLATE_CPP_H multiple
4 * times to expand the code for different path styles.
5 */
6
7/*
8 * Copyright (C) 2006-2022 Oracle Corporation
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License (GPL) as published by the Free Software
14 * Foundation, in version 2 as it comes in the "COPYING" file of the
15 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17 *
18 * The contents of this file may alternatively be used under the terms
19 * of the Common Development and Distribution License Version 1.0
20 * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
21 * VirtualBox OSE distribution, in which case the provisions of the
22 * CDDL are applicable instead of those of the GPL.
23 *
24 * You may elect to license modified versions of this file under the
25 * terms and conditions of either the GPL or the CDDL or both.
26 */
27
28#undef RTPATH_DELIMITER
29
30/*
31 * DOS style
32 */
33#undef RTPATH_STYLE
34#undef RTPATH_SLASH
35#undef RTPATH_SLASH_STR
36#undef RTPATH_IS_SLASH
37#undef RTPATH_IS_VOLSEP
38#undef RTPATH_STYLE_FN
39
40#define RTPATH_STYLE RTPATH_STR_F_STYLE_DOS
41#define RTPATH_SLASH '\\'
42#define RTPATH_SLASH_STR "\\"
43#define RTPATH_IS_SLASH(a_ch) ( (a_ch) == '\\' || (a_ch) == '/' )
44#define RTPATH_IS_VOLSEP(a_ch) ( (a_ch) == ':' )
45#define RTPATH_STYLE_FN(a_Name) a_Name ## StyleDos
46#include RTPATH_TEMPLATE_CPP_H
47
48/*
49 * Unix style.
50 */
51#undef RTPATH_STYLE
52#undef RTPATH_SLASH
53#undef RTPATH_SLASH_STR
54#undef RTPATH_IS_SLASH
55#undef RTPATH_IS_VOLSEP
56#undef RTPATH_STYLE_FN
57
58#define RTPATH_STYLE RTPATH_STR_F_STYLE_UNIX
59#define RTPATH_SLASH '/'
60#define RTPATH_SLASH_STR "/"
61#define RTPATH_IS_SLASH(a_ch) ( (a_ch) == '/' )
62#define RTPATH_IS_VOLSEP(a_ch) ( false )
63#define RTPATH_STYLE_FN(a_Name) a_Name ## StyleUnix
64#include RTPATH_TEMPLATE_CPP_H
65
66/*
67 * Clean up and restore the host style.
68 */
69#undef RTPATH_STYLE_FN
70#if defined(RT_OS_OS2) || defined(RT_OS_WINDOWS)
71# undef RTPATH_STYLE
72# undef RTPATH_SLASH
73# undef RTPATH_SLASH_STR
74# undef RTPATH_IS_SLASH
75# undef RTPATH_IS_VOLSEP
76# define RTPATH_STYLE RTPATH_STR_F_STYLE_DOS
77# define RTPATH_SLASH '\\'
78# define RTPATH_SLASH_STR "\\"
79# define RTPATH_IS_SLASH(a_ch) ( (a_ch) == '\\' || (a_ch) == '/' )
80# define RTPATH_IS_VOLSEP(a_ch) ( (a_ch) == ':' )
81#endif
82
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette