OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /or1k/trunk/rtems-20020807/cpukit/include
    from Rev 1028 to Rev 1765
    Reverse comparison

Rev 1028 → Rev 1765

/Makefile.in
0,0 → 1,343
# Makefile.in generated by automake 1.6.2 from Makefile.am.
# @configure_input@
 
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
 
@SET_MAKE@
SHELL = @SHELL@
 
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
 
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
 
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
 
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
 
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
BARE_CPU_CFLAGS = @BARE_CPU_CFLAGS@
BARE_CPU_MODEL = @BARE_CPU_MODEL@
CC = @CC@
CPP = @CPP@
DEPDIR = @DEPDIR@
ENDIF = @ENDIF@
GCCSED = @GCCSED@
GCC_SPECS = @GCC_SPECS@
HAS_ITRON_API = @HAS_ITRON_API@
HAS_NETWORKING = @HAS_NETWORKING@
HAS_POSIX_API = @HAS_POSIX_API@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
MAINT = @MAINT@
MAKE = @MAKE@
MULTIBUILDTOP = @MULTIBUILDTOP@
MULTISUBDIR = @MULTISUBDIR@
PACKAGE = @PACKAGE@
PROJECT_INCLUDE = @PROJECT_INCLUDE@
PROJECT_ROOT = @PROJECT_ROOT@
PROJECT_TOPdir = @PROJECT_TOPdir@
RANLIB = @RANLIB@
RTEMS_BSP = @RTEMS_BSP@
RTEMS_CPU = @RTEMS_CPU@
RTEMS_HAS_ITRON_API = @RTEMS_HAS_ITRON_API@
RTEMS_HAS_NETWORKING = @RTEMS_HAS_NETWORKING@
RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@
RTEMS_HOST = @RTEMS_HOST@
RTEMS_ROOT = @RTEMS_ROOT@
RTEMS_TOPdir = @RTEMS_TOPdir@
RTEMS_USE_MACROS = @RTEMS_USE_MACROS@
RTEMS_USE_NEWLIB = @RTEMS_USE_NEWLIB@
RTEMS_VERSION = @RTEMS_VERSION@
STRIP = @STRIP@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
multilib_basedir = @multilib_basedir@
project_libdir = @project_libdir@
 
PREINSTALL_FILES = $(PROJECT_INCLUDE) \
$(include_HEADERS:%=$(PROJECT_INCLUDE)/%)\
$(PROJECT_INCLUDE)/rtems \
$(include_rtems_HEADERS:%=$(PROJECT_INCLUDE)/%)
 
 
include_rtemsdir = $(includedir)/rtems
include_rtems_HEADERS = rtems/bspIo.h rtems/userenv.h rtems/fs.h
 
PROJECT_TOOLS = $(PROJECT_RELEASE)/build-tools
subdir = include
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/score/include/rtems/score/cpuopts-tmp.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
HEADERS = $(include_rtems_HEADERS)
 
DIST_COMMON = $(include_rtems_HEADERS) Makefile.am Makefile.in
all: all-am
 
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/automake/local.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --foreign include/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
uninstall-info-am:
include_rtemsHEADERS_INSTALL = $(INSTALL_HEADER)
install-include_rtemsHEADERS: $(include_rtems_HEADERS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(include_rtemsdir)
@list='$(include_rtems_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(include_rtemsHEADERS_INSTALL) $$d$$p $(DESTDIR)$(include_rtemsdir)/$$f"; \
$(include_rtemsHEADERS_INSTALL) $$d$$p $(DESTDIR)$(include_rtemsdir)/$$f; \
done
 
uninstall-include_rtemsHEADERS:
@$(NORMAL_UNINSTALL)
@list='$(include_rtems_HEADERS)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(include_rtemsdir)/$$f"; \
rm -f $(DESTDIR)$(include_rtemsdir)/$$f; \
done
 
ETAGS = etags
ETAGSFLAGS =
 
tags: TAGS
 
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
 
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
 
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
 
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
distdir: $(DISTFILES)
$(mkinstalldirs) $(distdir)/rtems
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(HEADERS) all-local
 
installdirs:
$(mkinstalldirs) $(DESTDIR)$(include_rtemsdir)
 
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
 
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
 
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
 
clean-generic:
 
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
 
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
 
clean-am: clean-generic clean-local mostlyclean-am
 
distclean: distclean-am
 
distclean-am: clean-am distclean-generic distclean-local distclean-tags
 
dvi: dvi-am
 
dvi-am:
 
info: info-am
 
info-am:
 
install-data-am: install-include_rtemsHEADERS
 
install-exec-am:
 
install-info: install-info-am
 
install-man:
 
installcheck-am:
 
maintainer-clean: maintainer-clean-am
 
maintainer-clean-am: distclean-am maintainer-clean-generic
 
mostlyclean: mostlyclean-am
 
mostlyclean-am: mostlyclean-generic
 
uninstall-am: uninstall-include_rtemsHEADERS uninstall-info-am
 
.PHONY: GTAGS all all-am all-local check check-am clean clean-generic \
clean-local distclean distclean-generic distclean-local \
distclean-tags distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
install-exec-am install-include_rtemsHEADERS install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic tags \
uninstall uninstall-am uninstall-include_rtemsHEADERS \
uninstall-info-am
 
 
$(PROJECT_INCLUDE)/%.h: %.h
$(INSTALL_DATA) $< $@
 
$(PROJECT_INCLUDE):
@$(mkinstalldirs) $@
 
$(PROJECT_INCLUDE)/rtems:
@$(mkinstalldirs) $@
 
all-local: $(PREINSTALL_FILES)
 
debug:
@echo
@echo "\"make debug\" is obsolete, instead use:"
@echo " make VARIANT=DEBUG"
@echo
 
.PHONY: debug
 
profile:
@echo
@echo "\"make profile\" is obsolete, instead use:"
@echo " make VARIANT=PROFILE"
@echo
 
.PHONY: profile
 
preinstall-am: $(PREINSTALL_FILES)
preinstall: preinstall-am
.PHONY: preinstall preinstall-am
 
depend-am:
depend: depend-am
.PHONY: depend depend-am
 
${ARCH}:
mkdir ${ARCH}
 
clean-local:
$(RM) -r o-optimize o-debug o-profile $(CLEANDIRS)
$(RM) Depends-o-optimize.tmp Depends-o-debug.tmp Depends-o-profile.tmp
 
distclean-local:
$(RM) Depends-o-optimize Depends-o-debug Depends-o-profile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
/Makefile.am
0,0 → 1,26
##
## Makefile.am,v 1.4 2002/06/17 09:27:44 ralf Exp
##
 
 
$(PROJECT_INCLUDE)/%.h: %.h
$(INSTALL_DATA) $< $@
 
$(PROJECT_INCLUDE):
@$(mkinstalldirs) $@
 
$(PROJECT_INCLUDE)/rtems:
@$(mkinstalldirs) $@
 
PREINSTALL_FILES = $(PROJECT_INCLUDE) \
$(include_HEADERS:%=$(PROJECT_INCLUDE)/%)
 
include_rtemsdir = $(includedir)/rtems
include_rtems_HEADERS = rtems/bspIo.h rtems/userenv.h rtems/fs.h
 
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems \
$(include_rtems_HEADERS:%=$(PROJECT_INCLUDE)/%)
 
all-local: $(PREINSTALL_FILES)
 
include $(top_srcdir)/automake/local.am
/rtems/bspIo.h
0,0 → 1,37
/* bspIo.h
*
* This include file contains declaration of interface that
* will be provided by the file contained in this directory.
*
* COPYRIGHT (c) 1998 valette@crf.canon.fr
*
* The license and distribution terms for this file may be
* found in found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* bspIo.h,v 1.2 2002/04/08 18:27:53 joel Exp
*/
#ifndef _rtems_bspIo_h
#define _rtems_bspIo_h
 
/*
* All the functions declared as extern after this comment
* MUST be implemented in each BSP. Using this function,
* this directory contains shared code that export higher level
* functionnality described after the next command.
*/
typedef void (*BSP_output_char_function_type) (char c);
typedef char (*BSP_polling_getchar_function_type) (void);
 
extern BSP_output_char_function_type BSP_output_char;
extern BSP_polling_getchar_function_type BSP_poll_char;
 
/*
* All the function declared as extern after this comment
* are available for each BSP by compiling and linking
* the files contained in this directory PROVIDED definition
* and initialisation of the previous variable are done.
*/
extern void printk(char *fmt, ...);
 
#endif
/rtems/libio_.h
0,0 → 1,310
/*
* Libio Internal Information
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* libio_.h,v 1.18 2002/01/04 17:57:27 joel Exp
*/
 
#ifndef __RTEMS_LIBIO_INTERNAL__h
#define __RTEMS_LIBIO_INTERNAL__h
 
#ifdef __cplusplus
extern "C" {
#endif
 
#include <rtems.h>
#include <rtems/libio.h> /* include before standard IO */
#include <rtems/assoc.h> /* assoc.h not included by rtems.h */
 
#include <sys/types.h>
#include <stdio.h> /* O_RDONLY, et.al. */
#include <fcntl.h> /* O_RDONLY, et.al. */
#include <assert.h>
#include <stdarg.h>
#include <limits.h>
#include <errno.h>
 
#if ! defined(O_NDELAY)
# if defined(solaris2)
# define O_NDELAY O_NONBLOCK
# elif defined(RTEMS_NEWLIB)
# define O_NDELAY _FNBIO
# endif
#endif
 
#if !defined(ENOTSUP)
#define ENOTSUP EOPNOTSUPP
#endif
 
#include <errno.h>
#include <string.h> /* strcmp */
#include <unistd.h>
#include <stdlib.h> /* calloc() */
 
/*
* Semaphore to protect the io table
*/
 
#define RTEMS_LIBIO_SEM rtems_build_name('L', 'B', 'I', 'O')
#define RTEMS_LIBIO_IOP_SEM(n) rtems_build_name('L', 'B', 'I', n)
 
extern rtems_id rtems_libio_semaphore;
extern rtems_filesystem_file_handlers_r rtems_filesystem_null_handlers;
 
/*
* File descriptor Table Information
*/
 
extern unsigned32 rtems_libio_number_iops;
extern rtems_libio_t *rtems_libio_iops;
extern rtems_libio_t *rtems_libio_last_iop;
extern rtems_libio_t *rtems_libio_iop_freelist;
 
/*
* set_errno_and_return_minus_one
*
* Macro to ease common way to return an error.
*/
 
#ifndef set_errno_and_return_minus_one
#define set_errno_and_return_minus_one( _error ) \
do { errno = (_error); return -1; } while(0)
#endif
 
/*
* rtems_libio_iop
*
* Macro to return the file descriptor pointer.
*/
 
#define rtems_libio_iop(_fd) \
((((unsigned32)(_fd)) < rtems_libio_number_iops) ? \
&rtems_libio_iops[_fd] : 0)
 
/*
* rtems_libio_check_is_open
*
* Macro to check if a file descriptor is actually open.
*/
 
#define rtems_libio_check_is_open(_iop) \
do { \
if (((_iop)->flags & LIBIO_FLAGS_OPEN) == 0) { \
errno = EBADF; \
return -1; \
} \
} while (0)
 
/*
* rtems_libio_check_fd
*
* Macro to check if a file descriptor number is valid.
*/
 
#define rtems_libio_check_fd(_fd) \
do { \
if ((unsigned32) (_fd) >= rtems_libio_number_iops) { \
errno = EBADF; \
return -1; \
} \
} while (0)
 
/*
* rtems_libio_check_buffer
*
* Macro to check if a buffer pointer is valid.
*/
 
#define rtems_libio_check_buffer(_buffer) \
do { \
if ((_buffer) == 0) { \
errno = EINVAL; \
return -1; \
} \
} while (0)
 
/*
* rtems_libio_check_count
*
* Macro to check if a count or length is valid.
*/
 
#define rtems_libio_check_count(_count) \
do { \
if ((_count) == 0) { \
return 0; \
} \
} while (0)
 
/*
* rtems_libio_check_permissions
*
* Macro to check if a file descriptor is open for this operation.
*/
 
#define rtems_libio_check_permissions(_iop, _flag) \
do { \
if (((_iop)->flags & (_flag)) == 0) { \
set_errno_and_return_minus_one( EINVAL ); \
return -1; \
} \
} while (0)
 
/*
* rtems_filesystem_freenode
*
* Macro to free a node.
*/
 
#define rtems_filesystem_freenode( _node ) \
do { \
if ( (_node)->ops )\
if ( (_node)->ops->freenod_h ) \
(*(_node)->ops->freenod_h)( (_node) ); \
} while (0)
 
/*
* rtems_filesystem_is_separator
*
* Macro to determine if a character is a path name separator.
*
* NOTE: This macro handles MS-DOS and UNIX style names.
*/
 
#define rtems_filesystem_is_separator( _ch ) \
( ((_ch) == '/') || ((_ch) == '\\') || ((_ch) == '\0'))
 
/*
* rtems_filesystem_get_start_loc
*
* Macro to determine if path is absolute or relative.
*/
 
#define rtems_filesystem_get_start_loc( _path, _index, _loc ) \
do { \
if ( rtems_filesystem_is_separator( (_path)[ 0 ] ) ) { \
*(_loc) = rtems_filesystem_root; \
*(_index) = 1; \
} else { \
*(_loc) = rtems_filesystem_current; \
*(_index) = 0; \
} \
} while (0)
 
#define rtems_filesystem_get_sym_start_loc( _path, _index, _loc ) \
do { \
if ( rtems_filesystem_is_separator( (_path)[ 0 ] ) ) { \
*(_loc) = rtems_filesystem_root; \
*(_index) = 1; \
} else { \
*(_index) = 0; \
} \
} while (0)
 
 
/*
* External structures
*/
#if !defined(LOGIN_NAME_MAX)
#if defined(__linux__)
#define LOGIN_NAME_MAX _POSIX_LOGIN_NAME_MAX
#else
#error "don't know how to set LOGIN_NAME_MAX"
#endif
#endif
 
typedef struct {
rtems_id task_id;
rtems_filesystem_location_info_t current_directory;
rtems_filesystem_location_info_t root_directory;
/* Default mode for all files. */
mode_t umask;
nlink_t link_counts;
/* _POSIX_types */
uid_t uid;
gid_t gid;
uid_t euid;
gid_t egid;
char login_buffer[LOGIN_NAME_MAX];
 
pid_t pgrp; /* process group id */
} rtems_user_env_t;
 
extern rtems_user_env_t * rtems_current_user_env;
extern rtems_user_env_t rtems_global_user_env;
 
#define rtems_filesystem_current (rtems_current_user_env->current_directory)
#define rtems_filesystem_root (rtems_current_user_env->root_directory)
#define rtems_filesystem_link_counts (rtems_current_user_env->link_counts)
#define rtems_filesystem_umask (rtems_current_user_env->umask)
 
#define _POSIX_types_Uid (rtems_current_user_env->uid)
#define _POSIX_types_Gid (rtems_current_user_env->gid)
#define _POSIX_types_Euid (rtems_current_user_env->euid)
#define _POSIX_types_Egid (rtems_current_user_env->egid)
#define _POSIX_types_Getlogin_buffer (rtems_current_user_env->login_buffer)
 
 
/*
* Instantiate a private copy of the per user information for the calling task.
*/
 
rtems_status_code rtems_libio_set_private_env(void);
rtems_status_code rtems_libio_share_private_env(rtems_id task_id) ;
 
 
/*
* File Descriptor Routine Prototypes
*/
 
rtems_libio_t *rtems_libio_allocate(void);
 
unsigned32 rtems_libio_fcntl_flags(
unsigned32 fcntl_flags
);
 
unsigned32 rtems_libio_to_fcntl_flags(
unsigned32 flags
);
 
void rtems_libio_free(
rtems_libio_t *iop
);
 
int rtems_libio_is_open_files_in_fs(
rtems_filesystem_mount_table_entry_t *mt_entry
);
 
int rtems_libio_is_file_open(
void *node_access
);
 
/*
* File System Routine Prototypes
*/
 
int rtems_filesystem_evaluate_path(
const char *pathname,
int flags,
rtems_filesystem_location_info_t *pathloc,
int follow_link
);
 
void rtems_filesystem_initialize();
 
int init_fs_mount_table();
 
#ifdef __cplusplus
}
#endif
 
#endif
/* end of include file */
/rtems/userenv.h
0,0 → 1,79
/*
* Libio Internal Information
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* userenv.h,v 1.1 2002/01/08 12:04:22 joel Exp
*/
 
#ifndef __rtems_userenv_h
#define __rtems_userenv_h
 
#include <rtems.h>
#include <rtems/fs.h>
 
#ifdef __cplusplus
extern "C" {
#endif
 
/*
* External structures
*/
#if !defined(LOGIN_NAME_MAX)
#if defined(__linux__)
#define LOGIN_NAME_MAX _POSIX_LOGIN_NAME_MAX
#else
#error "don't know how to set LOGIN_NAME_MAX"
#endif
#endif
 
typedef struct {
rtems_id task_id;
rtems_filesystem_location_info_t current_directory;
rtems_filesystem_location_info_t root_directory;
/* Default mode for all files. */
mode_t umask;
nlink_t link_counts;
/* _POSIX_types */
uid_t uid;
gid_t gid;
uid_t euid;
gid_t egid;
char login_buffer[LOGIN_NAME_MAX];
 
pid_t pgrp; /* process group id */
} rtems_user_env_t;
 
extern rtems_user_env_t * rtems_current_user_env;
extern rtems_user_env_t rtems_global_user_env;
 
#define rtems_filesystem_current (rtems_current_user_env->current_directory)
#define rtems_filesystem_root (rtems_current_user_env->root_directory)
#define rtems_filesystem_link_counts (rtems_current_user_env->link_counts)
#define rtems_filesystem_umask (rtems_current_user_env->umask)
 
#define _POSIX_types_Uid (rtems_current_user_env->uid)
#define _POSIX_types_Gid (rtems_current_user_env->gid)
#define _POSIX_types_Euid (rtems_current_user_env->euid)
#define _POSIX_types_Egid (rtems_current_user_env->egid)
#define _POSIX_types_Getlogin_buffer (rtems_current_user_env->login_buffer)
 
 
/*
* Instantiate a private copy of the per user information for the calling task.
*/
 
rtems_status_code rtems_libio_set_private_env(void);
rtems_status_code rtems_libio_share_private_env(rtems_id task_id) ;
#ifdef __cplusplus
}
#endif
 
#endif
/* end of include file */
/rtems/fs.h
0,0 → 1,59
/*
* Some basic filesystem types
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* fs.h,v 1.1 2002/01/08 12:04:22 joel Exp
*/
 
#ifndef __rtems_fstypes_h
#define __rtems_fstypes_h
 
#ifdef __cplusplus
extern "C" {
#endif
 
/*
* File descriptor Table Information
*/
 
/* Forward declarations */
 
/* FIXME: shouldn't this better not be here? */
typedef struct rtems_libio_tt rtems_libio_t;
 
typedef struct rtems_filesystem_location_info_tt
rtems_filesystem_location_info_t;
 
struct rtems_filesystem_mount_table_entry_tt;
typedef struct rtems_filesystem_mount_table_entry_tt
rtems_filesystem_mount_table_entry_t;
 
typedef struct _rtems_filesystem_file_handlers_r
rtems_filesystem_file_handlers_r;
typedef struct _rtems_filesystem_operations_table
rtems_filesystem_operations_table;
 
/*
* Structure used to determine a location/filesystem in the tree.
*/
struct rtems_filesystem_location_info_tt
{
void *node_access;
rtems_filesystem_file_handlers_r *handlers;
rtems_filesystem_operations_table *ops;
rtems_filesystem_mount_table_entry_t *mt_entry;
};
 
#ifdef __cplusplus
}
#endif
 
#endif
/* end of include file */
/.
. Property changes : Added: svn:ignore ## -0,0 +1,2 ## +Makefile +Makefile.in

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.