mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
(Not quite finished, the following will be done tomorrow. module/srfi/*.scm module/rnrs/*.scm module/scripts/*.scm testsuite/*.scm guile-readline/* )
176 lines
5.7 KiB
Scheme
176 lines
5.7 KiB
Scheme
;;; groupings.alist -*-scheme-*-
|
|
|
|
;; Copyright (C) 2002, 2006 Free Software Foundation, Inc.
|
|
;;
|
|
;; This program is free software; you can redistribute it and/or
|
|
;; modify it under the terms of the GNU Lesser General Public License
|
|
;; as published by the Free Software Foundation; either version 3, or
|
|
;; (at your option) any later version.
|
|
;;
|
|
;; This program is distributed in the hope that it 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 this software; see the file COPYING.LESSER. If
|
|
;; not, write to the Free Software Foundation, Inc., 51 Franklin
|
|
;; Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
;;; Commentary:
|
|
|
|
;; This file describes interface element groupings.
|
|
;; See (scripts scan-api) commentary for more info.
|
|
;; NOTE: Order matters; put simple ones first, composites after.
|
|
;;
|
|
;; TODO: Add goops, add math, etc etc.
|
|
;; Group `guile-C-API' needs much more serious thought.
|
|
|
|
;;; Code:
|
|
|
|
(
|
|
|
|
;; Integrity checks
|
|
|
|
(C+scheme
|
|
(description "in both groups `scheme' and `C' -- should be empty!")
|
|
(grok () (lambda (x)
|
|
(and (in-group? x 'Scheme)
|
|
(in-group? x 'C)))))
|
|
|
|
;; Embedded foreign libraries
|
|
|
|
(embedded-libltdl
|
|
(description "begins with lt_ -- should become empty over time")
|
|
(grok () (lambda (x)
|
|
(name-prefix? x "lt_"))))
|
|
|
|
;; By name
|
|
|
|
(libguile-internal
|
|
(description "begins with scm_i_")
|
|
(grok () (lambda (x)
|
|
(name-prefix? x "scm_i_"))))
|
|
|
|
(gdb
|
|
(description "begins with gdb_")
|
|
(grok () (lambda (x)
|
|
(name-prefix? x "gdb_"))))
|
|
|
|
(coop
|
|
(description "begins with coop_")
|
|
(grok () (lambda (x)
|
|
(name-prefix? x "coop_"))))
|
|
|
|
(gh
|
|
(description "begins with gh_")
|
|
(grok () (lambda (x)
|
|
(name-prefix? x "gh_"))))
|
|
|
|
(g-fdes
|
|
(description "begins with g and ends with fds")
|
|
(grok () (lambda (x)
|
|
(name-prefix? x "g.+fds$"))))
|
|
|
|
(r-fdes
|
|
(description "begins with r and ends with fds")
|
|
(grok () (lambda (x)
|
|
(name-prefix? x "r.+fds$"))))
|
|
|
|
(scm
|
|
(description "begins with scm_")
|
|
(grok () (lambda (x)
|
|
(name-prefix? x "scm_"))))
|
|
|
|
(k
|
|
(description "constants")
|
|
(grok () (lambda (x)
|
|
(name-prefix? x "[_A-Z0-9]+$"))))
|
|
|
|
(POSIX
|
|
(description "POSIX support")
|
|
(members ; from docs
|
|
|
|
;; ports and file descriptors
|
|
port-revealed set-port-revealed! fileno port->fdes fdopen fdes->ports
|
|
fdes->inport fdes->outport primitive-move->fdes move->fdes
|
|
release-port-handle fsync open open-fdes close close-fdes unread-char
|
|
unread-string pipe dup->fdes dup->inport dup->outport dup dup->port
|
|
duplicate-port redirect-port dup2 port-mode close-all-ports-except
|
|
port-for-each setvbuf fcntl flock select
|
|
O_RDONLY O_WRONLY O_RDWR O_APPEND O_CREAT _IONBF _IOLBF _IOFBF
|
|
F_DUPFD F_GETFD F_SETFD F_GETFL F_SETFL F_GETOWN F_SETOWN FD_CLOEXEC
|
|
LOCK_SH LOCK_EX LOCK_UN LOCK_NB
|
|
|
|
;; file system
|
|
access? stat lstat readlink chown chmod utime delete-file copy-file
|
|
rename-file link symlink mkdir rmdir opendir directory-stream? readdir
|
|
rewinddir closedir sync mknod tmpnam mkstemp! dirname basename
|
|
R_OK W_OK X_OK F_OK
|
|
stat:perms stat:type stat:blocks stat:blksize stat:ctime stat:mtime
|
|
stat:atime stat:size stat:rdev stat:gid stat:uid stat:nlink stat:mode
|
|
stat:ino stat:dev
|
|
|
|
;; user information
|
|
passwd:name passwd:passwd passwd:uid passwd:gid passwd:gecos passwd:dir
|
|
passwd:shell group:name group:passwd group:gid group:mem
|
|
getpwuid getpwnam name setpwent getpwent endpwent setpw getpw getgrgid
|
|
getgrnam setgrent getgrent endgrent setgr getgr cuserid getlogin
|
|
|
|
;; time
|
|
tm:sec set-tm:sec tm:min set-tm:min tm:hour set-tm:hour tm:mday set-tm:mday
|
|
tm:mon set-tm:mon tm:year set-tm:year tm:wday set-tm:wday tm:yday
|
|
set-tm:yday tm:isdst set-tm:isdst tm:gmtoff set-tm:gmtoff tm:zone
|
|
set-tm:zone tms:clock tms:utime tms:stime tms:cutime tms:cstime
|
|
current-time gettimeofday localtime gmtime mktime tzset strftime strptime
|
|
times get-internal-real-time get-internal-run-time
|
|
|
|
;; runtime environment
|
|
program-arguments command-line getenv setenv environ putenv
|
|
|
|
;; proceses
|
|
chdir getcwd umask chroot getpid getgroups getppid getuid getgid geteuid
|
|
getegid setuid setgid seteuid setegid getpgrp setpgid setsid waitpid
|
|
status:exit-val status:term-sig status:stop-sig system primitive-exit execl
|
|
execlp execle primitive-fork nice setpriority getpriority
|
|
WNOHANG WUNTRACED
|
|
|
|
;; signals
|
|
kill raise sigaction restore-signals alarm pause sleep usleep setitimer
|
|
getitimer SIGHUP SIGINT
|
|
|
|
;; terminals and ptys
|
|
isatty? ttyname ctermid tcgetpgrp tcsetpgrp
|
|
|
|
;; pipes -- not included because they are in (ice-9 popen)
|
|
|
|
;; system identification
|
|
utsname:sysname utsname:nodename utsname:release utsname:version
|
|
utsname:machine uname gethostname sethostname software-type
|
|
|
|
;; locales
|
|
setlocale
|
|
LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME
|
|
|
|
;; encryption
|
|
crypt getpass))
|
|
|
|
(math
|
|
(description "math functions")
|
|
(members $abs $acos $acosh $asin $asinh $atan $atan2 $atanh $cos $cosh
|
|
$exp $expt $log $sin $sinh $sqrt $tan $tanh))
|
|
|
|
;; By composition (these must be AFTER their constituent groupings)
|
|
|
|
(guile-C-API
|
|
(description "the official guile API available to C programs")
|
|
(grok () (lambda (x)
|
|
(and (in-group? x 'C)
|
|
(or (in-group? x 'gh)
|
|
(in-group? x 'coop)
|
|
(in-group? x 'gdb))))))
|
|
|
|
;; Add new grouping descriptions here.
|
|
)
|
|
|
|
;;; groupings.alist ends here
|