home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gnat-2.06-src.tgz / tar.out / fsf / gnat / ada / i-sol~cs.ads < prev    next >
Text File  |  1996-09-28  |  6KB  |  137 lines

  1. -----------------------------------------------------------------------------
  2. --                                                                         --
  3. --                GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS               --
  4. --                                                                         --
  5. --         I n t e r f a c e s . C . S Y S T E M _ C o n s t a n t s       --
  6. --                                                                         --
  7. --                                 S p e c                                 --
  8. --                                                                         --
  9. --                            $Revision: 1.1 $                             --
  10. --                                                                         --
  11. --       Copyright (c) 1991,1992,1993,1994, FSU, All Rights Reserved       --
  12. --                                                                         --
  13. -- GNARL is free software; you can redistribute it and/or modify it  under --
  14. -- terms  of  the  GNU  Library General Public License as published by the --
  15. -- Free Software Foundation; either version 2, or  (at  your  option)  any --
  16. -- later  version.   GNARL is distributed in the hope that it will be use- --
  17. -- ful, but but WITHOUT ANY WARRANTY; without even the implied warranty of --
  18. -- MERCHANTABILITY  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Gen- --
  19. -- eral Library Public License for more details.  You should have received --
  20. -- a  copy of the GNU Library General Public License along with GNARL; see --
  21. -- file COPYING.LIB.  If not,  write to the  Free Software Foundation, 675 --
  22. -- Mass Ave, Cambridge, MA 02139, USA.                                     --
  23. --                                                                         --
  24. -----------------------------------------------------------------------------
  25.  
  26. --  This package contains system constants for the interface between
  27. --  the GNULLI low-level tasking implementation and Solaris 2.3, using
  28. --  the PART POSIX threads library from FSU to support multiple threads
  29. --  of control.
  30.  
  31. package Interfaces.C.System_Constants is
  32.  
  33.    pthread_t_size : constant Integer := 4;
  34.    pthread_attr_t_size : constant Integer := 52;
  35.    pthread_mutexattr_t_size : constant Integer := 12;
  36.    pthread_mutex_t_size : constant Integer := 32;
  37.    pthread_condattr_t_size : constant Integer := 4;
  38.    pthread_cond_t_size : constant Integer := 20;
  39.    pthread_key_t_size : constant Integer := 4;
  40.    jmp_buf_size : constant Integer := 48;
  41.    sigjmp_buf_size : constant Integer := 76;
  42.    sigset_t_size : constant Integer := 16;
  43.  
  44.    --  The sizes of structures  (in bytes) and offsets of their components
  45.    --  (in bits).  These are used to lay out the equivalent Ada records.
  46.    siginfo_size : constant Integer := 128;
  47.    si_signo_offset : constant Integer := 0;
  48.    si_code_offset : constant Integer := 32;
  49.    sigaction_size : constant Integer := 32;
  50.    sa_handler_offset : constant Integer := 32;
  51.    sa_mask_offset : constant Integer := 64;
  52.    sa_flags_offset : constant Integer := 0;
  53.    timespec_size : constant Integer := 8;
  54.    tv_sec_offset : constant Integer := 0;
  55.    tv_nsec_offset : constant Integer := 32;
  56.  
  57.    SIG_BLOCK : constant := 1;
  58.    SIG_UNBLOCK : constant := 2;
  59.    SIG_SETMASK : constant := 3;
  60.    SA_NOCLDSTOP : constant := 131072;
  61.    SA_SIGINFO : constant := 8;
  62.    SIG_ERR : constant := -1;
  63.    SIG_DFL : constant := 0;
  64.    SIG_IGN : constant := 1;
  65.    SIGNULL : constant := 0;
  66.    SIGHUP  : constant := 1;
  67.    SIGINT  : constant := 2;
  68.    SIGQUIT : constant := 3;
  69.    SIGILL  : constant := 4;
  70.    SIGABRT : constant := 6;
  71.    SIGFPE  : constant := 8;
  72.    SIGKILL : constant := 9;
  73.    SIGSEGV : constant := 11;
  74.    SIGPIPE : constant := 13;
  75.    SIGALRM : constant := 14;
  76.    SIGTERM : constant := 15;
  77.    SIGSTOP : constant := 23;
  78.    SIGTSTP : constant := 24;
  79.    SIGCONT : constant := 25;
  80.    SIGCHLD : constant := 18;
  81.    SIGTTIN : constant := 26;
  82.    SIGTTOU : constant := 27;
  83.    SIGUSR1 : constant := 16;
  84.    SIGUSR2 : constant := 17;
  85.    NSIG    : constant := 44;
  86.    --  OS specific signals represented as an array
  87.    type Sig_Array is array (positive range <>) of integer;
  88.    OS_Specific_Sync_Sigs : Sig_Array :=
  89.      (NSIG, 5, 7, 10);
  90.    OS_Specific_Async_Sigs : Sig_Array :=
  91.      (NSIG, 12, 21, 22, 30, 31, 28, 29, 20);
  92.    --  End of OS specific signals representation
  93.    EPERM    : constant := 1;
  94.    ENOENT   : constant := 2;
  95.    ESRCH    : constant := 3;
  96.    EINTR    : constant := 4;
  97.    EIO      : constant := 5;
  98.    ENXIO    : constant := 6;
  99.    E2BIG    : constant := 7;
  100.    ENOEXEC  : constant := 8;
  101.    EBADF    : constant := 9;
  102.    ECHILD   : constant := 10;
  103.    EAGAIN   : constant := 11;
  104.    ENOMEM   : constant := 12;
  105.    EACCES   : constant := 13;
  106.    EFAULT   : constant := 14;
  107.    ENOTBLK  : constant := 15;
  108.    EBUSY    : constant := 16;
  109.    EEXIST   : constant := 17;
  110.    EXDEV    : constant := 18;
  111.    ENODEV   : constant := 19;
  112.    ENOTDIR  : constant := 20;
  113.    EISDIR   : constant := 21;
  114.    EINVAL   : constant := 22;
  115.    ENFILE   : constant := 23;
  116.    EMFILE   : constant := 24;
  117.    ENOTTY   : constant := 25;
  118.    ETXTBSY  : constant := 26;
  119.    EFBIG    : constant := 27;
  120.    ENOSPC   : constant := 28;
  121.    ESPIPE   : constant := 29;
  122.    EROFS    : constant := 30;
  123.    EMLINK   : constant := 31;
  124.    EPIPE    : constant := 32;
  125.    ENAMETOOLONG : constant := 78;
  126.    ENOTEMPTY    : constant := 93;
  127.    EDEADLK  : constant := 45;
  128.    ENOLCK   : constant := 46;
  129.    ENOSYS   : constant := 89;
  130.    ENOTSUP  : constant := 48;
  131.    NO_PRIO_INHERIT : constant := 0;
  132.    PRIO_INHERIT : constant := 1;
  133.    PRIO_PROTECT : constant := 2;
  134.    Add_Prio : constant Integer := 2;
  135.  
  136. end Interfaces.C.System_Constants;
  137.