The Machine Perception Toolbox

[Introduction]- [News]- [Download]- [Screenshots]- [Manual (pdf)]- [Forums]- [API Reference]- [Repository ]

 

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

pathsys.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
00003  *
00004  * This file is part of Jam - see jam.c for Copyright information.
00005  */
00006 
00007 /*
00008  * pathsys.h - PATHNAME struct 
00009  */
00010 
00011 /*
00012  * PATHNAME - a name of a file, broken into <grist>dir/base/suffix(member)
00013  *
00014  * <grist> is salt to distinguish between targets that otherwise would
00015  * have the same name:  it never appears in the bound name of a target.
00016  * (member) is an archive member name: the syntax is arbitrary, but must 
00017  * agree in path_parse(), path_build() and the Jambase.
00018  *
00019  * On VMS, we keep track of whether the original path was a directory
00020  * (without a file), so that $(VAR:D) can climb to the parent.
00021  */
00022 
00023 #ifndef PATHSYS_VP_20020211_H
00024 # define PATHSYS_VP_20020211_H
00025 
00026 #include "strings.h"
00027 
00028 typedef struct _pathname PATHNAME;
00029 typedef struct _pathpart PATHPART;
00030 
00031 struct _pathpart {
00032         char    *ptr;
00033         int     len;
00034 };
00035 
00036 struct _pathname {
00037         PATHPART        part[6];
00038 # ifdef OS_VMS
00039         int             parent;
00040 # endif
00041 
00042 # define f_grist        part[0]
00043 # define f_root         part[1]
00044 # define f_dir          part[2]
00045 # define f_base         part[3]
00046 # define f_suffix       part[4]
00047 # define f_member       part[5]
00048 
00049 } ;
00050 
00051 void path_build( PATHNAME *f, string *file, int binding );
00052 void path_build1( PATHNAME *f, string *file );
00053 
00054 void path_parse( char *file, PATHNAME *f );
00055 void path_parent( PATHNAME *f );
00056 
00057 #ifdef NT
00058 
00062 char* short_path_to_long_path(char* short_path);
00063 
00064 #endif
00065 
00066 #endif

Generated on Mon Nov 8 17:07:46 2004 for MPT by  doxygen 1.3.9.1