Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/tools/build/jam_src/pathsys.h @ 12

Last change on this file since 12 was 12, checked in by landauf, 17 years ago

added boost

File size: 1.5 KB
Line 
1/*
2 * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
3 *
4 * This file is part of Jam - see jam.c for Copyright information.
5 */
6
7/*
8 * pathsys.h - PATHNAME struct
9 */
10
11/*
12 * PATHNAME - a name of a file, broken into <grist>dir/base/suffix(member)
13 *
14 * <grist> is salt to distinguish between targets that otherwise would
15 * have the same name:  it never appears in the bound name of a target.
16 * (member) is an archive member name: the syntax is arbitrary, but must
17 * agree in path_parse(), path_build() and the Jambase.
18 *
19 * On VMS, we keep track of whether the original path was a directory
20 * (without a file), so that $(VAR:D) can climb to the parent.
21 */
22
23#ifndef PATHSYS_VP_20020211_H
24# define PATHSYS_VP_20020211_H
25
26#include "strings.h"
27
28typedef struct _pathname PATHNAME;
29typedef struct _pathpart PATHPART;
30
31struct _pathpart {
32        char    *ptr;
33        int     len;
34};
35
36struct _pathname {
37        PATHPART        part[6];
38# ifdef OS_VMS
39        int             parent;
40# endif
41
42# define f_grist        part[0]
43# define f_root         part[1]
44# define f_dir          part[2]
45# define f_base         part[3]
46# define f_suffix       part[4]
47# define f_member       part[5]
48
49} ;
50
51void path_build( PATHNAME *f, string *file, int binding );
52void path_build1( PATHNAME *f, string *file );
53
54void path_parse( char *file, PATHNAME *f );
55void path_parent( PATHNAME *f );
56
57#ifdef NT
58
59/** Returns newstr-allocated string with long equivivalent of 'short_name'.
60    If none exists -- i.e. 'short_path' is already long path, it's returned
61    unaltered. */
62char* short_path_to_long_path(char* short_path);
63
64#endif
65
66#endif
Note: See TracBrowser for help on using the repository browser.