39 #if !defined (USE_FINAL_H) && !defined (COMPILE_FINAL_CUT)    40   #error "Only <final/final.h> can be included directly."    43 #if defined(__linux__)    45   #if defined(__arm__) && defined(__GLIBC__) && defined(__GLIBC_PREREQ)    47     #if !__GLIBC_PREREQ(2,30)    48       #define ARM_ISA_SYSCTL    52   #if defined(__x86_64__) || defined(__i386) || defined(ARM_ISA_SYSCTL)    53     #define ISA_SYSCTL_SUPPORT    55   #endif  // defined(__x86_64__) || defined(__i386) || defined(ARM_ISA_SYSCTL)    57 #endif  // defined(__linux__)    60 #include <sys/ioctl.h>    62 #include <sys/types.h>    69 #include "final/util/fsystem.h"    88 #if defined(ISA_SYSCTL_SUPPORT)    89     inline auto inPortByte (uShort port) -> uChar 
override    94     inline uChar inPortByte (uShort)
 override   101 #if defined(ISA_SYSCTL_SUPPORT)   102     inline void outPortByte (uChar value, uShort port)
 override   104       ::outb (value, port);
   107     inline void outPortByte (uChar, uShort)
 override   111     inline auto isTTY (
int file_descriptor) 
const -> 
int override   113       return ::isatty(file_descriptor);
   116     inline auto ioctl (
int file_descriptor, uLong request, ...) -> 
int override   119       va_start (args, request);
   120       void* argp = va_arg (args, 
void*);
   121       int ret = ::ioctl (file_descriptor, request, argp);
   126     inline auto pipe (
PipeData& pipe) -> 
int override   128       return ::pipe(pipe.getArrayData());
   131     inline auto open (
const char* pathname, 
int flags, ...) -> 
int override   134       va_start (args, flags);
   135       auto mode = 
static_cast<mode_t
>(va_arg (args, 
int));
   136       int ret = ::open (pathname, flags, mode);
   141     inline auto close (
int file_descriptor) -> 
int override   143       return ::close(file_descriptor);
   146     inline auto fopen (
const char* path, 
const char* mode) -> FILE* 
override   148       return std::fopen (path, mode);
   151     inline auto fclose (FILE* file_ptr) -> 
int override   153       return std::fclose (file_ptr);
   156     inline auto fputs (
const char* str, FILE* stream) -> 
int override   158       return std::fputs (str, stream);
   161     inline auto putchar (
int c) -> 
int override   163 #if defined(__sun) && defined(__SVR4)   164       return std::putchar(
char(c));
   166       return std::putchar(c);
   170     auto sigaction ( 
int, 
const struct sigaction*
   171                    , 
struct sigaction* ) -> 
int override;
   172     auto timer_create ( clockid_t, 
struct sigevent*
   173                       , timer_t* ) -> 
int override;
   174     auto timer_settime ( timer_t, 
int   175                        , 
const struct itimerspec*
   176                        , 
struct itimerspec* ) -> 
int override;
   177     auto timer_delete (timer_t) -> 
int override;
   178     auto kqueue() -> 
int override;
   179     auto kevent ( 
int, 
const struct ::kevent*
   180                 , 
int, struct ::kevent*
   181                 , 
int, 
const struct timespec* ) -> 
int override;
   183     inline auto getuid() -> uid_t 
override   188     inline auto geteuid() -> uid_t 
override   193     auto getpwuid_r ( uid_t, 
struct passwd*, 
char*, 
size_t   194                     , 
struct passwd** ) -> 
int override;
   196     auto realpath (
const char*, 
char*) -> 
char* 
override;
   201 #endif  // FSYSTEMIMPL_H Definition: fsystemimpl.h:78
 
Definition: class_template.cpp:25
 
Definition: pipedata.h:47