catalog.h

00001 /*  $Id: catalog.h,v 1.2 2005/03/07 20:31:24 kifer Exp $
00002 
00003     Part of SWI-Prolog
00004 
00005     Author:        Jan Wielemaker
00006     E-mail:        jan@swi.psy.uva.nl
00007     WWW:           http://www.swi-prolog.org
00008     Copyright (C): 1985-2002, University of Amsterdam
00009 
00010     This library is free software; you can redistribute it and/or
00011     modify it under the terms of the GNU Lesser General Public
00012     License as published by the Free Software Foundation; either
00013     version 2.1 of the License, or (at your option) any later version.
00014 
00015     This library is distributed in the hope that it will be useful,
00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018     Lesser General Public License for more details.
00019 
00020     You should have received a copy of the GNU Lesser General Public
00021     License along with this library; if not, write to the Free Software
00022     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00023 */
00024 
00025 #ifndef CATALOG_H_INCLUDED
00026 #define CATALOG_H_INCLUDED
00027 
00028 /*  When we look for a token, we skip layout characters and comments.
00029     There there is nothing left, we return EOF.
00030     If we are looking for the beginning of an entry, the possibilities
00031     are then
00032 */
00033 
00034 #define CAT_OTHER    (0)    /* token + parameter of find... */
00035 #define CAT_SYSTEM   (1)    /* token only */
00036 #define CAT_PUBLIC   (2)    /* token only */
00037 #define CAT_DOCTYPE  (3)    /* token + parameter of find... */
00038 #define CAT_ENTITY   (4)    /* token + parameter of find... */
00039 #define CAT_PENTITY  (5)    /*         parameter of find... only */
00040 #define CAT_OVERRIDE (5)    /* token only */
00041 #define CAT_BASE     (6)    /* token only */
00042 #define OVR_PUBLIC   (CAT_OVERRIDE + CAT_PUBLIC)
00043 #define OVR_DOCTYPE  (CAT_OVERRIDE + CAT_DOCTYPE)
00044 #define OVR_ENTITY   (CAT_OVERRIDE + CAT_ENTITY)
00045 
00046 
00047 typedef enum
00048 { CTL_START,
00049   CTL_END
00050 } catalog_location;
00051 
00052 int     register_catalog_file(const char *file, catalog_location where);
00053 int     is_absolute_path(const char *name);
00054 char   *localpath(const char *ref, const char *name);
00055 char const *find_in_catalogue(
00056     int         kind,
00057     char const *name,
00058     char const *pubid,
00059     char const *sysid,
00060     int         ci
00061 );
00062 
00063 #endif /*CATALOG_H_INCLUDED*/

Generated on Wed Jul 26 13:30:45 2006 for XSB by  doxygen 1.4.5