source: trunk/src/nxstack.h @ 1822

Revision 1636, 1.7 KB checked in by Pete Jemian, 7 months ago (diff)

point to current WWW site in license text, refs #281

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1/*
2  This is some code to handle a stack of NeXus files. This is used to implement
3  external linking within the NeXus-API
4
5  Copyright (C) 1997-2006 Mark Koennecke
6 
7  This library is free software; you can redistribute it and/or
8  modify it under the terms of the GNU Lesser General Public
9  License as published by the Free Software Foundation; either
10  version 2 of the License, or (at your option) any later version.
11 
12  This library is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public
18  License along with this library; if not, write to the Free Software
19  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20 
21  For further information, see <http://www.nexusformat.org>
22
23  Added functions to deal with the path stack for NXgetpath
24  Mark Koennecke, October 2009
25
26*/
27#ifndef NEXUSFILESTACK
28#define NEXUSFILESTACK
29
30typedef struct __fileStack *pFileStack;
31#define MAXEXTERNALDEPTH 16
32
33pFileStack makeFileStack();
34void killFileStack(pFileStack self);
35int getFileStackSize();
36
37void pushFileStack(pFileStack self, pNexusFunction pDriv, char *filename);
38void popFileStack(pFileStack self);
39
40pNexusFunction peekFileOnStack(pFileStack self);
41char *peekFilenameOnStack(pFileStack self);
42void peekIDOnStack(pFileStack self, NXlink *id);
43void setCloseID(pFileStack self, NXlink id);
44 
45int fileStackDepth(pFileStack self);
46
47void pushPath(pFileStack self, const char *name);
48void popPath(pFileStack self);
49int buildPath(pFileStack self, char *path, int pathlen);
50
51#endif
52
Note: See TracBrowser for help on using the repository browser.