Ok - so one of the steps in building CDE is an early phase called the includes phase (make includes). At this point, all of the public header files are exported to exports/include/Dt, DtI, ... Then, the software is built using that include dir. This of course does not work in autotools. Much of the software does things like #include <Dt/something.h>, so in order for the build to succeed, this behavior must be represented/replicated in some way. It seems the usual way of dealing with this is to place all public headers (and in some projects, ALL headers) into a toplevel include directory. We now do this for all public headers - they have been moved from wherever they were and placed in the appropriate spot in includes/ This will break the Imake 'make includes' phase unless the Imakefiles are fixed (remove the HEADERS = stuff, and the incdir defines). This has not been done at this point since in reality, once autotools works properly, there will be no need for the Imake stuff anymore, and I intend to get rid of it. This is just a warning for now - Imake builds in this tree will now fail at the 'includes' stage. This commit is only the migration. In upcoming commits, libtt will be fixed so that the hack being used before to get around this problem is removed as there will no longer be any need. And then the autotools work continues...
224 lines
6.5 KiB
C
224 lines
6.5 KiB
C
/*
|
|
* CDE - Common Desktop Environment
|
|
*
|
|
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
*
|
|
* These libraries and programs are free software; you can
|
|
* redistribute them and/or modify them under the terms of the GNU
|
|
* Lesser General Public License as published by the Free Software
|
|
* Foundation; either version 2 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* These libraries and programs are distributed in the hope that
|
|
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
* PURPOSE. See the GNU Lesser General Public License for more
|
|
* details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with these libraries and programs; if not, write
|
|
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
* Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
/*
|
|
* File: connect.h $XConsortium: connect.h /main/3 1995/10/26 15:47:00 rswiston $
|
|
* Language: C
|
|
*
|
|
* (c) Copyright 1988, Hewlett-Packard Company, all rights reserved.
|
|
*
|
|
* (c) Copyright 1993, 1994 Hewlett-Packard Company *
|
|
* (c) Copyright 1993, 1994 International Business Machines Corp. *
|
|
* (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
|
|
* (c) Copyright 1993, 1994 Novell, Inc. *
|
|
*/
|
|
|
|
#ifndef _connect_h
|
|
#define _connect_h
|
|
|
|
#if defined(__cplusplus) && defined(__c_callable)
|
|
extern "C" {
|
|
#endif
|
|
|
|
int XeParseFileString
|
|
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
|
(XeString line, XeString *host_addr, XeString *path_addr);
|
|
#else
|
|
();
|
|
#endif
|
|
#if defined(__cplusplus) && defined(__c_callable)
|
|
}
|
|
#endif
|
|
|
|
/*
|
|
Take the filespec as a line and return a path the host and path
|
|
components as separate fields (finds the ':' and replaces it with
|
|
NULL). THIS FUNCTION MUNGES THE ORIGINAL LINE.
|
|
*/
|
|
|
|
extern XeString XeFindHost
|
|
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
|
(XeString host_spec);
|
|
#else
|
|
();
|
|
#endif
|
|
|
|
extern XeString XeFindShortHost
|
|
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
|
(XeString host_spec);
|
|
#else
|
|
();
|
|
#endif
|
|
/*
|
|
Returns a host name corresponding to host_spec.
|
|
|
|
In all cases a NEW STRING, OWNED BY THE
|
|
CALLER, is returned. XeFindHost returns the full host specification
|
|
including domain if there is one. XeFindShortHost does not
|
|
include the domain. These functions can be used to convert between
|
|
domain and simple names when needed. The domain names should be
|
|
used always internally and the simple names only used for display.
|
|
*/
|
|
|
|
extern int Xegethostname
|
|
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
|
(XeString hostname, unsigned int size);
|
|
#else
|
|
();
|
|
#endif
|
|
|
|
#if defined(__cplusplus) && defined(__c_callable)
|
|
extern "C" {
|
|
#else
|
|
extern
|
|
#endif
|
|
int Xegetshorthostname
|
|
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
|
(XeString hostname, unsigned int size);
|
|
#else
|
|
();
|
|
#endif
|
|
#if defined(__cplusplus) && defined(__c_callable)
|
|
}
|
|
#endif
|
|
|
|
/*
|
|
Identical to the libc function gethostname, except that Xegethostname
|
|
returns a full domain qualified name and Xegetshorthostname returns
|
|
a simple name. These functions are necessary because the system
|
|
hostname may or may not contain a domain name and the internal
|
|
representation should always be canonical form (domain qualified).
|
|
Use Xegethostname except when the name is being used for display
|
|
purposes only. Storage allocation is identical to gethostname
|
|
(it copies into the caller's buffer).
|
|
*/
|
|
|
|
#if defined(__cplusplus) && defined(__c_callable)
|
|
extern "C" {
|
|
#else
|
|
extern
|
|
#endif
|
|
Boolean XeIsLocalHostP
|
|
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
|
(XeString hostname);
|
|
#else
|
|
();
|
|
#endif
|
|
#if defined(__cplusplus) && defined(__c_callable)
|
|
}
|
|
#endif
|
|
|
|
/*
|
|
Returns true if the hostname passed in identifies the host on which
|
|
this function is executed. This is needed in order to handle all
|
|
combinations of simple and domain-qualified names for either the
|
|
hostname passed in or the one defined on the local host. Be sure
|
|
to include Xe.h or provide a local declaration for this function
|
|
as Boolean is not the same length as int and it won't function
|
|
correctly without the declaration.
|
|
*/
|
|
#if defined(__cplusplus) && defined(__c_callable)
|
|
extern "C" {
|
|
#else
|
|
extern
|
|
#endif
|
|
Boolean XeIsSameHostP
|
|
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
|
(XeString host1, XeString host2);
|
|
#else
|
|
();
|
|
#endif
|
|
#if defined(__cplusplus) && defined(__c_callable)
|
|
}
|
|
#endif
|
|
|
|
/*
|
|
Returns true if host1 and host2 specify the same host. This is
|
|
needed, because either or both hosts may be specified with or
|
|
without domain qualifiers, and the correct result must be
|
|
obtained. This function canonicalizes both and compares them
|
|
only in canonical form.
|
|
*/
|
|
|
|
extern Boolean XeIsSameHostP
|
|
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
|
(XeString host1, XeString host2);
|
|
#else
|
|
();
|
|
#endif
|
|
/*
|
|
Returns true if host1 and host2 specify the same host. This is
|
|
needed, because either or both hosts may be specified with or
|
|
without domain qualifiers, and the correct result must be
|
|
obtained. This function canonicalizes both and compares them
|
|
only in canonical form.
|
|
*/
|
|
|
|
XeString XeCreateContextString
|
|
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
|
(XeString host, XeString directory, XeString file);
|
|
#else
|
|
();
|
|
#endif
|
|
/*
|
|
XeCreateContextString changes the given context into a
|
|
label which is exactly the same as the one shown in a
|
|
fileview modeline. A NEW STRING, OWNED BY THE CALLER,
|
|
is returned.
|
|
*/
|
|
|
|
#define XeEliminateDots(path) (XeString)pathcollapse(path, path, FALSE)
|
|
/*
|
|
Removes /./'s and /../ 's from path. THIS ROUTINE OVERWRITES
|
|
THE path IT WAS PASSED. If there are too many ..'s in path,
|
|
NULL is returned, so you better keep a pointer to path if you hope
|
|
to reclaim it. Does not handle host:/path, shell variables or other
|
|
exotic animals.
|
|
*/
|
|
|
|
int Xechdir
|
|
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
|
(const char *path);
|
|
#else
|
|
();
|
|
#endif
|
|
/*
|
|
performs a chdir and caches the new directory in $PWD so that
|
|
Xegetcwd() can get the current directory without slow stat calls
|
|
*/
|
|
|
|
char *Xegetcwd
|
|
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
|
(char *buf,
|
|
int size);
|
|
#else
|
|
();
|
|
#endif
|
|
/*
|
|
version of getcwd() which uses cached $PWD (or $PWD from shell)
|
|
if available and calls getcwd only when PWD not set
|
|
*/
|
|
|
|
/* DON'T ADD STUFF AFTER THIS #endif */
|
|
#endif /* _connect_h */
|
|
|