Browse Source

remove runtime tclkit86bi.exe and move to https://www.gitea1.intx.com.au/jn/punkbin - add fetchruntime.ps1 script

master
Julian Noble 1 year ago
parent
commit
b7024e92e7
  1. 18
      src/fetchruntime.ps1
  2. 3
      src/runtime/Readme.md
  3. BIN
      src/runtime/tclkit86bi.exe
  4. BIN
      src/runtime/tclkit86bi.vfs/bin/tk86.dll
  5. 127
      src/runtime/tclkit86bi.vfs/boot.tcl
  6. BIN
      src/runtime/tclkit86bi.vfs/lib/Ffidl0.9.0/Ffidl090.dll
  7. 333
      src/runtime/tclkit86bi.vfs/lib/Ffidl0.9.0/ffidlrt.tcl
  8. 12
      src/runtime/tclkit86bi.vfs/lib/Ffidl0.9.0/pkgIndex.tcl
  9. BIN
      src/runtime/tclkit86bi.vfs/lib/Memchan2.3/Memchan23.dll
  10. BIN
      src/runtime/tclkit86bi.vfs/lib/Memchan2.3/libMemchanstub23.a
  11. 2
      src/runtime/tclkit86bi.vfs/lib/Memchan2.3/pkgIndex.tcl
  12. BIN
      src/runtime/tclkit86bi.vfs/lib/Trf2.1.4/Trf214.dll
  13. BIN
      src/runtime/tclkit86bi.vfs/lib/Trf2.1.4/libTrfstub214.a
  14. 2
      src/runtime/tclkit86bi.vfs/lib/Trf2.1.4/pkgIndex.tcl
  15. 29
      src/runtime/tclkit86bi.vfs/lib/cffi1.2.0/pkgIndex.tcl
  16. BIN
      src/runtime/tclkit86bi.vfs/lib/cffi1.2.0/win32-x86_64/tclcffi120.dll
  17. 1856
      src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/critcl.tcl
  18. 2
      src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/pkgIndex.tcl
  19. 134
      src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/runtime.tcl
  20. 188
      src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/Config.in
  21. 145
      src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/Makefile.in
  22. 180
      src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/aclocal.m4
  23. 151
      src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/configure.in
  24. 26
      src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/tclconfig/README.txt
  25. 119
      src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/tclconfig/install-sh
  26. 4033
      src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/tclconfig/tcl.m4
  27. 227
      src/runtime/tclkit86bi.vfs/lib/critcl-bitmap1.1/bitmap.tcl
  28. 2
      src/runtime/tclkit86bi.vfs/lib/critcl-bitmap1.1/pkgIndex.tcl
  29. 468
      src/runtime/tclkit86bi.vfs/lib/critcl-class1.2/class.h
  30. 1171
      src/runtime/tclkit86bi.vfs/lib/critcl-class1.2/class.tcl
  31. 2
      src/runtime/tclkit86bi.vfs/lib/critcl-class1.2/pkgIndex.tcl
  32. 57
      src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/allocs/critcl_alloc.h
  33. 68
      src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/asserts/critcl_assert.h
  34. 69
      src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/cutil.tcl
  35. 2
      src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/pkgIndex.tcl
  36. 149
      src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/trace/critcl_trace.h
  37. 213
      src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/trace/trace.c
  38. 696
      src/runtime/tclkit86bi.vfs/lib/critcl-emap1.3/emap.tcl
  39. 2
      src/runtime/tclkit86bi.vfs/lib/critcl-emap1.3/pkgIndex.tcl
  40. 151
      src/runtime/tclkit86bi.vfs/lib/critcl-enum1.2/enum.tcl
  41. 2
      src/runtime/tclkit86bi.vfs/lib/critcl-enum1.2/pkgIndex.tcl
  42. 182
      src/runtime/tclkit86bi.vfs/lib/critcl-iassoc1.2/iassoc.tcl
  43. 2
      src/runtime/tclkit86bi.vfs/lib/critcl-iassoc1.2/pkgIndex.tcl
  44. 330
      src/runtime/tclkit86bi.vfs/lib/critcl-literals1.4/literals.tcl
  45. 2
      src/runtime/tclkit86bi.vfs/lib/critcl-literals1.4/pkgIndex.tcl
  46. 2
      src/runtime/tclkit86bi.vfs/lib/critcl-platform1.1/pkgIndex.tcl
  47. 404
      src/runtime/tclkit86bi.vfs/lib/critcl-platform1.1/platform.tcl
  48. 2
      src/runtime/tclkit86bi.vfs/lib/critcl-util1.2/pkgIndex.tcl
  49. 149
      src/runtime/tclkit86bi.vfs/lib/critcl-util1.2/util.tcl
  50. 537
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/Config
  51. 6547
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl.tcl
  52. 5
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/cdata.c
  53. 6
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/header.c
  54. 12
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/pkginit.c
  55. 6
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/pkginitend.c
  56. 5
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/pkginittk.c
  57. 169
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/preload.c
  58. 26
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/storageclass.c
  59. 43
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/stubs.c
  60. 10
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/stubs_e.c
  61. 677
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/X.h
  62. 79
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/Xatom.h
  63. 60
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/Xfuncproto.h
  64. 1205
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/Xlib.h
  65. 855
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/Xutil.h
  66. 79
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/cursorfont.h
  67. 35
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/keysym.h
  68. 1169
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/keysymdef.h
  69. 1806
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/tkIntXlibDecls.h
  70. 2380
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tcl.h
  71. 4613
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tclDecls.h
  72. 109
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tclPlatDecls.h
  73. 1600
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tk.h
  74. 2303
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tkDecls.h
  75. 205
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tkPlatDecls.h
  76. 677
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/X.h
  77. 79
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/Xatom.h
  78. 60
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/Xfuncproto.h
  79. 1205
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/Xlib.h
  80. 855
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/Xutil.h
  81. 79
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/cursorfont.h
  82. 35
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/keysym.h
  83. 1169
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/keysymdef.h
  84. 2370
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/tkIntXlibDecls.h
  85. 2455
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tcl.h
  86. 6563
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tclDecls.h
  87. 134
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tclPlatDecls.h
  88. 1610
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tk.h
  89. 3095
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tkDecls.h
  90. 253
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tkPlatDecls.h
  91. 677
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/X.h
  92. 79
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/Xatom.h
  93. 60
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/Xfuncproto.h
  94. 1205
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/Xlib.h
  95. 855
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/Xutil.h
  96. 79
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/cursorfont.h
  97. 35
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/keysym.h
  98. 1169
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/keysymdef.h
  99. 1279
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/tkIntXlibDecls.h
  100. 2652
      src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/tcl.h
  101. Some files were not shown because too many files have changed in this diff Show More

18
src/fetchruntime.ps1

@ -0,0 +1,18 @@
$url = "https://www.gitea1.intx.com.au/jn/punkbin/raw/branch/master/win64/tclkit86bi.exe"
$output = "runtime\tclkit86bi.exe"
if (-not(Test-Path -Path $output -PathType Leaf)) {
try {
#Invoke-WebRequest $url -OutFile
Import-Module BitsTransfer
Start-BitsTransfer -Source $url -Destination $output
Write-Host "Runtime saved at $output"
}
catch {
throw $_.Exception.Message
}
}
else {
Write-Host "Runtime already found at $output"
}

3
src/runtime/Readme.md

@ -0,0 +1,3 @@
Install a tclkit runtime here by running the appropriate fetchruntime script in ../src
Alternatively the runtime can be downloaded from: https://www.gitea1.intx.com.au/jn/punkbin

BIN
src/runtime/tclkit86bi.exe

Binary file not shown.

BIN
src/runtime/tclkit86bi.vfs/bin/tk86.dll

Binary file not shown.

127
src/runtime/tclkit86bi.vfs/boot.tcl

@ -1,127 +0,0 @@
proc tclInit {} {
rename tclInit {}
global auto_path tcl_library tcl_libPath tcl_version tclkit_system_encoding
# find the file to mount.
set noe $::tcl::kitpath
# resolve symlinks
set noe [file dirname [file normalize [file join $noe __dummy__]]]
set tcl_library [file join $noe lib tcl$tcl_version]
set tcl_libPath [list $tcl_library [file join $noe lib]]
# get rid of a build residue
unset -nocomplain ::tclDefaultLibrary
# The following code only gets executed if we don't have our exe
# already mounted. This should only happen once per thread.
# We could use [vfs::filesystem info], but that would require
# loading vfs into every interp.
if {![file isdirectory $noe]} {
load {} vfs
# lookup and emulate "source" of lib/vfs1*/{vfs*.tcl,mk4vfs.tcl}
if {[llength [info command mk::file]]} {
set driver mk4
# must use raw Metakit calls because VFS is not yet in place
set d [mk::select exe.dirs parent 0 name lib]
set d [mk::select exe.dirs parent $d -glob name vfs1*]
foreach x {vfsUtils vfslib mk4vfs} {
set n [mk::select exe.dirs!$d.files name $x.tcl]
if {[llength $n] != 1} { error "$x: cannot find startup script"}
set s [mk::get exe.dirs!$d.files!$n contents]
catch {set s [zlib decompress $s]}
uplevel #0 $s
}
# use on-the-fly decompression, if mk4vfs understands that
# Note: 8.6 core zlib does not support this for mk4vfs
if {![package vsatisfies [package require Tcl] 8.6]} {
set mk4vfs::zstreamed 1
}
} else {
set driver mkcl
# use raw Vlerq calls if Mk4tcl is not available
# $::vlerq::starkit_root is set in the init script in kitInit.c
set rootv [vlerq get $::vlerq::starkit_root 0 dirs]
set dname [vlerq get $rootv * name]
set prows [vlerq get $rootv * parent]
foreach r [lsearch -int -all $prows 0] {
if {[lindex $dname $r] eq "lib"} break
}
# glob for a subdir in "lib", then source the specified file inside it
foreach {d f} {
vfs1* vfsUtils.tcl vfs1* vfslib.tcl vqtcl4* mkclvfs.tcl
} {
foreach z [lsearch -int -all $prows $r] {
if {[string match $d [lindex $dname $z]]} break
}
set files [vlerq get $rootv $z files]
set names [vlerq get $files * name]
set n [lsearch $names $f]
if {$n < 0} { error "$d/$f: cannot find startup script"}
set s [vlerq get $files $n contents]
catch {set s [zlib decompress $s]}
uplevel #0 $s
}
# hack the mkcl info so it will know this mount point as "exe"
set vfs::mkcl::v::rootv(exe) $rootv
set vfs::mkcl::v::dname(exe) $dname
set vfs::mkcl::v::prows(exe) $prows
}
# mount the executable, i.e. make all runtime files available
vfs::filesystem mount $noe [list ::vfs::${driver}::handler exe]
# alter path to find encodings
if {[info tclversion] eq "8.4"} {
load {} pwb
librarypath [info library]
} else {
encoding dirs [list [file join [info library] encoding]] ;# TIP 258
}
# if the C code passed us a system encoding, apply it here.
if {[info exists tclkit_system_encoding]} {
# It is possible the chosen encoding is unavailable in which case
# we will be left with 'identity' to be handled below.
catch {encoding system $tclkit_system_encoding}
unset tclkit_system_encoding
}
# fix system encoding, if it wasn't properly set up (200207.004 bug)
if {[encoding system] eq "identity"} {
switch $::tcl_platform(platform) {
windows { encoding system cp1252 }
macintosh { encoding system macRoman }
default { encoding system iso8859-1 }
}
}
# now remount the executable with the correct encoding
vfs::filesystem unmount $noe
set noe $::tcl::kitpath
# resolve symlinks
set noe [file dirname [file normalize [file join $noe __dummy__]]]
set tcl_library [file join $noe lib tcl$tcl_version]
set tcl_libPath [list $tcl_library [file join $noe lib]]
vfs::filesystem mount $noe [list ::vfs::${driver}::handler exe]
}
# load config settings file if present
namespace eval ::vfs { variable tclkit_version 1 }
catch { uplevel #0 [list source [file join $noe config.tcl]] }
uplevel #0 [list source [file join $tcl_library init.tcl]]
# reset auto_path, so that init.tcl's search outside of tclkit is cancelled
set auto_path $tcl_libPath
}

BIN
src/runtime/tclkit86bi.vfs/lib/Ffidl0.9.0/Ffidl090.dll

Binary file not shown.

333
src/runtime/tclkit86bi.vfs/lib/Ffidl0.9.0/ffidlrt.tcl

@ -1,333 +0,0 @@
#
# Ffidl interface to Tcl8.2
#
# Run time support for Ffidl.
#
# NOTE: Remember to update FFIDLRT_VERSION in configure.ac when changing this
# version number.
package provide Ffidlrt 0.4
package require Ffidl
namespace eval ::ffidl:: {}
proc ::ffidl::find-pkg-lib {pkg} {
package require $pkg
foreach i [::info loaded {}] {
foreach {l p} $i {}
if {$p eq "$pkg"} {
return $l
}
}
# ignore errors when running under pkg_mkIndex:
if {![llength [info commands __package_orig]] } {
return -code error "Library for package $pkg not found"
}
}
namespace eval ::ffidl:: {
set ffidl_lib [find-pkg-lib Ffidl]
array set libs [list ffidl [list $ffidl_lib] ffidl_test [list $ffidl_lib]]
unset ffidl_lib
# 'libs' array is used by the ::ffidl::find-lib
# abstraction to store the resolved lib paths
#
# 'types' and 'typedefs' arrays are used by the ::ffidl::find-type
# abstraction to store resolved system types
# and whether they have already been defined
# with ::ffidl::typedef
array set typedefs {}
switch -exact $tcl_platform(platform) {
unix {
switch -glob $tcl_platform(os) {
Darwin {
array set libs {
c System.framework/System
m System.framework/System
gdbm {}
gmp {}
mathswig libmathswig0.5.dylib
}
array set types {
size_t {{unsigned long}}
clock_t {{unsigned long}}
time_t long
timeval {uint32 uint32}
}
}
Linux {
if {$tcl_platform(wordSize) == 8} {
if {$tcl_platform(machine) eq "alpha"} {
array set libs {
c /lib/libc.so.6.1
m /lib/libm.so.6.1
gdbm /usr/lib/libgdbm.so
gmp {/usr/local/lib/libgmp.so /usr/lib/libgmp.so.2}
mathswig libmathswig0.5.so
}
array set types {
size_t long
clock_t long
time_t long
timeval {time_t time_t}
}
} else {
array set libs {
c {
/lib64/libc.so.6
/lib/x86_64-linux-gnu/libc.so.6
}
m {
/lib64/libm.so.6
/lib/x86_64-linux-gnu/libm.so.6
}
gdbm {
/usr/lib64/libgdbm.so
/usr/lib/x86_64-linux-gnu/libgdbm.so
}
gmp {
/usr/lib/x86_64-linux-gnu/libgmp.so
/usr/local/lib64/libgmp.so
/usr/lib64/libgmp.so.2
}
mathswig libmathswig0.5.so
}
array set types {
size_t long
clock_t long
time_t long
timeval {time_t time_t}
}
}
} else {
array set libs {
c {
/lib/libc.so.6
/lib/i386-linux-gnu/libc.so.6
}
m {
/lib/libm.so.6
/lib/i386-linux-gnu/libm.so.6
}
gdbm {
/usr/lib/libgdbm.so
/usr/lib/i386-linux-gnu/libgdbm.so.3
}
gmp {
/usr/lib/i386-linux-gnu/libgmp.so.2
/usr/local/lib/libgmp.so
/usr/lib/libgmp.so.2
}
mathswig libmathswig0.5.so
}
array set types {
size_t int
clock_t long
time_t long
timeval {time_t time_t}
}
}
}
*BSD {
array set libs {
c {/usr/lib/libc.so /usr/lib/libc.so.30.1}
m {/usr/lib/libm.so /usr/lib/libm.so.1.0}
gdbm libgdbm.so
gmp libgmp.so
mathswig libmathswig0.5.so
}
array set types {
size_t int
clock_t long
time_t long
timeval {time_t time_t}
}
}
default {
array set libs {
c /lib/libc.so
m /lib/libm.so
gdbm libgdbm.so
gmp libgmp.so
mathswig libmathswig0.5.so
}
array set types {
size_t int
clock_t long
time_t long
timeval {time_t time_t}
}
}
}
}
windows {
#
# found libraries
# this array is used by the ::ffidl::find-lib
# abstraction to store the resolved lib paths
#
# CHANGE - put your resolved lib paths here
#
array set libs {
c msvcrt.dll
m msvcrt.dll
gdbm {}
gmp gmp202.dll
mathswig mathswig05.dll
}
#
# found types
# these arrays are used by the ::ffidl::find-type
# abstraction to store resolved system types
# and whether they have already been defined
# with ::ffidl::typedef
#
# CHANGE - put your resolved system types here
#
array set types {
size_t int
clock_t long
time_t long
timeval {time_t time_t}
}
array set typedefs {
}
}
}
}
#
# find a shared library given a root name
# this is an abstraction in search of a
# solution.
#
# currently wired for my linux box
#
proc ::ffidl::find-lib {root} {
upvar \#0 ::ffidl::libs libs
if { ! [::info exists libs($root)] || [llength libs($root)] == 0} {
error "::ffidl::find-lib $root - no mapping defined for $root"
}
if {[llength $libs($root)] > 1} {
foreach l $libs($root) {
if {[file exists $l]} {
set libs($root) $l
break
}
}
}
lindex $libs($root) 0
}
#
# find a typedef for a standard type
# and define it with ::ffidl::typedef
# if not already done
#
# currently wired for my linux box
#
proc ::ffidl::find-type {type} {
upvar \#0 ::ffidl::types types
upvar \#0 ::ffidl::typedefs typedefs
if { ! [::info exists types($type)]} {
error "::ffidl::find-type $type - no mapping defined for $type"
}
if { ! [::info exists typedefs($type)]} {
eval ::ffidl::typedef $type $types($type)
set typedefs($type) 1
}
}
#
# get the address of the string rep of a Tcl_Obj
# get the address of the unicode rep of a Tcl_Obj
# get the address of the bytearray rep of a Tcl_Obj
#
# CAUTION - anything which alters the Tcl_Obj may
# invalidate the results of this function. Use
# only in circumstances where the Tcl_Obj will not
# be modified in any way.
#
# CAUTION - the memory pointed to by the addresses
# returned by ::ffidl::get-string and ::ffidl::get-unicode
# is managed by Tcl, the contents should never be
# modified.
#
# The memory pointed to by ::ffidl::get-bytearray may
# be modified if care is taken to respect its size,
# and if shared references to the bytearray object
# are known to be compatible with the modification.
#
::ffidl::callout ::ffidl::get-string {pointer-obj} pointer [::ffidl::stubsymbol tcl stubs 340]; #Tcl_GetString
::ffidl::callout ::ffidl::get-unicode {pointer-obj} pointer [::ffidl::stubsymbol tcl stubs 382]; #Tcl_GetUnicode
::ffidl::callout ::ffidl::get-bytearray-from-obj {pointer-obj pointer-var} pointer [::ffidl::stubsymbol tcl stubs 33]; #Tcl_GetByteArrayFromObj
proc ::ffidl::get-bytearray {obj} {
set len [binary format [::ffidl::info format int] 0]
::ffidl::get-bytearray-from-obj $obj len
}
#
# create a new string Tcl_Obj
# create a new unicode Tcl_Obj
# create a new bytearray Tcl_Obj
#
# I'm not sure if these are actually useful
#
::ffidl::callout ::ffidl::new-string {pointer int} pointer-obj [::ffidl::stubsymbol tcl stubs 56]; #Tcl_NewStringObj
::ffidl::callout ::ffidl::new-unicode {pointer int} pointer-obj [::ffidl::stubsymbol tcl stubs 378]; #Tcl_NewUnicodeObj
::ffidl::callout ::ffidl::new-bytearray {pointer int} pointer-obj [::ffidl::stubsymbol tcl stubs 50]; #Tcl_NewByteArrayObj
::ffidl::find-type size_t
if {1} {
# Tcl's allocator: malloc, free, realloc.
::ffidl::callout ::ffidl::malloc {unsigned} pointer [::ffidl::stubsymbol tcl stubs 3]; #Tcl_Alloc
::ffidl::callout ::ffidl::realloc {pointer unsigned} pointer [::ffidl::stubsymbol tcl stubs 5]; #Tcl_Realloc
::ffidl::callout ::ffidl::free {pointer} void [::ffidl::stubsymbol tcl stubs 4]; #Tcl_Free
} else {
# access the standard allocator: malloc, free, realloc.
::ffidl::callout ::ffidl::malloc {size_t} pointer [::ffidl::symbol [::ffidl::find-lib c] malloc]
::ffidl::callout ::ffidl::realloc {pointer size_t} pointer [::ffidl::symbol [::ffidl::find-lib c] realloc]
::ffidl::callout ::ffidl::free {pointer} void [::ffidl::symbol [::ffidl::find-lib c] free]
}
#
# Copy some memory at some location into a Tcl bytearray.
#
# Needless to say, this can be very hazardous to your
# program's health if things aren't sized correctly.
#
::ffidl::callout ::ffidl::memcpy {pointer-var pointer size_t} pointer [::ffidl::symbol [::ffidl::find-lib ffidl] ffidl_copy_bytes];
#
# Regular memcpy working on pointers. ::ffidl::memcpy kept as is for compatibilitiy.
#
::ffidl::callout ::ffidl::memcpy2 {pointer pointer size_t} pointer [::ffidl::symbol [::ffidl::find-lib ffidl] ffidl_copy_bytes];
#
# Create a Tcl bytearray with a copy of the contents some memory location.
#
proc ::ffidl::peek {address nbytes} {
set dst [binary format x$nbytes]
::ffidl::memcpy dst $address $nbytes
set dst
}
#
# Copy the contents of a Tcl bytearray to some memory location.
#
proc ::ffidl::poke {dst src} {
set n [string length $bytes];
set src [::ffidl::get-bytearray $bytes];
::ffidl::memcpy2 $dst $src $n;
}
#
# convert raw pointers, as integers, into Tcl_Obj's
#
::ffidl::callout ::ffidl::pointer-into-string {pointer} pointer-utf8 [::ffidl::symbol [::ffidl::find-lib ffidl] ffidl_pointer_pun]
::ffidl::callout ::ffidl::pointer-into-unicode {pointer} pointer-utf16 [::ffidl::symbol [::ffidl::find-lib ffidl] ffidl_pointer_pun]
# ::ffidl::pointer-into-bytearray is deprecated. Use ::ffidl::peek instead.
interp alias {} ::ffidl::pointer-into-bytearray {} ::ffidl::peek;

12
src/runtime/tclkit86bi.vfs/lib/Ffidl0.9.0/pkgIndex.tcl

@ -1,12 +0,0 @@
# Tcl package index file, version 1.1
# This file is generated by the "pkg_mkIndex" command
# and sourced either when an application starts up or
# by a "package unknown" script. It invokes the
# "package ifneeded" command to set up package-related
# information so that packages will be loaded automatically
# in response to "package require" commands. When this
# script is sourced, the variable $dir must contain the
# full path name of this file's directory.
package ifneeded Ffidl 0.9.0 [list load [file join $dir Ffidl090.dll]]
package ifneeded Ffidlrt 0.4 [list source [file join $dir ffidlrt.tcl]]

BIN
src/runtime/tclkit86bi.vfs/lib/Memchan2.3/Memchan23.dll

Binary file not shown.

BIN
src/runtime/tclkit86bi.vfs/lib/Memchan2.3/libMemchanstub23.a

Binary file not shown.

2
src/runtime/tclkit86bi.vfs/lib/Memchan2.3/pkgIndex.tcl

@ -1,2 +0,0 @@
package ifneeded Memchan 2.3 \
[list load [file join $dir Memchan23.dll]]

BIN
src/runtime/tclkit86bi.vfs/lib/Trf2.1.4/Trf214.dll

Binary file not shown.

BIN
src/runtime/tclkit86bi.vfs/lib/Trf2.1.4/libTrfstub214.a

Binary file not shown.

2
src/runtime/tclkit86bi.vfs/lib/Trf2.1.4/pkgIndex.tcl

@ -1,2 +0,0 @@
package ifneeded Trf 2.1.4 \
[list load [file join $dir Trf214.dll]]

29
src/runtime/tclkit86bi.vfs/lib/cffi1.2.0/pkgIndex.tcl

@ -1,29 +0,0 @@
#
# Tcl package index file - generated from pkgIndex.tcl.in
#
package ifneeded cffi 1.2.0 \
[list apply [list {dir} {
set dllname "tclcffi120.dll"
set package "cffi"
set package_ns ::$package
# First try to load from current directory. If that fails, try from
# arch-specific subdirectories
set path [file join $dir $dllname]
if {[catch {uplevel #0 [list load $path $package]}]} {
package require platform
foreach platform [platform::patterns [platform::identify]] {
if {$platform eq "tcl"} continue
set path [file join $dir $platform $dllname]
if {![catch {uplevel #0 [list load $path $package]}]} {
break
}
}
}
if {[namespace exists $package_ns]} {
# Load was successful
set ${package_ns}::dll_path $path
set ${package_ns}::package_dir $dir
}
}] $dir]

BIN
src/runtime/tclkit86bi.vfs/lib/cffi1.2.0/win32-x86_64/tclcffi120.dll

Binary file not shown.

1856
src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/critcl.tcl

File diff suppressed because it is too large Load Diff

2
src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/pkgIndex.tcl

@ -1,2 +0,0 @@
if {![package vsatisfies [package provide Tcl] 8.6]} {return}
package ifneeded critcl::app 3.2 [list source [file join $dir critcl.tcl]]

134
src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/runtime.tcl

@ -1,134 +0,0 @@
#
# Critcl - build C extensions on-the-fly
#
# Copyright (c) 2001-2007 Jean-Claude Wippler
# Copyright (c) 2002-2007 Steve Landers
#
# See http://wiki.tcl.tk/critcl
#
# This is the Critcl runtime that loads the appropriate
# shared library when a package is requested
#
namespace eval ::critcl::runtime {}
proc ::critcl::runtime::loadlib {dir package version libname initfun tsrc mapping args} {
# XXX At least parts of this can be done by the package generator,
# XXX like listing the Tcl files to source. The glob here allows
# XXX code-injection after-the-fact, by simply adding a .tcl in
# XXX the proper place.
set path [file join $dir [MapPlatform $mapping]]
set ext [info sharedlibextension]
set lib [file join $path $libname$ext]
set provide [list]
# Now the runtime equivalent of a series of 'preFetch' commands.
if {[llength $args]} {
set preload [file join $path preload$ext]
foreach p $args {
set prelib [file join $path $p$ext]
if {[file readable $preload] && [file readable $prelib]} {
lappend provide [list load $preload];# XXX Move this out of the loop, do only once.
lappend provide [list ::critcl::runtime::preload $prelib]
}
}
}
lappend provide [list load $lib $initfun]
foreach t $tsrc {
lappend loadcmd "::critcl::runtime::Fetch \$dir [list $t]"
}
lappend provide "package provide $package $version"
package ifneeded $package $version [join $provide "\n"]
return
}
proc ::critcl::runtime::preFetch {path ext dll} {
set preload [file join $path preload$ext]
if {![file readable $preload]} return
set prelib [file join $path $dll$ext]
if {![file readable $prelib]} return
load $preload ; # Defines next command.
::critcl::runtime::preload $prelib
return
}
proc ::critcl::runtime::Fetch {dir t} {
# The 'Ignore' disables compile & run functionality.
# Background: If the regular critcl package is already loaded, and
# this prebuilt package uses its defining .tcl file also as a
# 'tsources' then critcl might try to collect data and build it
# because of the calls to its API, despite the necessary binaries
# already being present, just not in the critcl cache. That is
# redundant in the best case, and fails in the worst case (no
# compiler), preventing the use o a perfectly fine package. The
# 'ignore' call now tells critcl that it should ignore any calls
# made to it by the sourced files, and thus avoids that trouble.
# The other case, the regular critcl package getting loaded after
# this prebuilt package is irrelevant. At that point the tsources
# were already run, and used the dummy procedures defined in the
# critcl-rt.tcl, which ignore the calls by definition.
set t [file join $dir tcl $t]
::critcl::Ignore $t
uplevel #0 [list source $t]
return
}
proc ::critcl::runtime::precopy {dll} {
# This command is only used on Windows when preloading out of a
# VFS that doesn't support direct loading (usually, a Starkit)
# - we preserve the dll name so that dependencies are satisfied
# - The critcl::runtime::preload command is defined in the supporting
# "preload" package, implemented in "critcl/lib/critcl/critcl_c/preload.c"
global env
if {[info exists env(TEMP)]} {
set dir $env(TEMP)
} elseif {[info exists env(TMP)]} {
set dir $env(TMP)
} elseif {[info exists ~]} {
set dir ~
} else {
set dir .
}
set dir [file join $dir TCL[pid]]
set i 0
while {[file exists $dir]} {
append dir [incr i]
}
set new [file join $dir [file tail $dll]]
file mkdir $dir
file copy $dll $new
return $new
}
proc ::critcl::runtime::MapPlatform {{mapping {}}} {
# A sibling of critcl::platform that applies the platform mapping
set platform [::platform::generic]
set version $::tcl_platform(osVersion)
if {[string match "macosx-*" $platform]} {
# "normalize" the osVersion to match OSX release numbers
set v [split $version .]
set v1 [lindex $v 0]
set v2 [lindex $v 1]
incr v1 -4
set version 10.$v1.$v2
} else {
# Strip trailing non-version info
regsub -- {-.*$} $version {} version
}
foreach {config map} $mapping {
if {![string match $config $platform]} continue
set minver [lindex $map 1]
if {[package vcompare $version $minver] < 0} continue
set platform [lindex $map 0]
break
}
return $platform
}

188
src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/Config.in

@ -1,188 +0,0 @@
## -*- tcl -*- Critcl configuration file
# # ## ### ##### ######## ############# #####################
## For
# @@PNAME@@ @@PMAJORV@@.@@PMINORV@@
#
# Copyright (c) @@YEAR@@ @@PORG@@
#
# Generated by @@CRITCL@@
# At @@NOW@@
# This specific file gets filled by the TEA configure(.in) with the
# compiler information it found when run, and the accompanying
# Makefile(.in) uses it to overide critcl's default configuration
# settings. In this way we manage to get a proper TEA setup of flags
# and such, bypassing all of critcl's own selection logic. critcl is
# essentially 'just' used as a custom compiler driver, whereas a
# standard TEA Makefile would have all the relevant commands listed
# explicitly in its rules.
# # ## ### ##### ######## ############# #####################
## First, keep the GCC specific defaults.
compile gcc -c -fPIC
version gcc -v
link gcc -shared
include -I
preproc_define gcc -E -dM
preproc_enum gcc -E
tclstubs -DUSE_TCL_STUBS
tkstubs -DUSE_TK_STUBS
debug_memory -DTCL_MEM_DEBUG
debug_symbols -g
object .o
output -o [list $outfile]
ldoutput
link_debug
link_release
link_preload --unresolved-symbols=ignore-in-shared-libs
strip -Wl,-s
optimize -O2
noassert -DNDEBUG
threadflags -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 \
-DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_READDIR_R=1 \
-DTCL_THREADS=1
# # ## ### ##### ######## ############# #####################
## Second, define settings based on the system information found by
## configure(.in), converted into something usable by critcl. See the
## section below for the raw settings.
TEA platform @CRITCL_PLATFORM@
TEA compile @CRITCL_CC@
TEA version @CRITCL_VERSION@
TEA link @CRITCL_LINK@
TEA preproc_define @CRITCL_CPP_DEFINE@
TEA preproc_enum @CRITCL_CPP_ENUM@
TEA debug_symbols @CFLAGS_DEBUG@
TEA object .@OBJEXT@
TEA output @CRITCL_CC_OUTPUT@
TEA ldoutput @CRITCL_LD_OUTPUT@
TEA link_debug @CRITCL_LD_DBG@
TEA link_release @CRITCL_LD_REL@
TEA link_preload --unresolved-symbols=ignore-in-shared-libs
TEA strip
TEA optimize @CFLAGS_OPTIMIZE@
# # ## ### ##### ######## ############# #####################
## Third, the exact raw settings generated by configure(.in),
## as found in build_dir/config.status. To help debugging the
## munging, when its wrong.
##
## The lines marked with ** are those which are of especially high
## interest.
#** CC = (@CC@)
#** CFLAGS = (@CFLAGS@)
#** CFLAGS_DEBUG = (@CFLAGS_DEBUG@)
#** CFLAGS_OPTIMIZE = (@CFLAGS_OPTIMIZE@)
#** CFLAGS_WARNING = (@CFLAGS_WARNING@)
#** CPP = (@CPP@)
#** CPPFLAGS = (@CPPFLAGS@)
#** DEFS = (@DEFS@)
#** LDFLAGS = (@LDFLAGS@)
#** LDFLAGS_DEFAULT = (@LDFLAGS_DEFAULT@)
#** LIBS = (@LIBS@)
#** MAKE_LIB = (@MAKE_LIB@)
#** MAKE_SHARED_LIB = (@MAKE_SHARED_LIB@)
#** MAKE_STATIC_LIB = (@MAKE_STATIC_LIB@)
#** MAKE_STUB_LIB = (@MAKE_STUB_LIB@)
#** MATH_LIBS = (@MATH_LIBS@)
#** OBJEXT = (@OBJEXT@)
#** SHLIB_CFLAGS = (@SHLIB_CFLAGS@)
#** SHLIB_LD = (@SHLIB_LD@)
#** SHLIB_LD_LIBS = (@SHLIB_LD_LIBS@)
#** SHLIB_SUFFIX = (@SHLIB_SUFFIX@)
#** STLIB_LD = (@STLIB_LD@)
#** TCL_EXTRA_CFLAGS = (@TCL_EXTRA_CFLAGS@)
#** TCL_INCLUDES = (@TCL_INCLUDES@)
#** TCL_LD_FLAGS = (@TCL_LD_FLAGS@)
#** TCL_LIBS = (@TCL_LIBS@)
#** TCL_SHLIB_LD_LIBS = (@TCL_SHLIB_LD_LIBS@)
#** TCL_THREADS = (@TCL_THREADS@)
# AR = (@AR@)
# CELIB_DIR = (@CELIB_DIR@)
# CFLAGS_DEFAULT = (@CFLAGS_DEFAULT@)
# CLEANFILES = (@CLEANFILES@)
# CYGPATH = (@CYGPATH@)
# ECHO_C = (@ECHO_C@)
# ECHO_N = (@ECHO_N@)
# ECHO_T = (@ECHO_T@)
# EGREP = (@EGREP@)
# EXEEXT = (@EXEEXT@)
# GREP = (@GREP@)
# INSTALL_DATA = (@INSTALL_DATA@)
# INSTALL_PROGRAM = (@INSTALL_PROGRAM@)
# INSTALL_SCRIPT = (@INSTALL_SCRIPT@)
# LD_LIBRARY_PATH_VAR = (@LD_LIBRARY_PATH_VAR@)
# LIBOBJS = (@LIBOBJS@)
# LTLIBOBJS = (@LTLIBOBJS@)
# PACKAGE_BUGREPORT = (@PACKAGE_BUGREPORT@)
# PACKAGE_NAME = (@PACKAGE_NAME@)
# PACKAGE_STRING = (@PACKAGE_STRING@)
# PACKAGE_TARNAME = (@PACKAGE_TARNAME@)
# PACKAGE_VERSION = (@PACKAGE_VERSION@)
# PATH_SEPARATOR = (@PATH_SEPARATOR@)
# PKG_CFLAGS = (@PKG_CFLAGS@)
# PKG_HEADERS = (@PKG_HEADERS@)
# PKG_INCLUDES = (@PKG_INCLUDES@)
# PKG_LIBS = (@PKG_LIBS@)
# PKG_LIB_FILE = (@PKG_LIB_FILE@)
# PKG_OBJECTS = (@PKG_OBJECTS@)
# PKG_SOURCES = (@PKG_SOURCES@)
# PKG_STUB_LIB_FILE = (@PKG_STUB_LIB_FILE@)
# PKG_STUB_OBJECTS = (@PKG_STUB_OBJECTS@)
# PKG_STUB_SOURCES = (@PKG_STUB_SOURCES@)
# PKG_TCL_SOURCES = (@PKG_TCL_SOURCES@)
# RANLIB = (@RANLIB@)
# RANLIB_STUB = (@RANLIB_STUB@)
# SET_MAKE = (@SET_MAKE@)
# SHARED_BUILD = (@SHARED_BUILD@)
# SHELL = (@SHELL@)
# TCLSH_PROG = (@TCLSH_PROG@)
# TCL_BIN_DIR = (@TCL_BIN_DIR@)
# TCL_DBGX = (@TCL_DBGX@)
# TCL_DEFS = (@TCL_DEFS@)
# TCL_LIB_FILE = (@TCL_LIB_FILE@)
# TCL_LIB_FLAG = (@TCL_LIB_FLAG@)
# TCL_LIB_SPEC = (@TCL_LIB_SPEC@)
# TCL_PATCH_LEVEL = (@TCL_PATCH_LEVEL@)
# TCL_SRC_DIR = (@TCL_SRC_DIR@)
# TCL_STUB_LIB_FILE = (@TCL_STUB_LIB_FILE@)
# TCL_STUB_LIB_FLAG = (@TCL_STUB_LIB_FLAG@)
# TCL_STUB_LIB_SPEC = (@TCL_STUB_LIB_SPEC@)
# TCL_VERSION = (@TCL_VERSION@)
# VC_MANIFEST_EMBED_DLL = (@VC_MANIFEST_EMBED_DLL@)
# VC_MANIFEST_EMBED_EXE = (@VC_MANIFEST_EMBED_EXE@)
# ac_ct_CC = (@ac_ct_CC@)
# bindir = (@bindir@)
# build_alias = (@build_alias@)
# datadir = (@datadir@)
# datarootdir = (@datarootdir@)
# docdir = (@docdir@)
# dvidir = (@dvidir@)
# exec_prefix = (@exec_prefix@)
# host_alias = (@host_alias@)
# htmldir = (@htmldir@)
# includedir = (@includedir@)
# infodir = (@infodir@)
# libdir = (@libdir@)
# libexecdir = (@libexecdir@)
# localedir = (@localedir@)
# localstatedir = (@localstatedir@)
# mandir = (@mandir@)
# oldincludedir = (@oldincludedir@)
# pdfdir = (@pdfdir@)
# prefix = (@prefix@)
# program_transform_name = (@program_transform_name@)
# psdir = (@psdir@)
# sbindir = (@sbindir@)
# sharedstatedir = (@sharedstatedir@)
# sysconfdir = (@sysconfdir@)
# target_alias = (@target_alias@)
# # ## ### ##### ######## ############# #####################

145
src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/Makefile.in

@ -1,145 +0,0 @@
# Makefile.in --
#
# This file is a Makefile for "@@PNAME@@ @@PMAJORV@@.@@PMINORV@@". If this
# is "Makefile.in" then it is a template for a Makefile; to generate
# the actual Makefile, run "./configure", which is a configuration script
# generated by the "autoconf" program (constructs like "@foo@" will get
# replaced in the actual Makefile.
#
# Copyright (c) @@YEAR@@ @@PORG@@
#
# Generated by @@CRITCL@@
# At @@NOW@@
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#========================================================================
# Nothing of the variables below this line need to be changed. Please
# check the TARGETS section below to make sure the make targets are
# correct.
#========================================================================
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
libdir = @libdir@
mandir = @mandir@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datarootdir = @datarootdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedir = @sharedstatedir@
statedir = @localstatedir@
includedir = @includedir@
oldincludedir = @oldincludedir@
DESTDIR =
pkglibdir = $(libdir)/@PACKAGE_NAME@@PACKAGE_VERSION@
top_builddir = .
PACKAGE = @PACKAGE_NAME@
VERSION = @PACKAGE_VERSION@
CYGPATH = @CYGPATH@
TCLSH_PROG = @TCLSH_PROG@
CRITCL = `$(CYGPATH) $(srcdir)/critcl/main.tcl`
CONFIG_CLEAN_FILES =
@@API@@
@@UCONFIG@@
#========================================================================
# PKG_TCL_SOURCES identifies Tcl runtime files that are associated with
# this package that need to be installed, if any.
#========================================================================
PKG_TCL_SOURCES = @@PFILES@@
#========================================================================
# Start of user-definable TARGETS section
#========================================================================
all:
@echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@echo Please run '"make install"' to build and install the package.
@echo Critcl has no separate build-step.
doc:
@echo No documentation to build.
install:
@echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; \
cat $(top_builddir)/Config | grep -v '^#' ; \
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; \
rm -rf $(top_builddir)/results-tea ; \
$(TCLSH_PROG) $(CRITCL) \
-I $(prefix)/include \
-I $(exec_prefix)/include \
-I $(includedir)@@APIUSE@@ \
@@UCONFIGUSE@@ \
-keep -cache $(top_builddir)/results-tea \
-target TEA -config $(top_builddir)/Config \
-libdir $(DESTDIR)$(libdir) \
-includedir $(DESTDIR)$(includedir) \
-pkg $(PACKAGE)$(VERSION) \
$(PKG_TCL_SOURCES) ; \
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; \
cat $(top_builddir)/results-tea/*.log
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; \
install-auto: show-auto
@rm -rf $(top_builddir)/results-auto ; \
$(TCLSH_PROG) $(CRITCL) \
-I $(prefix)/include \
-I $(exec_prefix)/include \
-I $(includedir)@@APIUSE@@ \
@@UCONFIGUSE@@ \
-keep -cache $(top_builddir)/results-auto \
-libdir $(DESTDIR)$(libdir) \
-includedir $(DESTDIR)$(includedir) \
-pkg $(PACKAGE)$(VERSION) \
$(PKG_TCL_SOURCES) ; \
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; \
cat $(top_builddir)/results-auto/*.log
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; \
install-doc:
@echo No documentation to install.
show:
@$(TCLSH_PROG) $(CRITCL) \
-keep -cache $(top_builddir)/results-tea \
-target TEA -config $(top_builddir)/Config \
-libdir $(DESTDIR)$(libdir) \
-pkg -show
show-auto:
@$(TCLSH_PROG) $(CRITCL) \
-keep -cache $(top_builddir)/results-auto \
-libdir $(DESTDIR)$(libdir) \
-pkg -show
clean:
rm -rf doc *-doc
distclean: clean
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-rm -f config.status
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
.PHONY: all binaries clean depend distclean doc install installdirs libraries test
# 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:

180
src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/aclocal.m4 vendored

@ -1,180 +0,0 @@
#
# Include the TEA standard macro set
#
builtin(include,tclconfig/tcl.m4)
#
# Add here whatever m4 macros you want to define for your package
#
#------------------------------------------------------------------------
# CRITCL_TEA_PUBLIC_PACKAGE_HEADERS --
#
# Locate the installed public FOO header files
#
# Arguments:
# Name of the package to search headers for.
#
# Requires:
# CYGPATH must be set
#
# Results:
#
# Adds a --with-[$1]-include switch to configure.
# Result is cached.
#
# Substs the following vars:
# CRITCL_API_$1_INCLUDE
#------------------------------------------------------------------------
AC_DEFUN([CRITCL_TEA_PUBLIC_PACKAGE_HEADERS],[
# CRITCL_TEA_PUBLIC_PACKAGE_HEADERS: $1
AC_MSG_CHECKING([for $1 public headers])
AC_ARG_WITH([$1-include], [ --with-$1-include directory containing the public $1 header files], [with_$1_include=${withval}])
AC_CACHE_VAL(ac_cv_c_$1_header, [
# Use the value from --with-$1-include, if it was given
if test x"[$]{with_$1_include}" != x ; then
if test -f "[$]{with_$1_include}/$1Decls.h" ; then
ac_cv_c_$1_header=[$]{with_$1_include}
else
AC_MSG_ERROR([[$]{with_$1_include} directory does not contain $1Decls.h])
fi
else
list=""
if test "`uname -s`" = "Darwin"; then
# If $1 was built as a framework, attempt to use
# the framework's Headers directory
case [$]{$1_DEFS} in
*$1_FRAMEWORK*)
list="`ls -d [$]{$1_BIN_DIR}/Headers 2>/dev/null`"
;;
esac
fi
# Check order: pkg --prefix location, Tcl's --prefix location,
# relative to directory of $1Config.sh.
eval "temp_includedir=[$]{includedir}"
list="[$]list \
`ls -d [$]{temp_includedir} 2>/dev/null` \
`ls -d [$]{$1_PREFIX}/include 2>/dev/null` \
`ls -d [$]{$1_BIN_DIR}/../include 2>/dev/null` \
`ls -d ${TCL_PREFIX}/include 2>/dev/null` \
`ls -d ${TCL_BIN_DIR}/../include 2>/dev/null`"
if test "[$]{TEA_PLATFORM}" != "windows" -o "[$]GCC" = "yes"; then
list="[$]list /usr/local/include /usr/include"
if test x"[$]{$1_INCLUDE_SPEC}" != x ; then
d=`echo "[$]{$1_INCLUDE_SPEC}" | sed -e 's/^-I//'`
list="[$]list `ls -d ${d} 2>/dev/null`"
fi
fi
for i in [$]list ; do
if test -f "[$]i/$1/$1Decls.h" ; then
ac_cv_c_$1_header=[$]i
break
fi
done
fi
])
# Print a message based on how we determined the include path
if test x"[$]{ac_cv_c_$1_header}" = x ; then
AC_MSG_ERROR([$1Decls.h not found. Please specify its location with --with-$1-include])
else
AC_MSG_RESULT([[$]{ac_cv_c_$1_header}])
fi
# Convert to a native path and substitute into the transfer variable.
# NOTE: Anything going into actual TEA would have to use A TEA_xx
# transfer variable, instead of critcl.
INCLUDE_DIR_NATIVE=`[$]{CYGPATH} [$]{ac_cv_c_$1_header}`
CRITCL_API_$1_INCLUDE="\"[$]{INCLUDE_DIR_NATIVE}\""
AC_SUBST([CRITCL_API_$1_INCLUDE])
])
#------------------------------------------------------------------------
# CRITCL_TEA_WITH_CONFIG --
#
# Declare a --with-FOO option, with default and legal values.
#
# Arguments:
# Name of the option.
# List of legal values.
# Default value.
# Option description.
#
# Requires:
# Results:
# Adds a --with-[$1] switch to configure.
#
# Substs the following vars:
# CRITCL_UCONFIG_$1
#------------------------------------------------------------------------
AC_DEFUN([CRITCL_TEA_WITH_CONFIG],[
# CRITCL_TEA_WITH_CONFIG: $1
AC_ARG_WITH([$1],
AC_HELP_STRING([--with-$1],
[$4]),
[with_uc_$1=${withval}])
# Use default if user did not specify anything.
if test x"[$]{with_uc_$1}" = x ; then
with_uc_$1="$3"
fi
AC_MSG_CHECKING([Validating $1])
tcl_ok=no
for x in $2
do
if test "[$]x" = "[$]with_uc_$1" ; then
tcl_ok=yes
break
fi
done
if test "[$]tcl_ok" = "no" ; then
AC_MSG_ERROR([Illegal value [$]with_uc_$1, expected one of: $2])
else
AC_MSG_RESULT([[$]with_uc_$1])
fi
CRITCL_UCONFIG_$1="-with-$1 \"[$]with_uc_$1\""
AC_SUBST([CRITCL_UCONFIG_$1])
])
#------------------------------------------------------------------------
# CRITCL_TEA_BOOL_CONFIG --
#
# Declare a --disable/enable-FOO option, with default.
#
# Arguments:
# Name of the option.
# Default value.
# Option description.
#
# Requires:
# Results:
# Adds a --enable-[$1] switch to configure.
#
# Substs the following vars:
# CRITCL_UCONFIG_$1
#------------------------------------------------------------------------
AC_DEFUN([CRITCL_TEA_BOOL_CONFIG],[
# CRITCL_TEA_BOOL_CONFIG: $1
AC_ARG_ENABLE([$1],
AC_HELP_STRING([--enable-$1],[$3]),
[bool_uc_$1=${enableval}]
[bool_uc_$1="$2"])
if test "bool_uc_$1" = "yes" ; then
CRITCL_UCONFIG_$1="-enable $1"
else
CRITCL_UCONFIG_$1="-disable $1"
fi
AC_SUBST([CRITCL_UCONFIG_$1])
])

151
src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/configure.in

@ -1,151 +0,0 @@
# Configure for
# @@PNAME@@ @@PMAJORV@@.@@PMINORV@@
#
# Copyright (c) @@YEAR@@ @@PORG@@
#
# Generated by @@CRITCL@@
# At @@NOW@@
AC_INIT([@@PNAME@@],[@@PMAJORV@@.@@PMINORV@@])
TEA_INIT([3.9])
AC_CONFIG_AUX_DIR(tclconfig)
#--------------------------------------------------------------------
# Configure script for package '@@PNAME@@'.
# TEA compliant.
#--------------------------------------------------------------------
#--------------------------------------------------------------------
# Load the tclConfig.sh file
#--------------------------------------------------------------------
TEA_PATH_TCLCONFIG
TEA_LOAD_TCLCONFIG
#-----------------------------------------------------------------------
## Std TEA setup
TEA_PREFIX
TEA_SETUP_COMPILER
TEA_PUBLIC_TCL_HEADERS
#TEA_PRIVATE_TCL_HEADERS
TEA_ENABLE_THREADS
TEA_ENABLE_SHARED
TEA_CONFIG_CFLAGS
TEA_ENABLE_SYMBOLS
AC_DEFINE(USE_TCL_STUBS)
TEA_MAKE_LIB
TEA_PROG_TCLSH
@@API@@
@@UCONFIG@@
#-----------------------------------------------------------------------
## Convert the TEA settings determined by the macros in the last
## section into something critcl can use throughts configuration.
AC_MSG_RESULT([critcl config: derived from core TEA])
#AC_MSG_RESULT([critcl config: CC............. ${CC}])
#AC_MSG_RESULT([critcl config: CFLAGS......... ${CFLAGS}])
#AC_MSG_RESULT([critcl config: SHLIB_LD....... ${SHLIB_LD}])
#AC_MSG_RESULT([critcl config: LIBS........... ${LIBS}|
#AC_MSG_RESULT([critcl config: MATH_LIBS...... ${MATH_LIBS}])
#AC_MSG_RESULT([critcl config: CFLAGS_DEFAULT. ${CFLAGS_DEFAULT}])
#AC_MSG_RESULT([critcl config: CFLAGS_WARNING. ${CFLAGS_WARNING}])
#AC_MSG_RESULT([critcl config: SHLIB_CFLAGS... ${SHLIB_CFLAGS}])
#AC_MSG_RESULT([critcl config: LDFLAGS_DEFAULT ${LDFLAGS_DEFAULT}])
#-----------------------------------------------------------------------
## 1. Basic/foundational translation.
CRITCL_CC="$(eval echo ${CC} -c ${CFLAGS})"
CRITCL_VERSION="${CC} -v"
CRITCL_LINK="$(eval echo $(eval echo ${SHLIB_LD} ${LIBS} ${MATH_LIBS}))"
CRITCL_PLATFORM="$(${TCLSH_PROG} ${srcdir}/critcl/main.tcl -showtarget)"
CRITCL_LD_DBG=""
CRITCL_LD_REL=""
CRITCL_CC_OUTPUT="-o [[list \$outfile]]"
CRITCL_LD_OUTPUT=""
if test "${GCC}" = "yes"
then
CRITCL_CPP_DEFINE="${CPP} -dM"
else
CRITCL_CPP_DEFINE="${CPP}"
if test "${TEA_PLATFORM}" = "windows"
then
# windows, no gcc => msvc
CRITCL_CC_OUTPUT="[[list -Fo\$outfile]]"
CRITCL_LD_OUTPUT="-dll [[list -out:\$outfile]]"
CRITCL_LD_DBG="-debug:full -debugtype:cv -verbose:lib"
CRITCL_LD_REL="-release -opt:ref -opt:icf,3 -ws:aggressive -verbose:lib"
if test "$do64bit" = "no" ; then
# 32bit
CRITCL_LD_DBG="$CRITCL_LD_DBG -nodefaultlib:libc"
fi
fi
fi
CRITCL_CPP_ENUM="${CPP}"
#-----------------------------------------------------------------------
## 2. Fine tuning the commands, this now is platform specific.
case $(uname -s) in
Darwin*)
AC_MSG_RESULT([critcl config: darwin specific tune-up])
# - Critcl, due to essentially generating its private
# lib{tcl,tk}stub.a does generate common symbols for the
# stubs tables. Use of -fno-common then prevents linking the
# object files.
#
# - A version 0.0 as pulled from TEA package version is not
# liked by the Darwin gcc either (Example: crimp).
CRITCL_CC="$(echo "$CRITCL_CC" |sed -e 's,-fno-common,,g')"
CRITCL_LINK="$(echo "$CRITCL_LINK"|sed -e 's,-fno-common,,g')"
CRITCL_LINK="$(echo "$CRITCL_LINK"|sed -e 's,-current_version 0\.0,,g')"
CRITCL_LINK="$(echo "$CRITCL_LINK"|sed -e 's,-compatibility_version 0\.0,,g')"
;;
*)
;;
esac
#-----------------------------------------------------------------------
## Conversion results
AC_MSG_RESULT([critcl config: platform.......... $CRITCL_PLATFORM])
AC_MSG_RESULT([critcl config: compile........... $CRITCL_CC])
AC_MSG_RESULT([critcl config: link.............. $CRITCL_LINK])
AC_MSG_RESULT([critcl config: cpp define........ $CRITCL_CPP_DEFINE])
AC_MSG_RESULT([critcl config: cpp enum.......... $CRITCL_CPP_ENUM])
AC_MSG_RESULT([critcl config: version inquiry... $CRITCL_VERSION])
AC_MSG_RESULT([critcl config: cc output......... $CRITCL_CC_OUTPUT])
AC_MSG_RESULT([critcl config: ld output......... $CRITCL_LD_OUTPUT])
AC_MSG_RESULT([critcl config: ld debug.......... $CRITCL_LD_DBG])
AC_MSG_RESULT([critcl config: ld release........ $CRITCL_LD_REL])
#-----------------------------------------------------------------------
AC_SUBST(CRITCL_CC)
AC_SUBST(CRITCL_VERSION)
AC_SUBST(CRITCL_LINK)
AC_SUBST(CRITCL_PLATFORM)
AC_SUBST(CRITCL_CPP_DEFINE)
AC_SUBST(CRITCL_CPP_ENUM)
AC_SUBST(CRITCL_CC_OUTPUT)
AC_SUBST(CRITCL_LD_OUTPUT)
AC_SUBST(CRITCL_LD_DBG)
AC_SUBST(CRITCL_LD_REL)
#AC_SUBST(CRITCL_)
#AC_SUBST()
#--------------------------------------------------------------------
# Finally, substitute all of the various values into the Makefile.
# You may alternatively have a special pkgIndex.tcl.in or other files
# which require substituting th AC variables in. Include these here.
#--------------------------------------------------------------------
AC_OUTPUT([Makefile Config])

26
src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/tclconfig/README.txt

@ -1,26 +0,0 @@
These files comprise the basic building blocks for a Tcl Extension
Architecture (TEA) extension. For more information on TEA see:
http://www.tcl.tk/doc/tea/
This package is part of the Tcl project at SourceForge, and latest
sources should be available there:
http://tcl.sourceforge.net/
This package is a freely available open source package. You can do
virtually anything you like with it, such as modifying it, redistributing
it, and selling it either in whole or in part.
CONTENTS
========
The following is a short description of the files you will find in
the sample extension.
README.txt This file
install-sh Program used for copying binaries and script files
to their install locations.
tcl.m4 Collection of Tcl autoconf macros. Included by a package's
aclocal.m4 to define TEA_* macros.

119
src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/tclconfig/install-sh

@ -1,119 +0,0 @@
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5; it is not part of GNU.
#
# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
#
# This script is compatible with the BSD install script, but was written
# from scratch.
#
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
instcmd="$mvprog"
chmodcmd=""
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
fi
# Make a temp file name in the proper directory.
dstdir=`dirname $dst`
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp
# and set any options; do chmod last to preserve setuid bits
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
# Now rename the file to the real destination.
$doit $rmcmd $dst
$doit $mvcmd $dsttmp $dst
exit 0

4033
src/runtime/tclkit86bi.vfs/lib/critcl-app3.2/tea/tclconfig/tcl.m4

File diff suppressed because it is too large Load Diff

227
src/runtime/tclkit86bi.vfs/lib/critcl-bitmap1.1/bitmap.tcl

@ -1,227 +0,0 @@
## -*- tcl -*-
# # ## ### ##### ######## ############# #####################
# Pragmas for MetaData Scanner.
# n/a
# CriTcl Utility Package for bitmap en- and decoder.
# Based on i-assoc.
package provide critcl::bitmap 1.1
# # ## ### ##### ######## ############# #####################
## Requirements.
package require Tcl 8.6 ; # Min supported version.
package require critcl 3.2
package require critcl::iassoc
namespace eval ::critcl::bitmap {}
# # ## ### ##### ######## ############# #####################
## Implementation -- API: Embed C Code
proc critcl::bitmap::def {name dict {exclusions {}}} {
# dict: Tcl symbolic name -> (C bit-mask (1))
#
# (Ad 1) Can be numeric, or symbolic, as long as it is a C int
# expression in the end.
#
# (Ad exclusions)
# Excluded bit-masks cannot be converted back to Tcl
# symbols. These are usually masks with multiple bits
# set. Conversion back delivers the individual elements
# instead of the combined mask.
#
# If no exclusions are specified the generated code is
# simpler, i.e. not containing anything for dealing with
# exclusions at runtime.
# For the C level opt array we want the elements sorted alphabetically.
set symbols [lsort -dict [dict keys $dict]]
set i 0
foreach s $symbols {
set id($s) $i
incr i
}
set last $i
set hasexcl [llength $exclusions]
set excl {}
foreach e $exclusions {
dict set excl $e .
}
dict for {sym mask} $dict {
set receivable [expr {![dict exists $excl $mask]}]
set map [list @ID@ $id($sym) @SYM@ $sym @MASK@ $mask @RECV@ $receivable]
if {$hasexcl} {
append init \n[critcl::at::here!][string map $map {
data->c [@ID@] = "@SYM@";
data->mask [@ID@] = @MASK@;
data->recv [@ID@] = @RECV@;
data->tcl [@ID@] = Tcl_NewStringObj ("@SYM@", -1);
Tcl_IncrRefCount (data->tcl [@ID@]);
}]
} else {
append init \n[critcl::at::here!][string map $map {
data->c [@ID@] = "@SYM@";
data->mask [@ID@] = @MASK@;
data->tcl [@ID@] = Tcl_NewStringObj ("@SYM@", -1);
Tcl_IncrRefCount (data->tcl [@ID@]);
}]
}
append final \n[critcl::at::here!][string map $map {
Tcl_DecrRefCount (data->tcl [@ID@]);
}]
}
append init \n " data->c \[$last\] = NULL;"
lappend map @NAME@ $name
lappend map @UNAME@ [string toupper $name]
lappend map @LAST@ $last
# I. Generate a header file for inclusion by other parts of the
# package, i.e. csources. Include the header here as well, for
# the following blocks of code.
#
# Declaration of the en- and decoder functions.
critcl::include [critcl::make ${name}.h \n[critcl::at::here!][string map $map {
#ifndef @NAME@_HEADER
#define @NAME@_HEADER
/* Encode a flag list into the corresponding bitset */
extern int
@NAME@_encode (Tcl_Interp* interp,
Tcl_Obj* flags,
int* result);
/* Decode a bitset into the corresponding flag list */
extern Tcl_Obj*
@NAME@_decode (Tcl_Interp* interp,
int mask);
#endif
}]]
# II: Generate the interp association holding the various
# conversion maps.
if {$hasexcl} {
critcl::iassoc def ${name}_iassoc {} \n[critcl::at::here!][string map $map {
const char* c [@LAST@+1]; /* Bit name, C string */
Tcl_Obj* tcl [@LAST@]; /* Bit name, Tcl_Obj*, sharable */
int mask [@LAST@]; /* Bit mask */
int recv [@LAST@]; /* Flag, true for receivable event */
}] $init $final
} else {
critcl::iassoc def ${name}_iassoc {} \n[critcl::at::here!][string map $map {
const char* c [@LAST@+1]; /* Bit name, C string */
Tcl_Obj* tcl [@LAST@]; /* Bit name, Tcl_Obj*, sharable */
int mask [@LAST@]; /* Bit mask */
}] $init $final
}
# III: Generate encoder function: Conversion of list of flag names
# into corresponding bitset.
critcl::ccode \n[critcl::at::here!][string map $map {
int
@NAME@_encode (Tcl_Interp* interp,
Tcl_Obj* flags,
int* result)
{
@NAME@_iassoc_data context = @NAME@_iassoc (interp);
int mask, lc, i, id;
Tcl_Obj** lv;
if (Tcl_ListObjGetElements (interp, flags, &lc, &lv) != TCL_OK) {
return TCL_ERROR;
}
mask = 0;
for (i = 0; i < lc; i++) {
if (Tcl_GetIndexFromObj (interp, lv[i], context->c, "@NAME@", 0,
&id) != TCL_OK) {
Tcl_SetErrorCode (interp, "@UNAME@", "FLAG", NULL);
return TCL_ERROR;
}
mask |= context->mask [id];
}
*result = mask;
return TCL_OK;
}
}]
# IV: Generate decoder function: Convert bitset into the
# corresponding list of flag names.
if {$hasexcl} {
critcl::ccode \n[critcl::at::here!][string map $map {
Tcl_Obj*
@NAME@_decode (Tcl_Interp* interp, int mask)
{
int i;
@NAME@_iassoc_data context = @NAME@_iassoc (interp);
Tcl_Obj* res = Tcl_NewListObj (0, NULL);
for (i = 0; i < @LAST@; i++) {
if (!context->recv[i]) continue;
if (!(mask & context->mask[i])) continue;
(void) Tcl_ListObjAppendElement (interp, res, context->tcl [i]);
}
return res;
}
}]
} else {
critcl::ccode \n[critcl::at::here!][string map $map {
Tcl_Obj*
@NAME@_decode (Tcl_Interp* interp, int mask)
{
int i;
@NAME@_iassoc_data context = @NAME@_iassoc (interp);
Tcl_Obj* res = Tcl_NewListObj (0, NULL);
for (i = 0; i < @LAST@; i++) {
if (!(mask & context->mask[i])) continue;
(void) Tcl_ListObjAppendElement (interp, res, context->tcl [i]);
}
return res;
}
}]
}
# V. Define convenient argument- and result-type definitions
# wrapping the de- and encoder functions for use by cprocs.
critcl::argtype $name \n[critcl::at::here!][string map $map {
if (@NAME@_encode (interp, @@, &@A) != TCL_OK) return TCL_ERROR;
}] int int
critcl::resulttype $name \n[critcl::at::here!][string map $map {
/* @NAME@_decode result is 0-refcount */
Tcl_SetObjResult (interp, @NAME@_decode (interp, rv));
return TCL_OK;
}] int
}
# # ## ### ##### ######## ############# #####################
## Export API
namespace eval ::critcl::bitmap {
namespace export def
catch { namespace ensemble create }
}
namespace eval ::critcl {
namespace export bitmap
catch { namespace ensemble create }
}
# # ## ### ##### ######## ############# #####################
## Ready
return

2
src/runtime/tclkit86bi.vfs/lib/critcl-bitmap1.1/pkgIndex.tcl

@ -1,2 +0,0 @@
if {![package vsatisfies [package provide Tcl] 8.6]} {return}
package ifneeded critcl::bitmap 1.1 [list source [file join $dir bitmap.tcl]]

468
src/runtime/tclkit86bi.vfs/lib/critcl-class1.2/class.h

@ -1,468 +0,0 @@
/*
* For package "@package@".
* Implementation of Tcl Class "@class@".
*
* Flags: @buildflags@
*/
#ifndef @stem@_IMPLEMENTATION
#define @stem@_IMPLEMENTATION (1)
/* # # ## ### ##### ######## ############# ##################### */
@includes@
#line 14 "class.h"
/*
* Instance method names and enumeration.
*/
static CONST char* @stem@_methodnames [] = {
@method_names@
#line 21 "class.h"
NULL
};
typedef enum @stem@_methods {
@method_enumeration@
#line 27 "class.h"
} @stem@_methods;
/*
* Class method names and enumeration.
*/
static CONST char* @stem@_class_methodnames [] = {
"create",
"new",@class_method_names@
#line 37 "class.h"
NULL
};
typedef enum @stem@_classmethods {
@stem@_CM_create,
@stem@_CM_new@class_method_enumeration@
#line 44 "class.h"
} @stem@_classmethods;
/*
* Class structures I. Class variables.
*/
typedef struct @classtype@__ {
@ctypedecl@
#line 53 "class.h"
} @classtype@__;
typedef struct @classtype@__* @classtype@;
/*
* Class structures II. Creation management.
*/
typedef struct @classtype@_mgr_ {
@classmgrstruct@
#line 63 "class.h"
@classtype@__ user; /* User-specified class variables */
} @classtype@_mgr_;
typedef struct @classtype@_mgr_* @classtype@_mgr;
/*
* Instance structure.
*/
@itypedecl@
#line 73 "class.h"
/* # # ## ### ##### ######## User: General support */
@support@
#line 77 "class.h"
/* # # ## ### ##### ######## */
/*
* Class support functions.
*/
static void
@stem@_ClassRelease (ClientData cd, Tcl_Interp* interp)
{
@classtype@_mgr classmgr = (@classtype@_mgr) cd;
@classtype@ class = &classmgr->user;
@classdestructor@
#line 90 "class.h"
ckfree((char*) cd);
}
static @classtype@_mgr
@stem@_Class (Tcl_Interp* interp)
{
#define KEY "@package@/@class@"
Tcl_InterpDeleteProc* proc = @stem@_ClassRelease;
@classtype@_mgr classmgr;
@classtype@ class;
classmgr = Tcl_GetAssocData (interp, KEY, &proc);
if (classmgr) {
return classmgr;
}
classmgr = (@classtype@_mgr) ckalloc (sizeof (@classtype@_mgr_));
@classmgrsetup@
#line 110 "class.h"
class = &classmgr->user;
@classconstructor@
#line 114 "class.h"
Tcl_SetAssocData (interp, KEY, proc, (ClientData) classmgr);
return classmgr;
error:
ckfree ((char*) classmgr);
return NULL;
#undef KEY
}
@classmgrnin@
#line 124 "class.h"
/* # # ## ### ##### ######## */
static @instancetype@
@stem@_Constructor (Tcl_Interp* interp,
@classtype@ class,
int objcskip,
int objc,
Tcl_Obj*const* objv)
{
@ivardecl@;
/* # # ## ### ##### ######## User: Constructor */
@constructor@
#line 137 "class.h"
/* # # ## ### ##### ######## */
return instance;
@ivarerror@;
#line 141 "class.h"
}
static void
@stem@_PostConstructor (Tcl_Interp* interp,
@instancetype@ instance,
Tcl_Command cmd,
Tcl_Obj* fqn)
{
/* # # ## ### ##### ######## User: Post Constructor */
@postconstructor@
#line 152 "class.h"
/* # # ## ### ##### ######## */
}
static void
@stem@_Destructor (ClientData clientData)
{
@instancetype@ instance = (@instancetype@) clientData;
/* # # ## ### ##### ######## User: Destructor */
@destructor@
#line 162 "class.h"
/* # # ## ### ##### ######## */
@ivarrelease@;
#line 165 "class.h"
}
/* # # ## ### ##### ######## User: Methods */
@method_implementations@
#line 170 "class.h"
/* # # ## ### ##### ######## */
/*
* Instance command, method dispatch
*/
static int
@stem@_InstanceCommand (ClientData clientData,
Tcl_Interp* interp,
int objc,
Tcl_Obj* CONST* objv)
{
@instancetype@ instance = (@instancetype@) clientData;
int mcode;
if (objc < 2) {
Tcl_WrongNumArgs (interp, objc, objv, "option ?arg arg ...?");
return TCL_ERROR;
} else if (Tcl_GetIndexFromObj (interp, objv [1],
(const char**) @stem@_methodnames,
"option", 0, &mcode) != TCL_OK) {
return TCL_ERROR;
}
/*
* Dispatch to methods. They check the #args in detail before performing
* the requested functionality
*/
switch ((@stem@_methods) mcode) {
@method_dispatch@
#line 202 "class.h"
}
/* Not coming to this place */
return TCL_ERROR;
}
@cconscmd@
#line 209 "class.h"
@capiclassvaraccess@
#line 211 "class.h"
@tclconscmd@
#line 213 "class.h"
/* # # ## ### ##### ######## User: Class Methods */
@class_method_implementations@
#line 216 "class.h"
@classcommand@
#line 218 "class.h"
/* # # ## ### ##### ######## ############# ##################### */
#endif /* @stem@_IMPLEMENTATION */
/*
* Local Variables:
* mode: c
* c-basic-offset: 4
* fill-column: 78
* End:
*/

#line 230 "class.h"
const char* name; /* Class name, for debugging */
long int counter; /* Id generation counter */
char buf [sizeof("@class@")+20]; /* Stash for the auto-generated object names. */

classmgr->name = "@stem@";
classmgr->counter = 0;

#line 238 "class.h"
static CONST char*
@stem@_NewInstanceName (@classtype@_mgr classmgr)
{
classmgr->counter ++;
sprintf (classmgr->buf, "@class@%ld", classmgr->counter);
return classmgr->buf;
}

#line 247 "class.h"
/* # # ## ### ##### ######## */
/*
* Tcl API :: Class command, class method, especially instance construction.
*/
int
@stem@_ClassCommand (ClientData clientData,
Tcl_Interp* interp,
int objc,
Tcl_Obj* CONST* objv)
{
@classtype@_mgr classmgr;
@classtype@ class;
int mcode;
if (objc < 2) {
Tcl_WrongNumArgs (interp, 0, objv, "method ?args...?");
return TCL_ERROR;
}
if (Tcl_GetIndexFromObj (interp, objv [1],
(const char**) @stem@_class_methodnames,
"option", 0, &mcode) != TCL_OK) {
return TCL_ERROR;
}
classmgr = @stem@_Class (interp);
if (!classmgr) {
return TCL_ERROR;
}
class = &classmgr->user;
/*
* Dispatch to methods. They check the #args in detail before performing
* the requested functionality
*/
switch ((@stem@_classmethods) mcode) {
case @stem@_CM_create: return @stem@_CM_createCmd (classmgr, interp, objc, objv); break;
case @stem@_CM_new: return @stem@_CM_newCmd (classmgr, interp, objc, objv); break;@class_method_dispatch@
#line 288 "class.h"
}
/* Not coming to this place */
return TCL_ERROR;
}

#line 294 "class.h"
/* # # ## ### ##### ########: Predefined class methods */
static int
@stem@_NewInstance (const char* name,
@classtype@_mgr classmgr,
Tcl_Interp* interp,
int objcskip,
int objc,
Tcl_Obj* CONST* objv)
{
@instancetype@ instance;
Tcl_Obj* fqn;
Tcl_CmdInfo ci;
Tcl_Command cmd;
/*
* Compute the fully qualified command name to use, putting
* the command into the current namespace if necessary.
*/
if (!Tcl_StringMatch (name, "::*")) {
/* Relative name. Prefix with current namespace */
Tcl_Eval (interp, "namespace current");
fqn = Tcl_GetObjResult (interp);
fqn = Tcl_DuplicateObj (fqn);
Tcl_IncrRefCount (fqn);
if (!Tcl_StringMatch (Tcl_GetString (fqn), "::")) {
Tcl_AppendToObj (fqn, "::", -1);
}
Tcl_AppendToObj (fqn, name, -1);
} else {
fqn = Tcl_NewStringObj (name, -1);
Tcl_IncrRefCount (fqn);
}
Tcl_ResetResult (interp);
/*
* Check if the commands exists already, and bail out if so.
* We will not overwrite an existing command.
*/
if (Tcl_GetCommandInfo (interp, Tcl_GetString (fqn), &ci)) {
Tcl_Obj* err;
err = Tcl_NewObj ();
Tcl_AppendToObj (err, "command \"", -1);
Tcl_AppendObjToObj (err, fqn);
Tcl_AppendToObj (err, "\" already exists, unable to create @class@ instance", -1);
Tcl_DecrRefCount (fqn);
Tcl_SetObjResult (interp, err);
return TCL_ERROR;
}
/*
* Construct instance state, and command.
*/
instance = @stem@_Constructor (interp, &classmgr->user, objcskip, objc, objv);
if (!instance) {
return TCL_ERROR;
}
cmd = Tcl_CreateObjCommand (interp, Tcl_GetString (fqn),
@stem@_InstanceCommand,
(ClientData) instance,
@stem@_Destructor);
@stem@_PostConstructor (interp, instance, cmd, fqn);
Tcl_SetObjResult (interp, fqn);
Tcl_DecrRefCount (fqn);
return TCL_OK;
}
static int
@stem@_CM_createCmd (@classtype@_mgr classmgr,
Tcl_Interp* interp,
int objc,
Tcl_Obj* CONST* objv)
{
/* <class> create <name> ... */
char* name;
if (objc < 3) {
Tcl_WrongNumArgs (interp, 1, objv, "name ?args...?");
return TCL_ERROR;
}
name = Tcl_GetString (objv [2]);
objc -= 3;
objv += 3;
return @stem@_NewInstance (name, classmgr, interp, 3, objc, objv);
}
static int
@stem@_CM_newCmd (@classtype@_mgr classmgr,
Tcl_Interp* interp,
int objc,
Tcl_Obj* CONST* objv)
{
/* <class> new ... */
const char* name;
if (objc < 2) {
Tcl_WrongNumArgs (interp, 1, objv, "?args...?");
return TCL_ERROR;
}
objc -= 2;
objv += 2;
name = @stem@_NewInstanceName (classmgr);
return @stem@_NewInstance (name, classmgr, interp, 2, objc, objv);
}

#line 414 "class.h"
/* # # ## ### ##### ######## */
/*
* C API :: Instance (de)construction, dispatch
*/
typedef struct @instancetype@__ @capiprefix@;
typedef struct @capiprefix@* @capiprefix@_p;
@capiprefix@_p
@capiprefix@_new (Tcl_Interp* interp,
int objc,
Tcl_Obj* CONST* objv)
{
@classtype@_mgr classmgr = @stem@_Class (interp);
@instancetype@ instance;
/*
* Construct instance state
*/
instance = @stem@_Constructor (interp, &classmgr->user, 0, objc, objv);
if (!instance) {
return NULL;
}
@stem@_PostConstructor (interp, instance, 0, 0);
return (@capiprefix@_p) instance;
}
void
@capiprefix@_destroy (@capiprefix@_p instance)
{
@stem@_Destructor (instance);
}
int
@capiprefix@_invoke (@capiprefix@_p instance,
Tcl_Interp* interp,
int objc,
Tcl_Obj* CONST* objv)
{
Tcl_Obj** v = (Tcl_Obj**) ckalloc ((objc+1)*sizeof (Tcl_Obj*));
Tcl_Obj* i = Tcl_NewStringObj ("@capiprefix@", sizeof ("@capiprefix@")-1);
Tcl_IncrRefCount (i);
v[0] = i;
memcpy (v+1, objv, objc * sizeof (Tcl_Obj*));
int r = @stem@_InstanceCommand (instance, interp, objc+1, v);
Tcl_DecrRefCount (i);
ckfree ((char*) v);
return r;
}

1171
src/runtime/tclkit86bi.vfs/lib/critcl-class1.2/class.tcl

File diff suppressed because it is too large Load Diff

2
src/runtime/tclkit86bi.vfs/lib/critcl-class1.2/pkgIndex.tcl

@ -1,2 +0,0 @@
if {![package vsatisfies [package provide Tcl] 8.6]} {return}
package ifneeded critcl::class 1.2 [list source [file join $dir class.tcl]]

57
src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/allocs/critcl_alloc.h

@ -1,57 +0,0 @@
#ifndef __CRITCL_UTIL_ALLOC_H
#define __CRITCL_UTIL_ALLOC_H 1
/*
* Copyright (c) 2017-2020 Andreas Kupries <andreas_kupries@users.sourceforge.net>
* = = == === ===== ======== ============= =====================
*/
#include <string.h> /* memcpy - See STREP */
#include <tcl.h>
/*
* Helper macros for easy allocation of structures and arrays.
*/
#define ALLOC(type) (type *) ckalloc (sizeof (type))
#define ALLOC_PLUS(type,n) (type *) ckalloc (sizeof (type) + (n))
#define NALLOC(type,n) (type *) ckalloc (sizeof (type) * (n))
#define REALLOC(x,type,n) (type *) ckrealloc ((char*) x, sizeof (type) * (n))
#define FREE(p) ckfree ((char*)(p))
/*
* Macros to properly set a string rep from a string or DString. The main
* point is adding the terminating \0 character. The Tcl core checks for that.
*/
#define STREP(o,str,len) \
(o)->length = (len); \
(o)->bytes = ckalloc((len)+1); \
memcpy ((o)->bytes, (str), (len)); \
(o)->bytes[(len)] = '\0'
#define STREP_DS(o,ds) { \
int length = Tcl_DStringLength (ds); \
STREP(o, Tcl_DStringValue (ds), length); \
}
#define STRDUP(v,s) { \
char* str = ckalloc (1+strlen (s)); \
strcpy (str, s); \
v = str; \
}
/*
* = = == === ===== ======== ============= =====================
*/
#endif /* __CRITCL_UTIL_ALLOC_H */
/*
* Local Variables:
* mode: c
* c-basic-offset: 4
* fill-column: 78
* End:
*/

68
src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/asserts/critcl_assert.h

@ -1,68 +0,0 @@
#ifndef __CRITCL_CUTIL_ASSERT_H
#define __CRITCL_CUTIL_ASSERT_H 1
/*
* Copyright (c) 2017-2020 Andreas Kupries <andreas_kupries@users.sourceforge.net>
* = = == === ===== ======== ============= =====================
*/
#include <tcl.h>
/*
* Macros for assertions, controlled via CRITCL_ASSERT.
* Especially a helper to check array bounds, and counted
* abort.
*/
#ifdef CRITCL_ASSERT
#define CRITCL_CUTIL_XSTR(x) #x
#define CRITCL_CUTIL_STR(x) CRITCL_CUTIL_XSTR(x)
#define CRITCL_CUTIL_RANGEOK(i,n) ((0 <= (i)) && ((i) < (n)))
#define ASSERT(x,msg) if (!(x)) { \
Tcl_Panic (msg " (" #x "), in file %s @line %d", \
__FILE__, __LINE__); \
}
#define ASSERT_VA(x,msg,format,...) if (!(x)) { \
Tcl_Panic (msg " (" #x "), in file %s @line %d, " format, \
__FILE__, __LINE__, __VA_ARGS__); \
}
#define ASSERT_BOUNDS(i,n) \
ASSERT_VA (CRITCL_CUTIL_RANGEOK(i,n), \
"array index out of bounds", \
CRITCL_CUTIL_STR(i) \
" = (%d) >= (%d) = " \
CRITCL_CUTIL_STR(n), \
i, n)
#define STOPAFTER(x) { \
static int count = (x); \
count --; \
if (!count) { Tcl_Panic ("stop"); } \
}
#else /* ! CRITCL_ASSERT */
#define ASSERT(x,msg)
#define ASSERT_VA(x,msg,format,...)
#define ASSERT_BOUNDS(i,n)
#define STOPAFTER(x)
#endif
/*
* = = == === ===== ======== ============= =====================
*/
#endif /* __CRITCL_CUTIL_H */
/*
* Local Variables:
* mode: c
* c-basic-offset: 4
* fill-column: 78
* End:
*/

69
src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/cutil.tcl

@ -1,69 +0,0 @@
## -*- tcl -*-
# # ## ### ##### ######## ############# #####################
# Pragmas for MetaData Scanner.
# n/a
# CriTcl Utility Commands To Provide Common C-level utility functions.
#
# Copyright (c) 2017-2022 Andreas Kupries <andreas_kupries@users.sourceforge.net>
package provide critcl::cutil 0.3
# # ## ### ##### ######## ############# #####################
## Requirements.
package require Tcl 8.6 ; # Min supported version.
package require critcl 3.2
namespace eval ::critcl::cutil {}
# # ## ### ##### ######## ############# #####################
## Implementation -- API: Embed C Code
# # ## ### ##### ######## ############# #####################
proc critcl::cutil::alloc {} {
variable selfdir
critcl::cheaders -I$selfdir/allocs
critcl::include critcl_alloc.h
return
}
proc critcl::cutil::assertions {{enable 0}} {
variable selfdir
critcl::cheaders -I$selfdir/asserts
critcl::include critcl_assert.h
if {!$enable} return
critcl::cflags -DCRITCL_ASSERT
return
}
proc critcl::cutil::tracer {{enable 0}} {
variable selfdir
alloc ;# Tracer uses the allocation utilities in its implementation
critcl::cheaders -I$selfdir/trace
critcl::include critcl_trace.h
critcl::csources $selfdir/trace/trace.c
if {!$enable} return
critcl::cflags -DCRITCL_TRACER
return
}
# # ## ### ##### ######## ############# #####################
## State
namespace eval ::critcl::cutil {
variable selfdir [file dirname [file normalize [info script]]]
}
# # ## ### ##### ######## ############# #####################
## Export API
namespace eval ::critcl::cutil {
namespace export alloc assert tracer
catch { namespace ensemble create }
}
# # ## ### ##### ######## ############# #####################
## Ready
return

2
src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/pkgIndex.tcl

@ -1,2 +0,0 @@
if {![package vsatisfies [package provide Tcl] 8.6]} {return}
package ifneeded critcl::cutil 0.3 [list source [file join $dir cutil.tcl]]

149
src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/trace/critcl_trace.h

@ -1,149 +0,0 @@
#ifndef __CRITCL_UTIL_TRACE_H
#define __CRITCL_UTIL_TRACE_H 1
/*
* Copyright (c) 2017-2018 Andreas Kupries <andreas_kupries@users.sourceforge.net>
*
* Narrative tracing support, controlled by CRITCL_TRACER
* = = == === ===== ======== ============= =====================
*
* Further control of the active logical sub-streams is done via the
* declarators
* - TRACE_ON
* - TRACE_OFF
* - TRACE_TAG_ON
* - TRACE_TAG_OFF
*
* The macros make use of the standard macros __FILE__ and __LINE__
* to identify traced locations (physically).
*
* ATTENTION: The trace facility assumes a C99 compiler to have
* access to the __func__ string which holds the name
* of the current function.
*/
#include <tcl.h>
/*
* Main (convenience) commands:
*
* - TRACE_FUNC :: Function entry, formatted parameters
* - TRACE_FUNC_VOID :: Function entry, no parameters
* - TRACE_RETURN :: Function exit, formatted result
* - TRACE_RETURN_VOID :: Function exit, no result
* - TRACE :: Additional trace line.
*
* The above commands are composed from the lower level commands below.
*
* Scoping
* - TRACE_PUSH_SCOPE :: Start a named scope, no output
* - TRACE_PUSH_FUNC :: Start a scope, named by the current function, no output
* - TRACE_POP :: End a scope, no output
* Tracing
* - TRACE_HEADER :: Start of trace line (location, indentation, scope)
* - TRACE_ADD :: Extend trace line, formatted information
* - TRACE_CLOSER :: End of trace line
*
* All of the tracing command also come in TRACE_TAG_ forms which take an
* additional 1st argument, the tag of the stream. The scoping commands do not
* take tags. They manage indentation without generating output on their own.
*/
#ifndef CRITCL_TRACER
/* Tracing disabled. All macros vanish */
#define TRACE_PUSH_SCOPE(string)
#define TRACE_PUSH_FUNC
#define TRACE_POP
#define TRACE_ON
#define TRACE_OFF
#define TRACE_HEADER(indent)
#define TRACE_ADD(format, ...)
#define TRACE_CLOSER
#define TRACE_TAG_ON(tag)
#define TRACE_TAG_OFF(tag)
#define TRACE_TAG_HEADER(tag,indent)
#define TRACE_TAG_ADD(tag, format, ...)
#define TRACE_TAG_CLOSER(tag)
#define TRACE_FUNC(format, ...)
#define TRACE_FUNC_VOID
#define TRACE_RETURN(format,x) return (x);
#define TRACE_RETURN_VOID return;
#define TRACE(format, ...)
#define TRACE_TAG_FUNC(tag, format, ...)
#define TRACE_TAG_FUNC_VOID(tag)
#define TRACE_TAG_RETURN(tag, format, x) return (x);
#define TRACE_TAG_RETURN_VOID(tag) return;
#define TRACE_TAG(tag, format, ...)
#define TRACE_RUN(code)
#define TRACE_DO(code)
#define TRACE_TAG_DO(tag, code)
#define TRACE_TAG_VAR(tag) 0
#endif
#ifdef CRITCL_TRACER
/* Tracing active. Macros expand to content.
*/
#define TRACE_PUSH_SCOPE(string) critcl_trace_push (string)
#define TRACE_PUSH_FUNC TRACE_PUSH_SCOPE (__func__)
#define TRACE_POP critcl_trace_pop()
#define TRACE_ON TRACE_TAG_ON (THIS_FILE)
#define TRACE_OFF TRACE_TAG_OFF (THIS_FILE)
#define TRACE_HEADER(indent) TRACE_TAG_HEADER (THIS_FILE, indent)
#define TRACE_ADD(format, ...) TRACE_TAG_ADD (THIS_FILE, format, __VA_ARGS__)
#define TRACE_CLOSER TRACE_TAG_CLOSER (THIS_FILE)
#define TRACE_TAG_ON(tag) static int TRACE_TAG_VAR (tag) = 1
#define TRACE_TAG_OFF(tag) static int TRACE_TAG_VAR (tag) = 0
#define TRACE_TAG_VAR(tag) __critcl_tag_ ## tag ## _status
#define TRACE_TAG_HEADER(tag, indent) critcl_trace_header (TRACE_TAG_VAR (tag), (indent), __FILE__, __LINE__)
#define TRACE_TAG_ADD(tag, format, ...) critcl_trace_printf (TRACE_TAG_VAR (tag), format, __VA_ARGS__)
#define TRACE_TAG_CLOSER(tag) critcl_trace_closer (TRACE_TAG_VAR (tag))
/* Highlevel (convenience) tracing.
*/
#define TRACE_FUNC(format, ...) TRACE_TAG_FUNC (THIS_FILE, format, __VA_ARGS__)
#define TRACE_FUNC_VOID TRACE_TAG_FUNC_VOID (THIS_FILE)
#define TRACE_RETURN(format,x) TRACE_TAG_RETURN (THIS_FILE, format, x)
#define TRACE_RETURN_VOID TRACE_TAG_RETURN_VOID (THIS_FILE)
#define TRACE(format, ...) TRACE_TAG (THIS_FILE, format, __VA_ARGS__)
#define TRACE_TAG_FUNC(tag, format, ...) TRACE_PUSH_FUNC; TRACE_TAG_HEADER (tag,1); TRACE_TAG_ADD (tag, format, __VA_ARGS__); TRACE_TAG_CLOSER (tag)
#define TRACE_TAG_FUNC_VOID(tag) TRACE_PUSH_FUNC; TRACE_TAG_HEADER (tag,1); TRACE_TAG_ADD (tag, "(%s)", "void"); TRACE_TAG_CLOSER (tag)
#define TRACE_TAG_RETURN(tag, format, x) TRACE_TAG_HEADER (tag,1); TRACE_TAG_ADD (tag, "%s", "RETURN = ") ; TRACE_TAG_ADD (tag, format, x) ; TRACE_TAG_CLOSER (tag) ; TRACE_POP ; return (x)
#define TRACE_TAG_RETURN_VOID(tag) TRACE_TAG_HEADER (tag,1); TRACE_TAG_ADD (tag, "RETURN %s", "(void)") ; TRACE_TAG_CLOSER (tag) ; TRACE_POP ; return
#define TRACE_TAG(tag, format, ...) TRACE_TAG_HEADER (tag,1); TRACE_TAG_ADD (tag, format, __VA_ARGS__) ; TRACE_TAG_CLOSER (tag)
#define TRACE_RUN(code) code
#define TRACE_DO(code) TRACE_TAG_DO (THIS_FILE, code)
#define TRACE_TAG_DO(tag, code) if (TRACE_TAG_VAR (tag)) { code ; }
/* Support functions used in the macros.
*/
extern void critcl_trace_push (const char* scope);
extern void critcl_trace_pop (void);
extern void critcl_trace_header (int on, int indent, const char *filename, int line);
extern void critcl_trace_printf (int on, const char *pat, ...);
extern void critcl_trace_closer (int on);
/* Support functions used by the implementation of "critcl::cproc".
*/
extern void critcl_trace_cmd_args (const char* scope, int oc, Tcl_Obj*const* ov);
extern int critcl_trace_cmd_result (int status, Tcl_Interp* ip);
#endif
#endif /* __CRITCL_UTIL_TRACE_H */
/*
* Local Variables:
* mode: c
* c-basic-offset: 4
* fill-column: 78
* End:
*/

213
src/runtime/tclkit86bi.vfs/lib/critcl-cutil0.3/trace/trace.c

@ -1,213 +0,0 @@
/*
* Copyright (c) 2017-2018 Andreas Kupries <andreas_kupries@users.sourceforge.net>
* = = == === ===== ======== ============= =====================
*/
#include <critcl_alloc.h>
#include <string.h>
/*
* = = == === ===== ======== ============= =====================
*/
#ifdef CRITCL_TRACER
/* Tracking the stack of scopes,
* single-linked list,
* top to bottom.
*/
typedef struct scope_stack {
const char* scope;
struct scope_stack* down;
} scope_stack;
/*
* = = == === ===== ======== ============= =====================
* Tracing state (stack of scopes, associated indentation level)
*
* API regexp for trace output:
* (header printf* closer)*
*
* - closed == 1 :: post (closer)
* - closed == 0 :: post (header)
*
* [1] in (header) && !closed
* => starting a new line in the middle of an incomplete line
* => force closer
* [2] in (printf) && closed
* => continuing a line which was interrupted by another (see [1])
* => force header
*/
static scope_stack* top = 0;
static int level = 0;
static int closed = 1;
/*
* = = == === ===== ======== ============= =====================
* Internals
*/
static void
indent (void)
{
int i;
for (i = 0; i < level; i++) { fwrite(" ", 1, 1, stdout); }
fflush (stdout);
}
static void
scope (void)
{
if (!top) return;
fwrite (top->scope, 1, strlen(top->scope), stdout);
fflush (stdout);
}
static void
separator (void)
{
fwrite(" | ", 1, 3, stdout);
fflush (stdout);
}
/*
* = = == === ===== ======== ============= =====================
* API
*/
void
critcl_trace_push (const char* scope)
{
scope_stack* new = ALLOC (scope_stack);
new->scope = scope;
new->down = top;
top = new;
level += 4;
}
void
critcl_trace_pop (void)
{
scope_stack* next = top->down;
level -= 4;
ckfree ((char*)top);
top = next;
}
void
critcl_trace_closer (int on)
{
if (!on) return;
fwrite ("\n", 1, 1, stdout);
fflush (stdout);
closed = 1;
}
void
critcl_trace_header (int on, int ind, const char* filename, int line)
{
if (!on) return;
if (!closed) critcl_trace_closer (1);
// location prefix
#if 0 /* varying path length breaks indenting by call level :( */
if (filename) {
fprintf (stdout, "%s:%6d", filename, line);
fflush (stdout);
}
#endif
// indentation, scope, separator
if (ind) { indent (); }
scope ();
separator();
closed = 0;
}
void
critcl_trace_printf (int on, const char *format, ...)
{
/*
* 1MB output-buffer. We may trace large data structures. This is also a
* reason why the implementation can be compiled out entirely.
*/
#define MSGMAX (1024*1024)
static char msg [MSGMAX];
int len;
va_list args;
if (!on) return;
if (closed) critcl_trace_header (1, 1, 0, 0);
va_start(args, format);
len = vsnprintf(msg, MSGMAX, format, args);
va_end(args);
fwrite(msg, 1, len, stdout);
fflush (stdout);
}
void
critcl_trace_cmd_args (const char* scopename, int argc, Tcl_Obj*const* argv)
{
int i;
critcl_trace_push (scopename);
for (i=0; i < argc; i++) {
// No location information
indent();
scope();
separator();
critcl_trace_printf (1, "ARG [%3d] = %p (^%d:%s) '%s'\n",
i, argv[i], argv[i]->refCount,
argv[i]->typePtr ? argv[i]->typePtr->name : "<unknown>",
Tcl_GetString((Tcl_Obj*) argv[i]));
}
}
int
critcl_trace_cmd_result (int status, Tcl_Interp* ip)
{
Tcl_Obj* robj = Tcl_GetObjResult (ip);
const char* rstr = Tcl_GetString (robj);
const char* rstate;
const char* rtype;
static const char* state_str[] = {
/* 0 */ "OK",
/* 1 */ "ERROR",
/* 2 */ "RETURN",
/* 3 */ "BREAK",
/* 4 */ "CONTINUE",
};
char buf [TCL_INTEGER_SPACE];
if (status <= TCL_CONTINUE) {
rstate = state_str [status];
} else {
sprintf (buf, "%d", status);
rstate = (const char*) buf;
}
if (robj->typePtr) {
rtype = robj->typePtr->name;
} else {
rtype = "<unknown>";
}
// No location information
indent();
scope();
separator();
critcl_trace_printf (1, "RESULT = %s %p (^%d:%s) '%s'\n",
rstate, robj, robj->refCount, rtype, rstr);
critcl_trace_pop ();
return status;
}
#endif /* CRITCL_TRACER */
/*
* = = == === ===== ======== ============= =====================
*/
/*
* local Variables:
* mode: c
* c-basic-offset: 4
* fill-column: 78
* End:
*/

696
src/runtime/tclkit86bi.vfs/lib/critcl-emap1.3/emap.tcl

@ -1,696 +0,0 @@
## -*- tcl -*-
# # ## ### ##### ######## ############# #####################
# Pragmas for MetaData Scanner.
# n/a
# CriTcl Utility Package for en- and decoding an external enum.
# Based on i-assoc.
#
# Copyright (c) 2014-2022 Andreas Kupries <andreas_kupries@users.sourceforge.net>
package provide critcl::emap 1.3
# # ## ### ##### ######## ############# #####################
## Requirements.
package require Tcl 8.6 ; # Min supported version.
package require critcl 3.1.11 ; # make, include -- dict portability
package require critcl::iassoc
namespace eval ::critcl::emap {}
# # ## ### ##### ######## ############# #####################
## Implementation -- API: Embed C Code
proc critcl::emap::def {name dict args} {
# dict: Tcl symbolic name -> (C int value (1))
#
# (Ad 1) Can be numeric, or symbolic, as long as it is a C int
# expression in the end.
# args = options. Currently supported:
# * -nocase : case-insensitive strings on encoding.
# * -mode : list of use cases, access case: tcl, c (default: tcl)
Options $args
Index $dict id symbols last
# symbols :: list of words, lexicographically sorted
# id :: symbol -> index (sorted)
# last :: number of symbols
Header $name
ConstStringTable $name $symbols $dict $nocase $last
set isdirect [DecideIfDirect $dict min max direct]
if {$isdirect} {
DecodeDirect $name $min $max id direct
}
Tcl Iassoc $name $symbols $dict $nocase $last
Tcl EncoderTcl $name $nocase
Tcl DecoderTcl $name $isdirect $last
List Decoder+List $name
Tcl ArgType $name
Tcl ResultType $name
C EncoderC $name $nocase $last
C DecoderC $name $isdirect $last
return
}
# # ## ### ##### ######## ############# #####################
## Internals
proc critcl::emap::DecoderTcl {name isdirect last} {
if {$isdirect} {
DecoderTclDirect $name
} else {
DecoderTclSearch $name $last
}
return
}
proc critcl::emap::DecoderTclSearch {name last} {
# Decoder based on linear search. Because we either
# - see some symbolic values (= do not know actual value)
# - the direct mapping table would be too large (> 50 entries).
lappend map @NAME@ $name
lappend map @UNAME@ [string toupper $name]
lappend map @LAST@ $last
critcl::ccode \n[critcl::at::here!][string map $map {
Tcl_Obj*
@NAME@_decode (Tcl_Interp* interp, int state)
{
/* Decode via linear search */
char buf [20];
int i;
@NAME@_iassoc_data context = @NAME@_iassoc (interp);
for (i = 0; i < @LAST@; i++) {
if (@NAME@_emap_state [i] != state) continue;
return context->tcl [i];
}
sprintf (buf, "%d", state);
Tcl_AppendResult (interp, "Invalid @NAME@ state code ", buf, NULL);
Tcl_SetErrorCode (interp, "@UNAME@", "STATE", NULL);
return NULL;
}
}]
return
}
proc critcl::emap::DecodeDirect {name min max iv dv} {
upvar 1 $iv id $dv direct
# Decoder based on a direct mapping table. We can do this because
# we found that all the values are pure integers, i.e. we know
# them in detail, and that the table is not too big (< 50 entries).
lassign [DirectTable $min $max id direct] table size
lappend map @NAME@ $name
lappend map @DIRECT@ $table
lappend map @SIZE@ $size
lappend map @MIN@ $min
lappend map @MAX@ $max
lappend map @OFFSET@ [Offset $min]
critcl::ccode \n[critcl::at::here!][string map $map {
static int @NAME@_direct (int state)
{
static const int direct [@SIZE@] = {@DIRECT@
};
/* Check limits first */
if (state < @MIN@) { return -1; }
if (state > @MAX@) { return -1; }
/* Map to string index */
return direct [state@OFFSET@];
}
}]
}
proc critcl::emap::DecoderTclDirect {name} {
lappend map @NAME@ $name
lappend map @UNAME@ [string toupper $name]
critcl::ccode \n[critcl::at::here!][string map $map {
Tcl_Obj*
@NAME@_decode (Tcl_Interp* interp, int state)
{
/* Decode via direct mapping */
char buf [20];
int i;
@NAME@_iassoc_data context = @NAME@_iassoc (interp);
i = @NAME@_direct (state);
if (i < 0) { goto error; }
/* Return the chosen string */
return context->tcl [i];
error:
sprintf (buf, "%d", state);
Tcl_AppendResult (interp, "Invalid @NAME@ state code ", buf, NULL);
Tcl_SetErrorCode (interp, "@UNAME@", "STATE", NULL);
return NULL;
}
}]
return
}
proc critcl::emap::Decoder+List {name} {
lappend map @NAME@ $name
lappend map @UNAME@ [string toupper $name]
# Note on perf: O(mc), for m states in the definition, and c
# states to convert. As the number of declared states is however
# fixed, and small, we can say O(c) for some larger constant
# factor.
critcl::ccode \n[critcl::at::here!][string map $map {
Tcl_Obj*
@NAME@_decode_list (Tcl_Interp* interp, int c, int* state)
{
int k;
Tcl_Obj* result = Tcl_NewListObj (0, 0);
/* Failed to create, abort immediately */
if (!result) {
return result;
}
for (k=0; k < c; k++) {
Tcl_Obj* lit = @NAME@_decode (interp, state[k]);
if (lit && (TCL_OK == Tcl_ListObjAppendElement (interp, result, lit))) {
continue;
}
/* Failed to translate or append; release and abort */
Tcl_DecrRefCount (result);
return NULL;
}
return result;
}
}]
return
}
proc critcl::emap::DirectTable {min max iv dv} {
upvar 1 $iv id $dv direct
set table {}
set fmt %[string length $max]d
for {set i $min} {$i <= $max} {incr i} {
if {[info exists direct($i)]} {
set sym [lindex $direct($i) 0]
set code $id($sym)
lappend table "$code,\t/* [format $fmt $i] <=> \"$sym\" */"
} else {
lappend table "-1,"
}
}
return [list "\n\t\t [join $table "\n\t\t "]" [llength $table]]
}
proc critcl::emap::Offset {min} {
if {$min == 0} {
return ""
} elseif {$min < 0} {
return "+[expr {0-$min}]"
} else {
# Note: The 0+... ensures that we get a decimal number.
return "-[expr {0+$min}]"
}
}
proc critcl::emap::DecideIfDirect {dict minv maxv dv} {
upvar 1 $minv min $maxv max $dv direct
set min {}
set max {}
dict for {sym value} $dict {
# Manage a direct mapping table from stati to strings, if we
# can see the numeric value of all stati.
if {[string is integer -strict $value]} {
if {($min eq {}) || ($value < $min)} { set min $value }
if {($max eq {}) || ($value > $max)} { set max $value }
lappend direct($value) $sym
} else {
return 0
}
}
if {$min eq {}} { return 0 }
if {$max eq {}} { return 0 }
if {($max-$min) >= 50} { return 0 }
return 1
}
proc critcl::emap::EncoderTcl {name nocase} {
if {$nocase} {
EncoderTclNocase $name
} else {
EncoderTclPlain $name
}
return
}
proc critcl::emap::EncoderTclPlain {name} {
lappend map @NAME@ $name
lappend map @UNAME@ [string toupper $name]
critcl::ccode \n[critcl::at::here!][string map $map {
int
@NAME@_encode (Tcl_Interp* interp,
Tcl_Obj* state,
int* result)
{
int id, res;
res = Tcl_GetIndexFromObj (interp, state, @NAME@_emap_cstr, "@NAME@", 0, &id);
if (res != TCL_OK) {
Tcl_SetErrorCode (interp, "@UNAME@", "STATE", NULL);
return TCL_ERROR;
}
*result = @NAME@_emap_state [id];
return TCL_OK;
}
}]
return
}
proc critcl::emap::EncoderTclNocase {name} {
lappend map @NAME@ $name
lappend map @UNAME@ [string toupper $name]
critcl::ccode \n[critcl::at::here!][string map $map {
int
@NAME@_encode (Tcl_Interp* interp,
Tcl_Obj* state,
int* result)
{
int id, res;
/* -nocase :: We duplicate the state string, making it unshared,
* allowing us to convert in place. As the string may change
* length (shrinking) we have to reset the length after
* conversion.
*/
state = Tcl_DuplicateObj (state);
Tcl_SetObjLength(state, Tcl_UtfToLower (Tcl_GetString (state)));
res = Tcl_GetIndexFromObj (interp, state, @NAME@_emap_cstr, "@NAME@", 0, &id);
Tcl_DecrRefCount (state);
if (res != TCL_OK) {
Tcl_SetErrorCode (interp, "@UNAME@", "STATE", NULL);
return TCL_ERROR;
}
*result = @NAME@_emap_state [id];
return TCL_OK;
}
}]
return
}
proc critcl::emap::EncoderC {name nocase last} {
if {$nocase} {
EncoderCNocase $name $last
} else {
EncoderCPlain $name $last
}
return
}
proc critcl::emap::EncoderCPlain {name last} {
lappend map @NAME@ $name
lappend map @UNAME@ [string toupper $name]
lappend map @LAST@ $last
# case-sensitive search
critcl::ccode \n[critcl::at::here!][string map $map {
#include <string.h>
int
@NAME@_encode_cstr (const char* state)
{
int id;
/* explicit linear search */
for (id = 0; id < @LAST@; id++) {
if (strcmp (state, @NAME@_emap_cstr [id]) != 0) continue;
return @NAME@_emap_state [id];
}
return -1;
}
}]
return
}
proc critcl::emap::EncoderCNocase {name last} {
lappend map @NAME@ $name
lappend map @UNAME@ [string toupper $name]
lappend map @LAST@ $last
# case-insensitive search
critcl::ccode \n[critcl::at::here!][string map $map {
#include <string.h>
int
@NAME@_encode_cstr (const char* state)
{
/* -nocase :: We duplicate the state string, allowing us to
* convert in place. As the string may change length (shrink)
* we have to re-terminate it after conversion.
*/
int id, slen = 1 + strlen (state);
char* lower = ckalloc (slen);
memcpy (lower, state, slen);
lower [Tcl_UtfToLower (lower)] = '\0';
/* explicit linear search */
for (id = 0; id < @LAST@; id++) {
if (strcmp (lower, @NAME@_emap_cstr [id]) != 0) continue;
ckfree ((char*) lower);
return @NAME@_emap_state [id];
}
ckfree ((char*) lower);
return -1;
}
}]
return
}
proc critcl::emap::DecoderC {name isdirect last} {
if {$isdirect} {
DecoderCDirect $name
} else {
DecoderCSearch $name $last
}
return
}
proc critcl::emap::DecoderCSearch {name last} {
# Decoder based on linear search. Because we either
# - see some symbolic values (= do not know actual value)
# - the direct mapping table would be too large (> 50 entries).
lappend map @NAME@ $name
lappend map @UNAME@ [string toupper $name]
lappend map @LAST@ $last
critcl::ccode \n[critcl::at::here!][string map $map {
const char*
@NAME@_decode_cstr (int state)
{
/* Decode via linear search */
int id;
for (id = 0; id < @LAST@; id++) {
if (@NAME@_emap_state [id] != state) continue;
return @NAME@_emap_cstr [id];
}
return NULL;
}
}]
return
}
proc critcl::emap::DecoderCDirect {name} {
lappend map @NAME@ $name
lappend map @UNAME@ [string toupper $name]
critcl::ccode \n[critcl::at::here!][string map $map {
const char*
@NAME@_decode_cstr (int state)
{
/* Decode via direct mapping */
int i = @NAME@_direct (state);
if (i < 0) { return NULL; }
/* Return the chosen string */
return @NAME@_emap_cstr [i];
}
}]
return
}
proc critcl::emap::ResultType {name} {
lappend map @NAME@ $name
critcl::resulttype $name \n[critcl::at::here!][string map $map {
/* @NAME@_decode result is 0-refcount */
{ Tcl_Obj* ro = @NAME@_decode (interp, rv);
if (ro == NULL) { return TCL_ERROR; }
Tcl_SetObjResult (interp, ro);
return TCL_OK; }
}] int
return
}
proc critcl::emap::ArgType {name} {
lappend map @NAME@ $name
critcl::argtype $name \n[critcl::at::here!][string map $map {
if (@NAME@_encode (interp, @@, &@A) != TCL_OK) return TCL_ERROR;
}] int int
return
}
proc critcl::emap::Header {name} {
# I. Generate a header file for inclusion by other parts of the
# package, i.e. csources. Include the header here as well, for
# the following blocks of code.
#
# Declaration of the en- and decoder functions.
upvar 1 mode mode
append h [HeaderIntro $name]
append h [Tcl HeaderTcl $name]
append h [List Header+List $name]
append h [C HeaderC $name]
append h [HeaderEnd $name]
critcl::include [critcl::make ${name}.h $h]
return
}
proc critcl::emap::HeaderIntro {name} {
lappend map @NAME@ $name
return \n[critcl::at::here!][string map $map {
#ifndef @NAME@_EMAP_HEADER
#define @NAME@_EMAP_HEADER
#include <tcl.h>
}]
}
proc critcl::emap::HeaderEnd {name} {
lappend map @NAME@ $name
return [string map $map {
#endif /* @NAME@_EMAP_HEADER */
}]
}
proc critcl::emap::HeaderTcl {name} {
lappend map @NAME@ $name
return \n[critcl::at::here!][string map $map {
/* "tcl"
* Encode a Tcl string into the corresponding state code
* Decode a state into the corresponding Tcl string
*/
extern int @NAME@_encode (Tcl_Interp* interp, Tcl_Obj* state, int* result);
extern Tcl_Obj* @NAME@_decode (Tcl_Interp* interp, int state);
}]
}
proc critcl::emap::Header+List {name} {
lappend map @NAME@ $name
return \n[critcl::at::here!][string map $map {
/* "+list"
* Decode a set of states into a list of the corresponding Tcl strings
*/
extern Tcl_Obj* @NAME@_decode_list (Tcl_Interp* interp, int c, int* state);
}]
}
proc critcl::emap::HeaderC {name} {
lappend map @NAME@ $name
return \n[critcl::at::here!][string map $map {
/* "c"
* Encode a C string into the corresponding state code
* Decode a state into the corresponding C string
*/
extern int @NAME@_encode_cstr (const char* state);
extern const char* @NAME@_decode_cstr (int state);
}]
}
proc critcl::emap::Iassoc {name symbols dict nocase last} {
upvar 1 mode mode
critcl::iassoc def ${name}_iassoc {} \
[IassocStructure $last] \
[IassocInit $name $symbols $dict $nocase $last] \
[IassocFinal $symbols $dict]
return
}
proc critcl::emap::IassocStructure {last} {
lappend map @LAST@ $last
return \n[critcl::at::here!][string map $map {
Tcl_Obj* tcl [@LAST@]; /* State name, Tcl_Obj*, sharable */
}]
}
proc critcl::emap::IassocInit {name symbols dict nocase last} {
set id -1
foreach sym $symbols {
set value [dict get $dict $sym]
incr id
if {$nocase} { set sym [string tolower $sym] }
set map [list @ID@ $id @SYM@ $sym @VALUE@ $value @NAME@ $name]
# iassoc initialization, direct from string, no C level
append init \n[critcl::at::here!][string map $map {
data->tcl [@ID@] = Tcl_NewStringObj (@NAME@_emap_cstr[@ID@], -1);
Tcl_IncrRefCount (data->tcl [@ID@]);
}]
}
return $init
}
proc critcl::emap::IassocFinal {symbols dict} {
set id -1
foreach sym $symbols {
incr id
set map [list @ID@ $id]
append final \n[critcl::at::here!][string map $map {
Tcl_DecrRefCount (data->tcl [@ID@]);
}]
}
return $final
}
proc critcl::emap::ConstStringTable {name symbols dict nocase last} {
# C level table initialization (constant data)
foreach sym $symbols {
set value [dict get $dict $sym]
if {$nocase} { set sym [string tolower $sym] }
append ctable "\n\t \"${sym}\","
append stable "\n\t ${value},"
}
append ctable "\n\t 0"
set stable [string trimright $stable ,]
lappend map @NAME@ $name
lappend map @STRINGS@ $ctable
lappend map @STATES@ $stable
lappend map @LAST@ $last
critcl::ccode [critcl::at::here!][string map $map {
/* State names, C string */
static const char* @NAME@_emap_cstr [@LAST@+1] = {@STRINGS@
};
/* State codes */
static int @NAME@_emap_state [@LAST@] = {@STATES@
};
}]
return
}
proc critcl::emap::C {args} {
upvar 1 mode mode
if {!$mode(c)} return
return [uplevel 1 $args]
}
proc critcl::emap::!C {args} {
upvar 1 mode mode
if {$mode(c)} return
return [uplevel 1 $args]
}
proc critcl::emap::Tcl {args} {
upvar 1 mode mode
if {!$mode(tcl)} return
return [uplevel 1 $args]
}
proc critcl::emap::!Tcl {args} {
upvar 1 mode mode
if {$mode(tcl)} return
return [uplevel 1 $args]
}
proc critcl::emap::List {args} {
upvar 1 mode mode
if {!$mode(+list)} return
return [uplevel 1 $args]
}
proc critcl::emap::!List {args} {
upvar 1 mode mode
if {$mode(+list)} return
return [uplevel 1 $args]
}
proc critcl::emap::Index {dict iv sv lv} {
upvar 1 $iv id $sv symbols $lv last
# For the C level search we want lexicographically sorted elements
set symbols [lsort -dict [dict keys $dict]]
set i 0
foreach s $symbols {
set id($s) $i
incr i
}
set last $i
# id :: symbol -> index (sorted)
return
}
proc critcl::emap::Options {options} {
upvar 1 nocase nocase mode mode
set nocase 0
set use tcl
while {[llength $options]} {
set options [lassign $options o]
switch -glob -- $o {
-nocase -
-nocas -
-noca -
-noc -
-no -
-n { set nocase 1 }
-mode -
-mod -
-mo -
-m { set options [lassign $options use] }
-* -
default {
return -code error -errorcode {CRITCL EMAP INVALID-OPTION} \
"Expected option -nocase, or -use, got \"$o\""
}
}
}
Use $use
return
}
proc critcl::emap::Use {use} {
# Use cases: tcl, c, both
upvar 1 mode mode
set uses 0
foreach u {c tcl +list} { set mode($u) 0 }
foreach u $use { set mode($u) 1 ; incr uses }
if {$mode(+list)} { set mode(tcl) 1 }
if {$uses} return
return -code error "Need at least one use case (c, tcl, or +list)"
}
# # ## ### ##### ######## ############# #####################
## Export API
namespace eval ::critcl::emap {
namespace export def
catch { namespace ensemble create }
}
namespace eval ::critcl {
namespace export emap
catch { namespace ensemble create }
}
# # ## ### ##### ######## ############# #####################
## Ready
return

2
src/runtime/tclkit86bi.vfs/lib/critcl-emap1.3/pkgIndex.tcl

@ -1,2 +0,0 @@
if {![package vsatisfies [package provide Tcl] 8.6]} {return}
package ifneeded critcl::emap 1.3 [list source [file join $dir emap.tcl]]

151
src/runtime/tclkit86bi.vfs/lib/critcl-enum1.2/enum.tcl

@ -1,151 +0,0 @@
## -*- tcl -*-
# # ## ### ##### ######## ############# #####################
# Pragmas for MetaData Scanner.
# n/a
# CriTcl Utility Commands. Generation of functions handling conversion
# from and to a C enum. Not a full Tcl_ObjType. Based on
# Tcl_GetIndexFromObj() instead.
package provide critcl::enum 1.2
# # ## ### ##### ######## ############# #####################
## Requirements.
package require Tcl 8.6 ; # Min supported version.
package require critcl 3.1.11 ; # make, include -- dict portability
package require critcl::literals 1.1 ; # String pool for conversion to Tcl.
namespace eval ::critcl::enum {}
# # ## ### ##### ######## ############# #####################
## API: Generate the declaration and implementation files for the enum.
proc ::critcl::enum::def {name dict {use tcl}} {
# Arguments are
# - the C name of the enumeration, and
# - dict of strings to convert. Key is the symbolic C name, value
# is the string. Numeric C value is in the order of the strings in
# the dict, treating it as list for that case.
#
# dict: C symbolic name -> Tcl string (Tcl symbolic name).
if {![dict size $dict]} {
return -code error -errorcode {CRITCL ENUM DEF INVALID} \
"Expected an enum definition, got empty string"
}
set plist 0
foreach m $use {
switch $m {
tcl {}
+list { set plist 1 }
default {
return -code error -errorcode {CRITCL ENUM DEF MODE INVALID} \
"Unknown mode $m, expected one of \"+list\", or \"tcl\""
}
}
}
critcl::literals::def ${name}_pool $dict $use
# <name>_pool_names = C enum of symbolic names, and implied numeric values.
# <name>_pool.h = Header
# <name>_pool ( interp, code ) => Tcl_Obj* :: up-conversion C to Tcl.
# Exporting:
# Header <name>.h
# Function <name>_ToObj (interp, code) -> obj
# Function <name>_ToObjList (interp, count, code*) -> obj (**)
# Function <name>_GetFromObj (interp, obj, flags, &code) -> Tcl code
# Enum type <name>_names
#
# (**) Mode +list only.
dict for {sym str} $dict {
lappend table "\t\t\"$str\","
}
lappend map @NAME@ $name
lappend map @TABLE@ \n[join $table \n]
lappend map @TSIZE@ [llength $table]
lappend map @TSIZE1@ [expr {1 + [llength $table]}]
if {$plist} {
lappend map @PLIST@ \
"\n #define ${name}_ToObjList(i,c,l) (${name}_pool_list(i,c,l))"
} else {
lappend map @PLIST@ ""
}
critcl::include [critcl::make ${name}.h \n[critcl::at::here!][string map $map {
#ifndef @NAME@_HEADER
#define @NAME@_HEADER
#include <@NAME@_pool.h>
#include <tcl.h>
typedef @NAME@_pool_names @NAME@;
#define @NAME@_LAST @NAME@_pool_name_LAST
extern int
@NAME@_GetFromObj (Tcl_Interp* interp,
Tcl_Obj* obj,
int flags,
int* literal);
#define @NAME@_ToObj(i,l) (@NAME@_pool(i,l))@PLIST@
#endif
}]]
# Create second function, down-conversion Tcl to C.
critcl::ccode [critcl::at::here!][string map $map {
extern int
@NAME@_GetFromObj (Tcl_Interp* interp,
Tcl_Obj* obj,
int flags,
int* literal )
{
static const char* strings[@TSIZE1@] = {@TABLE@
NULL
};
return Tcl_GetIndexFromObj (interp, obj, strings,
"@NAME@",
flags, literal);
}
}]
# V. Define convenient argument- and result-type definitions
# wrapping the de- and encoder functions for use by cprocs.
critcl::argtype $name \n[critcl::at::here!][string map $map {
if (@NAME@_GetFromObj (interp, @@, TCL_EXACT, &@A) != TCL_OK) return TCL_ERROR;
}] int int
critcl::argtype ${name}-prefix \n[critcl::at::here!][string map $map {
if (@NAME@_GetFromObj (interp, @@, 0, &@A) != TCL_OK) return TCL_ERROR;
}] int int
# Use the underlying literal pool directly.
critcl::resulttype $name = ${name}_pool
return
}
# # ## ### ##### ######## ############# #####################
## Export API
namespace eval ::critcl::enum {
namespace export def
catch { namespace ensemble create }
}
namespace eval ::critcl {
namespace export enum
catch { namespace ensemble create }
}
# # ## ### ##### ######## ############# #####################
## Ready
return

2
src/runtime/tclkit86bi.vfs/lib/critcl-enum1.2/pkgIndex.tcl

@ -1,2 +0,0 @@
if {![package vsatisfies [package provide Tcl] 8.6]} {return}
package ifneeded critcl::enum 1.2 [list source [file join $dir enum.tcl]]

182
src/runtime/tclkit86bi.vfs/lib/critcl-iassoc1.2/iassoc.tcl

@ -1,182 +0,0 @@
## -*- tcl -*-
# # ## ### ##### ######## ############# #####################
# Pragmas for MetaData Scanner.
# @mdgen OWNER: iassoc.h
# CriTcl Utility Commands. Specification of a C function and structure
# associated with an interpreter made easy.
package provide critcl::iassoc 1.2
# # ## ### ##### ######## ############# #####################
## Requirements.
package require Tcl 8.6 ; # Min supported version.
package require critcl 3.1.13 ; # Need 'meta?' to get the package name.
# Need 'Deline' helper.
package require critcl::util ; # Use the package's Get/Put commands.
namespace eval ::critcl::iassoc {}
# # ## ### ##### ######## ############# #####################
## API: Generate the declaration and implementation files for the iassoc.
proc ::critcl::iassoc::def {name arguments struct constructor destructor} {
critcl::at::caller
critcl::at::incrt $arguments ; set sloc [critcl::at::get*]
critcl::at::incrt $struct ; set cloc [critcl::at::get*]
critcl::at::incrt $constructor ; set dloc [critcl::at::get]
set struct $sloc$struct
set constructor $cloc$constructor
set destructor $dloc$destructor
# Arguments:
# - name of the C function which will provide access to the
# structure. This name, with a fixed prefix is also used to
# identify the association within the interpreter, and for
# the structure's type.
#
# - C code declaring the structure's contents.
# - C code executed to initialize the structure.
# - C code executed to destroy the structure.
# Note that this is, essentially, a singleton object, without
# methods.
# Pull the package we are working on out of the system.
set package [critcl::meta? name]
set qpackage [expr {[string match ::* $package]
? "$package"
: "::$package"}]
lassign [uplevel 1 [list ::critcl::name2c $qpackage]] pns pcns package cpackage
#puts "%%% pNS |$pns|"
#puts "%%% Pkg |$package|"
#puts "%%% pCNS |$pcns|"
#puts "%%% cPkg |$cpackage|"
#puts "%%% Name |$name|"
#puts "@@@ <<$data>>"
set stem ${pcns}${cpackage}_iassoc_${name}
set type ${name}_data
set label critcl::iassoc/p=$package/a=$name
set anames {}
if {[llength $arguments]} {
foreach {t v} $arguments {
lappend alist "$t $v"
lappend anames $v
}
set arguments ", [join $alist {, }]"
set anames ", [join $anames {, }]"
}
lappend map "\t" {}
lappend map @package@ $package
lappend map @name@ $name
lappend map @stem@ $stem
lappend map @label@ $label
lappend map @type@ $type
lappend map @struct@ $struct
lappend map @argdecls@ $arguments
lappend map @argnames@ $anames
lappend map @constructor@ $constructor
lappend map @destructor@ $destructor
#puts T=[string length $template]
critcl::include [critcl::make ${name}.h \n[critcl::at::here!][string map $map {
#ifndef @name@_HEADER
#define @name@_HEADER
#include <tcl.h>
typedef struct @type@__ {
@struct@
} @type@__;
typedef struct @type@__* @type@;
extern @type@
@name@ (Tcl_Interp* interp@argdecls@);
#endif
}]]
# Note: Making the .c code a `csources` instead of including it
# directly is a backward incompatible API change (The C code does
# not see any preceding includes. Which may define things used
# in/by the user's constructor. Breaks the users of iassoc, like
# bitmap, emap, etc. -- change defered --
critcl::include [critcl::make ${name}.c \n[critcl::at::here!][string map $map {
/*
* For package "@package@".
* Implementation of Tcl Interpreter Association "@name@".
*
* Support functions for structure creation and destruction.
*/
static void
@stem@_Release (@type@ data, Tcl_Interp* interp)
{
@destructor@
ckfree((char*) data);
}
static @type@
@stem@_Init (Tcl_Interp* interp@argdecls@)
{
@type@ data = (@type@) ckalloc (sizeof (@type@__));
@constructor@
return data;
error:
ckfree ((char*) data);
return NULL;
}
/*
* Structure accessor, automatically creating it if the
* interpreter does not have it already, setting it up for
* destruction on interpreter shutdown.
*/
@type@
@name@ (Tcl_Interp* interp@argdecls@)
{
#define KEY "@label@"
Tcl_InterpDeleteProc* proc = (Tcl_InterpDeleteProc*) @stem@_Release;
@type@ data;
data = Tcl_GetAssocData (interp, KEY, &proc);
if (data) {
return data;
}
data = @stem@_Init (interp@argnames@);
if (data) {
Tcl_SetAssocData (interp, KEY, proc, (ClientData) data);
}
return data;
#undef KEY
}
}]]
return
}
# # ## ### ##### ######## ############# #####################
## Export API
namespace eval ::critcl::iassoc {
namespace export def
catch { namespace ensemble create }
}
# # ## ### ##### ######## ############# #####################
## Ready
return

2
src/runtime/tclkit86bi.vfs/lib/critcl-iassoc1.2/pkgIndex.tcl

@ -1,2 +0,0 @@
if {![package vsatisfies [package provide Tcl] 8.6]} {return}
package ifneeded critcl::iassoc 1.2 [list source [file join $dir iassoc.tcl]]

330
src/runtime/tclkit86bi.vfs/lib/critcl-literals1.4/literals.tcl

@ -1,330 +0,0 @@
## -*- tcl -*-
# # ## ### ##### ######## ############# #####################
# Pragmas for MetaData Scanner.
# n/a
# CriTcl Utility Package for Shared Tcl_Obj* literals of a package.
# Based on critcl::iassoc.
#
# Copyright (c) 20??-2022 Andreas Kupries <andreas_kupries@users.sourceforge.net>
package provide critcl::literals 1.4
# # ## ### ##### ######## ############# #####################
## Requirements.
package require Tcl 8.6 ; # Min supported version.
package require critcl 3.1.11 ; # make, include -- dict portability
package require critcl::iassoc
namespace eval ::critcl::literals {}
# # ## ### ##### ######## ############# #####################
## Implementation -- API: Embed C Code
proc critcl::literals::def {name dict {use tcl}} {
# dict :: map (C symbolic name -> string)
Use $use
Header $name $dict
C ConstStringTable $name $dict
C AccessorC $name
Tcl Iassoc $name $dict
Tcl AccessorTcl $name
Tcl ResultType $name
+List AccessorTcl+List $name
return
}
# # ## ### ##### ######## ############# #####################
## Internals
proc critcl::literals::Use {use} {
# Use cases: tcl, c, both, +list-mode
upvar 1 mode mode
set uses 0
foreach u {c tcl +list} { set mode($u) 0 }
foreach u $use { set mode($u) 1 ; incr uses }
# +list-mode is an extension of tcl mode, thus implies it
if {$mode(+list)} { set mode(tcl) 1 }
if {$uses} return
return -code error "Need at least one use case (c, +list, or tcl)"
}
proc critcl::literals::ConstStringTable {name dict} {
# C level table initialization (constant data)
dict for {sym string} $dict {
append ctable "\n\t\"${string}\","
}
append ctable "\n\t0"
lappend map @NAME@ $name
lappend map @STRINGS@ $ctable
critcl::ccode [critcl::at::here!][string map $map {
static const char* @NAME@_literal[] = {
@STRINGS@
};
}]
return
}
proc critcl::literals::Iassoc {name dict} {
upvar 1 mode mode
lappend map @NAME@ $name
critcl::iassoc def ${name}_iassoc {} \n[critcl::at::here!][string map $map {
/* Array of the string literals, indexed by the symbolic names */
Tcl_Obj* literal [@NAME@_name_LAST];
}] [IassocInit $name $dict] [IassocFinal $dict]
return
}
proc critcl::literals::IassocFinal {dict} {
# Finalization code for iassoc structures
dict for {sym string} $dict {
append final "\n[critcl::at::here!]\n\tTcl_DecrRefCount (data->literal \[$sym\]);"
}
return $final
}
proc critcl::literals::IassocInit {name dict} {
# Initialization code for iassoc structures.
# Details dependent on if C is supported together with Tcl, or not.
upvar 1 mode mode
return [C IassocInitWithC $name $dict][!C IassocInitTcl $dict]
}
proc critcl::literals::IassocInitWithC {name dict} {
dict for {sym string} $dict {
set map [list @SYM@ $sym @NAME@ $name]
append init \n[critcl::at::here!][string map $map {
data->literal [@SYM@] = Tcl_NewStringObj (@NAME@_literal[@SYM@], -1);
Tcl_IncrRefCount (data->literal [@SYM@]);
}]
}
return $init
}
proc critcl::literals::IassocInitTcl {dict} {
dict for {sym string} $dict {
set map [list @SYM@ $sym @STR@ $string]
append init \n[critcl::at::here!][string map $map {
data->literal [@SYM@] = Tcl_NewStringObj ("@STR@", -1);
Tcl_IncrRefCount (data->literal [@SYM@]);
}]
}
return $init
}
proc critcl::literals::Header {name dict} {
# I. Generate a header file for inclusion by other parts of the
# package, i.e. csources. Include the header here as well, for
# the following blocks of code.
#
# Declarations of an enum of the symbolic names, plus the
# accessor function.
upvar 1 mode mode
append h [HeaderIntro $name $dict]
append h [Tcl HeaderTcl $name]
append h [+List HeaderTcl+List $name]
append h [C HeaderC $name]
append h [HeaderEnd $name]
critcl::include [critcl::make ${name}.h $h]
return
}
proc critcl::literals::HeaderIntro {name dict} {
lappend map @NAME@ $name
lappend map @CODES@ [join [dict keys $dict] {, }]
return \n[critcl::at::here!][string map $map {
#ifndef @NAME@_LITERALS_HEADER
#define @NAME@_LITERALS_HEADER
#include <tcl.h>
/* Symbolic names for the literals */
typedef enum @NAME@_names {
@CODES@
, @NAME@_name_LAST
} @NAME@_names;
}]
}
proc critcl::literals::HeaderEnd {name} {
lappend map @NAME@ $name
return [string map $map {
#endif /* @NAME@_LITERALS_HEADER */
}]
}
proc critcl::literals::HeaderTcl {name} {
lappend map @NAME@ $name
return \n[critcl::at::here!][string map $map {
/* Tcl Accessor function for the literals */
extern Tcl_Obj*
@NAME@ (Tcl_Interp* interp, @NAME@_names literal);
}]
}
proc critcl::literals::HeaderTcl+List {name} {
lappend map @NAME@ $name
return \n[critcl::at::here!][string map $map {
/* Tcl "+list" Accessor function for the literals */
extern Tcl_Obj*
@NAME@_list (Tcl_Interp* interp, int c, @NAME@_names* literal);
}]
}
proc critcl::literals::HeaderC {name} {
lappend map @NAME@ $name
return \n[critcl::at::here!][string map $map {
/* C Accessor function for the literals */
extern const char* @NAME@_cstr (@NAME@_names literal);
}]
}
proc critcl::literals::ResultType {name} {
lappend map @NAME@ $name
critcl::resulttype $name \n[critcl::at::here!][string map $map {
/* @NAME@ result is effectively 0-refcount */
Tcl_SetObjResult (interp, @NAME@ (interp, rv));
return TCL_OK;
}] int
}
proc critcl::literals::AccessorTcl {name} {
lappend map @NAME@ $name
critcl::ccode [critcl::at::here!][string map $map {
Tcl_Obj*
@NAME@ (Tcl_Interp* interp, @NAME@_names literal)
{
if ((literal < 0) || (literal >= @NAME@_name_LAST)) {
Tcl_Panic ("Bad @NAME@ literal index %d outside [0...%d]",
literal, @NAME@_name_LAST-1);
}
return @NAME@_iassoc (interp)->literal [literal];
}
}]
return
}
proc critcl::literals::AccessorTcl+List {name} {
lappend map @NAME@ $name
critcl::ccode [critcl::at::here!][string map $map {
Tcl_Obj*
@NAME@_list (Tcl_Interp* interp, int c, @NAME@_names* literal)
{
int k;
for (k=0; k < c; k++) {
if ((literal[k] < 0) || (literal[k] >= @NAME@_name_LAST)) {
Tcl_Panic ("Bad @NAME@ literal index %d outside [0...%d]",
literal[k], @NAME@_name_LAST-1);
}
}
Tcl_Obj* result = Tcl_NewListObj (0, 0);
if (!result) return result;
for (k=0; k < c; k++) {
if (TCL_OK == Tcl_ListObjAppendElement (interp, result, @NAME@_iassoc (interp)->literal [literal [k]]))
continue;
/* Failed to append, release and abort */
Tcl_DecrRefCount (result);
return 0;
}
return result;
}
}]
return
}
proc critcl::literals::AccessorC {name} {
upvar 1 mode mode
return [Tcl AccessorCWithTcl $name][!Tcl AccessorCRaw $name]
}
proc critcl::literals::AccessorCWithTcl {name} {
# C accessor can use Tcl API
lappend map @NAME@ $name
critcl::ccode [critcl::at::here!][string map $map {
const char*
@NAME@_cstr (@NAME@_names literal)
{
if ((literal < 0) || (literal >= @NAME@_name_LAST)) {
Tcl_Panic ("Bad @NAME@ literal");
}
return @NAME@_literal [literal];
}
}]
return
}
proc critcl::literals::AccessorCRaw {name} {
# C accessor has only basics
lappend map @NAME@ $name
critcl::ccode [critcl::at::here!][string map $map {
#include <assert.h>
const char*
@NAME@_cstr (@NAME@_names literal)
{
assert ((0 <= literal) && (literal < @NAME@_name_LAST));
return @NAME@_literal [literal];
}
}]
return
}
proc critcl::literals::C {args} {
upvar 1 mode mode
if {!$mode(c)} return
return [uplevel 1 $args]
}
proc critcl::literals::!C {args} {
upvar 1 mode mode
if {$mode(c)} return
return [uplevel 1 $args]
}
proc critcl::literals::Tcl {args} {
upvar 1 mode mode
if {!$mode(tcl)} return
return [uplevel 1 $args]
}
proc critcl::literals::!Tcl {args} {
upvar 1 mode mode
if {$mode(tcl)} return
return [uplevel 1 $args]
}
proc critcl::literals::+List {args} {
upvar 1 mode mode
if {!$mode(+list)} return
return [uplevel 1 $args]
}
proc critcl::literals::!+List {args} {
upvar 1 mode mode
if {$mode(+list)} return
return [uplevel 1 $args]
}
# # ## ### ##### ######## ############# #####################
## Export API
namespace eval ::critcl::literals {
namespace export def
catch { namespace ensemble create }
}
namespace eval ::critcl {
namespace export literals
catch { namespace ensemble create }
}
# # ## ### ##### ######## ############# #####################
## Ready
return

2
src/runtime/tclkit86bi.vfs/lib/critcl-literals1.4/pkgIndex.tcl

@ -1,2 +0,0 @@
if {![package vsatisfies [package provide Tcl] 8.6]} {return}
package ifneeded critcl::literals 1.4 [list source [file join $dir literals.tcl]]

2
src/runtime/tclkit86bi.vfs/lib/critcl-platform1.1/pkgIndex.tcl

@ -1,2 +0,0 @@
if {![package vsatisfies [package provide Tcl] 8.6]} {return}
package ifneeded critcl::platform 1.1 [list source [file join $dir platform.tcl]]

404
src/runtime/tclkit86bi.vfs/lib/critcl-platform1.1/platform.tcl

@ -1,404 +0,0 @@
# -*- tcl -*-
# ### ### ### ######### ######### #########
## Overview
# Heuristics to assemble a platform identifier from publicly available
# information. The identifier describes the platform of the currently
# running tcl shell. This is a mixture of the runtime environment and
# of build-time properties of the executable itself.
#
# Examples:
# <1> A tcl shell executing on a x86_64 processor, but having a
# wordsize of 4 was compiled for the x86 environment, i.e. 32
# bit, and loaded packages have to match that, and not the
# actual cpu.
#
# <2> The hp/solaris 32/64 bit builds of the core cannot be
# distinguished by looking at tcl_platform. As packages have to
# match the 32/64 information we have to look in more places. In
# this case we inspect the executable itself (magic numbers,
# i.e. fileutil::magic::filetype).
#
# The basic information used comes out of the 'os' and 'machine'
# entries of the 'tcl_platform' array. A number of general and
# os/machine specific transformation are applied to get a canonical
# result.
#
# General
# Only the first element of 'os' is used - we don't care whether we
# are on "Windows NT" or "Windows XP" or whatever.
#
# Machine specific
# % arm* -> arm
# % sun4* -> sparc
# % intel -> ix86
# % i*86* -> ix86
# % Power* -> powerpc
# % x86_64 + wordSize 4 => x86 code
#
# OS specific
# % AIX are always powerpc machines
# % HP-UX 9000/800 etc means parisc
# % linux has to take glibc version into account
# % sunos -> solaris, and keep version number
#
# NOTE: A platform like linux glibc 2.3, which can use glibc 2.2 stuff
# has to provide all possible allowed platform identifiers when
# searching search. Ditto a solaris 2.8 platform can use solaris 2.6
# packages. Etc. This is handled by the other procedure, see below.
package require Tcl 8.6
# ### ### ### ######### ######### #########
## Requirements
namespace eval ::platform {}
# ### ### ### ######### ######### #########
## Implementation
# -- platform::generic
#
# Assembles an identifier for the generic platform. It leaves out
# details like kernel version, libc version, etc.
proc ::platform::generic {} {
global tcl_platform
set plat [string tolower [lindex $tcl_platform(os) 0]]
set cpu $tcl_platform(machine)
switch -glob -- $cpu {
sun4* {
set cpu sparc
}
intel -
i*86* {
set cpu ix86
}
x86_64 {
if {$tcl_platform(wordSize) == 4} {
# See Example <1> at the top of this file.
set cpu ix86
}
}
"Power*" {
set cpu powerpc
}
"arm*" {
set cpu arm
}
ia64 {
if {$tcl_platform(wordSize) == 4} {
append cpu _32
}
}
}
switch -glob -- $plat {
cygwin* {
set plat cygwin
}
windows {
if {$tcl_platform(platform) == "unix"} {
set plat cygwin
} else {
set plat win32
}
if {$cpu eq "amd64"} {
# Do not check wordSize, win32-x64 is an IL32P64 platform.
set cpu x86_64
}
}
sunos {
set plat solaris
if {[string match "ix86" $cpu]} {
if {$tcl_platform(wordSize) == 8} {
set cpu x86_64
}
} elseif {![string match "ia64*" $cpu]} {
# sparc
if {$tcl_platform(wordSize) == 8} {
append cpu 64
}
}
}
darwin {
set plat macosx
# Correctly identify the cpu when running as a 64bit
# process on a machine with a 32bit kernel
if {$cpu eq "ix86"} {
if {$tcl_platform(wordSize) == 8} {
set cpu x86_64
}
}
}
aix {
set cpu powerpc
if {$tcl_platform(wordSize) == 8} {
append cpu 64
}
}
hp-ux {
set plat hpux
if {![string match "ia64*" $cpu]} {
set cpu parisc
if {$tcl_platform(wordSize) == 8} {
append cpu 64
}
}
}
osf1 {
set plat tru64
}
}
return "${plat}-${cpu}"
}
# -- platform::identify
#
# Assembles an identifier for the exact platform, by extending the
# generic identifier. I.e. it adds in details like kernel version,
# libc version, etc., if they are relevant for the loading of
# packages on the platform.
proc ::platform::identify {} {
global tcl_platform
set id [generic]
regexp {^([^-]+)-([^-]+)$} $id -> plat cpu
switch -- $plat {
freebsd {
set abi [lindex [split $tcl_platform(osVersion) .] 0]
append plat $abi
return "${plat}-${cpu}"
}
solaris {
regsub {^5} $tcl_platform(osVersion) 2 text
append plat $text
return "${plat}-${cpu}"
}
macosx {
set major [lindex [split $tcl_platform(osVersion) .] 0]
if {$major > 8} {
incr major -4
append plat 10.$major
return "${plat}-${cpu}"
}
}
linux {
# Look for the libc*.so and determine its version
# (libc5/6, libc6 further glibc 2.X)
set v unknown
# Determine in which directory to look. /lib, or /lib64.
# For that we use the tcl_platform(wordSize).
#
# We could use the 'cpu' info, per the equivalence below,
# that however would be restricted to intel. And this may
# be a arm, mips, etc. system. The wordsize is more
# fundamental.
#
# ix86 <=> (wordSize == 4) <=> 32 bit ==> /lib
# x86_64 <=> (wordSize == 8) <=> 64 bit ==> /lib64
#
# Do not look into /lib64 even if present, if the cpu
# doesn't fit.
# TODO: Determine the prefixes (i386, x86_64, ...) for
# other cpus. The path after the generic one is utterly
# specific to intel right now. Ok, on Ubuntu, possibly
# other Debian systems we may apparently be able to query
# the necessary CPU code. If we can't we simply use the
# hardwired fallback.
switch -exact -- $tcl_platform(wordSize) {
4 {
lappend bases /lib
if {[catch {
exec dpkg-architecture -qDEB_HOST_MULTIARCH
} res]} {
lappend bases /lib/i386-linux-gnu
} else {
# dpkg-arch returns the full tripled, not just cpu.
lappend bases /lib/$res
}
}
8 {
lappend bases /lib64
if {[catch {
exec dpkg-architecture -qDEB_HOST_MULTIARCH
} res]} {
lappend bases /lib/x86_64-linux-gnu
} else {
# dpkg-arch returns the full tripled, not just cpu.
lappend bases /lib/$res
}
}
default {
return -code error "Bad wordSize $tcl_platform(wordSize), expected 4 or 8"
}
}
foreach base $bases {
if {[LibcVersion $base -> v]} break
}
append plat -$v
return "${plat}-${cpu}"
}
}
return $id
}
proc ::platform::LibcVersion {base _->_ vv} {
upvar 1 $vv v
set libclist [lsort [glob -nocomplain -directory $base libc*]]
if {![llength $libclist]} { return 0 }
set libc [lindex $libclist 0]
# Try executing the library first. This should suceed
# for a glibc library, and return the version
# information.
if {![catch {
set vdata [lindex [split [exec $libc] \n] 0]
}]} {
regexp {version ([0-9]+(\.[0-9]+)*)} $vdata -> v
foreach {major minor} [split $v .] break
set v glibc${major}.${minor}
return 1
} else {
# We had trouble executing the library. We are now
# inspecting its name to determine the version
# number. This code by Larry McVoy.
if {[regexp -- {libc-([0-9]+)\.([0-9]+)} $libc -> major minor]} {
set v glibc${major}.${minor}
return 1
}
}
return 0
}
# -- platform::patterns
#
# Given an exact platform identifier, i.e. _not_ the generic
# identifier it assembles a list of exact platform identifier
# describing platform which should be compatible with the
# input.
#
# I.e. packages for all platforms in the result list should be
# loadable on the specified platform.
# << Should we add the generic identifier to the list as well ? In
# general it is not compatible I believe. So better not. In many
# cases the exact identifier is identical to the generic one
# anyway.
# >>
proc ::platform::patterns {id} {
set res [list $id]
if {$id eq "tcl"} {return $res}
switch -glob -- $id {
solaris*-* {
if {[regexp {solaris([^-]*)-(.*)} $id -> v cpu]} {
if {$v eq ""} {return $id}
foreach {major minor} [split $v .] break
incr minor -1
for {set j $minor} {$j >= 6} {incr j -1} {
lappend res solaris${major}.${j}-${cpu}
}
}
}
linux*-* {
if {[regexp {linux-glibc([^-]*)-(.*)} $id -> v cpu]} {
foreach {major minor} [split $v .] break
incr minor -1
for {set j $minor} {$j >= 0} {incr j -1} {
lappend res linux-glibc${major}.${j}-${cpu}
}
}
}
macosx-powerpc {
lappend res macosx-universal
}
macosx-x86_64 {
lappend res macosx-i386-x86_64
}
macosx-ix86 {
lappend res macosx-universal macosx-i386-x86_64
}
macosx*-* {
# 10.5+
if {[regexp {macosx([^-]*)-(.*)} $id -> v cpu]} {
switch -exact -- $cpu {
ix86 {
lappend alt i386-x86_64
lappend alt universal
}
x86_64 { lappend alt i386-x86_64 }
default { set alt {} }
}
if {$v ne ""} {
foreach {major minor} [split $v .] break
# Add 10.5 to 10.minor to patterns.
set res {}
for {set j $minor} {$j >= 5} {incr j -1} {
lappend res macosx${major}.${j}-${cpu}
foreach a $alt {
lappend res macosx${major}.${j}-$a
}
}
# Add unversioned patterns for 10.3/10.4 builds.
lappend res macosx-${cpu}
foreach a $alt {
lappend res macosx-$a
}
} else {
# No version, just do unversioned patterns.
foreach a $alt {
lappend res macosx-$a
}
}
} else {
# no v, no cpu ... nothing
}
}
}
lappend res tcl ; # Pure tcl packages are always compatible.
return $res
}
# ### ### ### ######### ######### #########
## Ready
package provide critcl::platform 1.1
# ### ### ### ######### ######### #########
## Demo application
if {[info exists argv0] && ($argv0 eq [info script])} {
puts ====================================
parray tcl_platform
puts ====================================
puts Generic\ identification:\ [::platform::generic]
puts Exact\ identification:\ \ \ [::platform::identify]
puts ====================================
puts Search\ patterns:
puts *\ [join [::platform::patterns [::platform::identify]] \n*\ ]
puts ====================================
exit 0
}

2
src/runtime/tclkit86bi.vfs/lib/critcl-util1.2/pkgIndex.tcl

@ -1,2 +0,0 @@
if {![package vsatisfies [package provide Tcl] 8.6]} {return}
package ifneeded critcl::util 1.2 [list source [file join $dir util.tcl]]

149
src/runtime/tclkit86bi.vfs/lib/critcl-util1.2/util.tcl

@ -1,149 +0,0 @@
## -*- tcl -*-
# # ## ### ##### ######## ############# #####################
# Pragmas for MetaData Scanner.
# n/a
# CriTcl Utility Commands.
package provide critcl::util 1.2
# # ## ### ##### ######## ############# #####################
## Requirements.
package require Tcl 8.6 ; # Min supported version.
package require critcl 3.2
namespace eval ::critcl::util {}
# # ## ### ##### ######## ############# #####################
## Implementation -- API: Embed C Code
proc ::critcl::util::locate {label paths {cmd {}}} {
# Locate a file across set of paths.
# Relative paths are to "::critcl::Here".
# Paths are run through subst for dynamic construction.
# A command prefix can be specified, to further check/process each found path.
# Result is the found path, as coming from the paths argument.
# Should go into cheader or similar command.
# Failure to find is reported via critcl::error
foreach path $paths {
if {[file pathtype $path] eq "relative"} {
set fullpath [file normalize [file join [critcl::Here] $path]]
} else {
set fullpath $path
}
if {![file exists $fullpath]} continue
if {[llength $cmd] && ![uplevel 1 [linsert $cmd end $fullpath]]} continue
critcl::msg "${label}: $path"
return $path
}
critcl::error "${label}: not found, searched [linsert [join $paths {, }] end-1 and]"
return
}
proc ::critcl::util::checkfun {name {label {}}} {
variable cftemplate
if {$label eq {}} { set label "Checking for function '$name'" }
return [critcl::checklink $label [string map [list @@@ $name] $cftemplate]]
}
proc ::critcl::util::def {configfile define {value 1}} {
set result [file join [critcl::cache] [file tail $configfile]]
Put $result "[Get $result]\n\#define $define $value\n"
return
}
proc ::critcl::util::undef {configfile define} {
set result [file join [critcl::cache] [file tail $configfile]]
Put $result "[Get $result]\n\#undef $define\n"
return
}
# # ## ### ##### ######## ############# #####################
proc ::critcl::util::Get {path} {
if {[catch {
set c [open $path r]
set d [read $c]
close $c
}]} {
set d {}
}
return $d
}
proc ::critcl::util::Put {path data} {
# Write changes back, via temp file. Commit via atomic rename.
set c [open $path.[pid] w]
puts -nonewline $c $data
close $c
file rename -force $path.[pid] $path
return
}
# # ## ### ##### ######## ############# #####################
## State
namespace eval ::critcl::util {
variable cftemplate {
/* The header <limits.h> may declare @@@. To avoid a clash
* redefine it to something aside. As an example, gettimeofday()
* is declared in the <limits.h> provided by HP-UX 11i. Regardless,
* we pull in a system header defining the __stub macros, and a
* few prototypes only possibly in conflict with @@@, we hope.
* As <limits.h> exists even on free-standing compilers its use
* is preferred when __STDC__ is active.
*/
#define @@@ innocuous_@@@
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
#undef @@@
/* Next up a declaration to override whatever internal prototype
* was declared by GCC, to prevent an error. As the return type
* 'int' might match such a GCC builtin, and thus causing the application
* of the argument prototype despite this we use 'char' instead.
*/
#ifdef __cplusplus
extern "C"
#endif
char @@@ ();
/* Lastly the GNU libc defines a few special names for its functions,
* these will always fail with ENONSYS. Further, some functions
* actually start with __, with the normal name (we are looking for)
* an alias of it. Regardless, for these we bail.
*/
#if defined __stub_@@@ || defined __stub___@@@
choke me
#endif
int main ()
{
return @@@ ();
;
return 0;
}
}
}
# # ## ### ##### ######## ############# #####################
## Export API
namespace eval ::critcl::util {
namespace export checkfun def undef locate
catch { namespace ensemble create }
}
# # ## ### ##### ######## ############# #####################
## Ready
return

537
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/Config

@ -1,537 +0,0 @@
# -*- tcl -*- Critcl configuration file
# some defaults - you can override these in the platform specific section
# but shouldn't need to for typical *nix toolchains using gcc
#
# platform sets the platform (defaults to platform::generic)
# target indicates that this is a cross-compile target, the value is the actual platform code.
# compile compile a C source file to an object file
# version print the compiler version number
# ldout See below
# link Command to link one or more object files and create a shared library
# embed_manifest Command to embed a manifest into a DLL. (Win-specific)
# link_debug See below
# link_preload Linker flags to use when dependent libraries are pre-loaded.
# link_release See below
# preproc_define preprocess C source file (for critcl::cdefines)
# preproc_enum ditto
# tclstubs cflag to set USE_TCL_STUBS
# tkstubs cflag to set USE_TK_STUBS
# debug_memory cflag to enable memory debugging
# debug_symbols cflag to add symbols to resulting library
# object file extension for object files
# output flags to set output file
# strip cflag to tell linker to strip symbols
# optimize cflag to specify optimization level
# include cflag to add an include directory
# noassert cflag to turn off assertions in Tcl code
# threadflags cflags to enable threaded build
# sharedlibext the platform's file extension for shared libraries
#
# (Support for Fortran)
# fcompile compile a Fortran source file to an object file
# fversion print the Fortran compiler version number
# flink link one or more object files and create a shared library,
# if at least one object file comes from Fortran
# foutput Fortran flag(s) to set output file
# finclude Fortran flag to add an include directory
# fextra_cflags Extra C flags for indicating type of Fortran compiler
#
# Any other config options are assumed to refer to Tcl variables and
# these are set when building so they can be used in the Critcl script.
# Typically this is used when defining cross-compile environments to set
# various tcl_platform() values.
#
# You can also set Tcl variables to use in "when" options (see the MacOSX
# section for an example - "set universal ..."). These commands and the
# "when" commands are run in a separate interpreter.
#
# You can also base a build configuration on an existing one by using
# the "copy" option and then specifically setting the config bits that
# you want to change. See win32-x86_64-cl for an example.
compile gcc -c -fPIC
version gcc -v
link gcc -shared
include -I
libinclude -L
preproc_define gcc -E -dM
preproc_enum gcc -E
tclstubs -DUSE_TCL_STUBS
tkstubs -DUSE_TK_STUBS
debug_memory -DTCL_MEM_DEBUG
debug_symbols -g
object .o
output -o [list $outfile]
embed_manifest
ldoutput
link_debug
link_release
link_preload --unresolved-symbols=ignore-in-shared-libs
link_rpath -Wl,-rpath,@
strip -Wl,-s
optimize -O2
noassert -DNDEBUG
threadflags -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 \
-DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_READDIR_R=1 \
-DTCL_THREADS=1
# platform specific stuff follows
# OSX - check if universal binaries supported by the installed toolchain
if {[string match macosx-* $platform]} {
if {[info exists ::env(SDKROOT)] && $::env(SDKROOT) ne ""} {
set SDKROOT $::env(SDKROOT)
} else {
# look for an SDK supporting universal binaries
set pos [string length MacOSX]
set sdklist {}
set base /Developer
catch {set base [exec xcode-select -print-path]}
foreach dir [glob -nocomplain -tails \
-directory $base/SDKs MacOSX*] {
set ver [string trimright \
[file rootname [string range $dir $pos end]] u]
if {"$ver" != "" && [package vcompare $ver 10.4] >= 0} {
# 10.4 is earliest supporting universal that we support
set path($ver) $dir
lappend sdklist $ver
}
}
if {[llength $sdklist]} {
set ver [lindex [lsort -command "package vcompare" $sdklist] 0]
set SDKROOT $base/SDKs/$path($ver)
} else {
set SDKROOT ""
}
}
if {$SDKROOT ne ""} {
# get the SDKsettings for the min OSX value supported
set info ""
if [catch {
set info [exec defaults read $SDKROOT/SDKSettings buildSettings]
}] {
catch {
set info [exec defaults read $SDKROOT/SDKSettings DefaultProperties \
-dict MACOSX_DEPLOYMENT_TARGET]
}
}
if {$info eq ""} {
puts stderr "SDKROOT isn't configured correctly on this host"
puts stderr "current setting $SDKROOT needs updating"
exit 1
}
set info [string trim $info]
regsub -all {[\n"\;=\{\}]+} $info "" info ;#" help emacs hilighting
regsub -all {\s+} $info " " info
set osxmin [lindex $info 1]
} else {
# use the current platform
foreach {v1 v2 v3} [split $::tcl_platform(osVersion) .] break
incr v1 -4
set osxmin 10.$v1.$v2
# do we actually need to check if universal is supported, given the
# gcc check below will do it for us?
# set info [exec lipo -info /usr/lib/libSystem.dylib]
# set plats [split [string trim [lindex [split $info :] 2]]]
}
if {[info exists ::env(osxmin)] && $::env(osxmin) ne ""} {
set osxmin $::env(osxmin)
}
set universal 0
catch {
set ppc [expr {[exec gcc -v -arch ppc > /dev/null 2>@stdout] eq ""}]
set ppc64 [expr {[exec gcc -v -arch ppc64 > /dev/null 2>@stdout] eq ""}]
set i386 [expr {[exec gcc -v -arch i386 > /dev/null 2>@stdout] eq ""}]
set x86_64 [expr {[exec gcc -v -arch x86_64 > /dev/null 2>@stdout] eq ""}]
}
}
# Note: The result of 'platform::generic' is used to restrict which of
# the following blocks will be considered.
# Note 2: The platform declarations are required to set up a proper
# mapping in pkgIndex.tcl of a -pkg.
# default on OSX ppc is universal containing ppc and x86 32 bit
macosx-powerpc when $ppc
macosx-powerpc compile gcc -c -arch ppc \
-isysroot $SDKROOT \
-mmacosx-version-min=$osxmin
macosx-powerpc link gcc -bundle -arch ppc \
-isysroot $SDKROOT \
-mmacosx-version-min=$osxmin
macosx-powerpc link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3
macosx-powerpc strip
# default on OSX intel is universal containing x86 32 and 64 bit
macosx-ix86 when $i386 && $x86_64
macosx-ix86 compile gcc -c -arch i386 -arch x86_64 \
-isysroot $SDKROOT \
-mmacosx-version-min=$osxmin
macosx-ix86 link gcc -bundle -arch i386 -arch x86_64 \
-isysroot $SDKROOT \
-mmacosx-version-min=$osxmin
macosx-ix86 link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3
macosx-ix86 strip
macosx-ix86 platform macosx-ix86 $osxmin \
macosx-ix86 \
macosx-x86_64
# target for most common architectures
macosx-most when $ppc && $i386 && $x86_64
macosx-most compile gcc -c -arch i386 -arch x86_64 -arch ppc \
-isysroot $SDKROOT \
-mmacosx-version-min=$osxmin
macosx-most link gcc -bundle -arch i386 -arch x86_64 -arch ppc \
-isysroot $SDKROOT \
-mmacosx-version-min=$osxmin
macosx-most link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3
macosx-most strip
macosx-most platform macosx-most $osxmin \
macosx-powerpc \
macosx-ix86 \
macosx-x86_64
# target for old universal, ppc and x86 32.
macosx-universal when $ppc && $i386
macosx-universal compile gcc -c -arch i386 -arch ppc \
-isysroot $SDKROOT \
-mmacosx-version-min=$osxmin
macosx-universal link gcc -bundle -arch i386 -arch ppc \
-isysroot $SDKROOT \
-mmacosx-version-min=$osxmin
macosx-universal link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3
macosx-universal strip
macosx-universal platform macosx-universal $osxmin \
macosx-powerpc \
macosx-ix86
# target for all architectures
macosx-all when $ppc && $ppc64 && $i386 && $x86_64
macosx-all compile gcc -c -arch i386 -arch x86_64 -arch ppc -arch ppc64 \
-isysroot $SDKROOT \
-mmacosx-version-min=$osxmin
macosx-all link gcc -bundle -arch i386 -arch x86_64 -arch ppc -arch ppc64 \
-isysroot $SDKROOT \
-mmacosx-version-min=$osxmin
macosx-all link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3
macosx-all strip
macosx-all platform macosx-all $osxmin \
macosx-powerpc \
macosx-powerpc64 \
macosx-ix86 \
macosx-x86_64
# OSX ppc 32 bit
macosx-ppc32 when $ppc
macosx-ppc32 compile gcc -c -arch ppc
macosx-ppc32 link gcc -bundle -arch ppc
macosx-ppc32 link_preload -undefined dynamic_lookup
macosx-ppc32 strip
macosx-ppc32 platform macosx-powerpc
# OSX ppc 64 bit
macosx-ppc64 when $ppc64
macosx-ppc64 compile gcc -c -arch ppc64
macosx-ppc64 link gcc -bundle -arch ppc64
macosx-ppc64 link_preload -undefined dynamic_lookup
macosx-ppc64 strip
macosx-ppc64 platform macosx-powerpc64
# OSX x86 32 bit
macosx-x86_32 when $i386
macosx-x86_32 compile gcc -c -arch i386
macosx-x86_32 link gcc -bundle -arch i386
macosx-x86_32 link_preload -undefined dynamic_lookup
macosx-x86_32 strip
macosx-x86_32 platform macosx-ix86
# OSX x86 64 bit
macosx-x86_64 when $x86_64
macosx-x86_64 compile gcc -c -arch x86_64
macosx-x86_64 link gcc -bundle -arch x86_64
macosx-x86_64 link_preload -undefined dynamic_lookup
macosx-x86_64 strip
macosx-x86_64 platform macosx-x86_64
# Linux - 32 bit or 64 bit build - select using "-target" if you don't
# want the platform default (32 on 32, 64 on 64). This requires
# some work to detect the cpu class in use and then set a platform
# with the proper variant name.
if {[string match linux-* $platform]} {
# platform = os-cpu(-compiler)
set cpu [lindex [split $platform -] 1]
switch -- $cpu {
x86_64 - ix86 {
set cpu32 ix86
set cpu64 x86_64
}
* {
#error "Unknown architecture"
set cpu32 unknown32fixme_$cpu
set cpu64 unknown64fixme_$cpu
}
}
}
linux-32-* compile gcc -c -m32
linux-32-* link gcc -shared -m32
linux-32-* platform linux-$cpu32
linux-64-* compile gcc -c -m64
linux-64-* link gcc -shared -m64
linux-64-* platform linux-$cpu64
# Windows - Check if bufferoverflowU.lib is required, or not. We
# assume that "requiredness" coincides with "presence". IOW, if the
# library is present in the LIB search paths, then it is required.
# This should be ok, for linking to it when it is present but not
# required, should do no harm.
set msvc 0
if {[string match win32-* $platform]} {
set cl [file nativename [lindex [auto_execok cl] 0]]
if {$cl ne ""} {
set msvc 1
set msvcbufferoverflowlib ""
foreach p [split $::env(LIB) \;] {
if {[llength [glob -nocomplain -directory $p bufferoverflowu.lib]]} {
set msvcbufferoverflowlib bufferoverflowU.lib
break
}
}
set tmpfile $::env(TMP)/[pid].txt
catch { exec $cl 2> $tmpfile > NUL: } msg
#puts "M $msg"
set chan [open $tmpfile r]
set output [read $chan]
#puts "O $output"
close $chan
file delete $tmpfile
regexp {Version ([0-9.]*)} $output -> msvcversion
#puts V=$msvcversion
if {[package vcompare $msvcversion 15.00.30729.01] >= 0} {
# VC9 or higher. -debug:full is not supported anymore.
# VC9 - warning, VC10 - error
set msvclinkdebug -debug
# Enable local stack checks for buffer overflow
set msvcstackchecks -GS
# -GZ deprecated in favor of -RTC1
set msvcdebugchecks -RTC1
set msvclinkglobaloptimize -ltcg
} else {
set msvclinkdebug -debug:full
set msvcdebugchecks -GZ
set msvcstackchecks ""
set msvclinkglobaloptimize ""
}
if {[package vcompare $msvcversion 14] >= 0} {
# -Op not supported or needed. Use -fp instead to match Tcl
set msvcfpopt -fp:strict
set msvclinkworkingset ""
} else {
# -Op -> floating point consistency
set msvcfpopt -Op
# Working set optimization
set msvclinkworkingset -ws:aggressive
}
}
}
# Windows - using 32-bit MS VC++
#
# Note: the language option for cl is -TC for c and -TP for c++ or
# it can treat single files -Tc<filename>
#
win32-ix86-cl when $msvc
win32-ix86-cl compile cl -nologo -c
win32-ix86-cl link link -nologo
win32-ix86-cl embed_manifest mt -manifest [list $outfile].manifest -outputresource:[list $outfile]\;2
win32-ix86-cl preproc_define cl -nologo -E
win32-ix86-cl preproc_enum cl -nologo -E
win32-ix86-cl libinclude /LIBPATH:
win32-ix86-cl object .obj
win32-ix86-cl debug_symbols -W3 -Od -Zi $msvcstackchecks $msvcdebugchecks -MDd -D_DEBUG $msvcfpopt
win32-ix86-cl optimize -W3 -O2 -MD $msvcstackchecks $msvcfpopt
win32-ix86-cl output [list -Fo$outfile]
win32-ix86-cl ldoutput -dll [list -out:$outfile]
win32-ix86-cl link_debug $msvclinkdebug -debugtype:cv -verbose:lib -nodefaultlib:libc
win32-ix86-cl link_release -release -opt:ref -opt:icf,3 $msvclinkworkingset -verbose:lib $msvclinkglobaloptimize
win32-ix86-cl link_preload
win32-ix86-cl link_rpath
win32-ix86-cl strip
win32-ix86-cl version cl
win32-ix86-cl platform win32-ix86
# Windows - using 64-bit MS VC++
#
# Note: the language option for cl is -TC for c and -TP for c++ or
# it can treat single files -Tc<filename>
#
win32-x86_64-cl when $msvc
win32-x86_64-cl copy win32-ix86-cl
win32-x86_64-cl link_debug $msvclinkdebug -debugtype:cv -verbose:lib $msvcbufferoverflowlib
win32-x86_64-cl link_release -release -opt:ref -opt:icf,3 $msvclinkworkingset -verbose:lib $msvclinkglobaloptimize $msvcbufferoverflowlib
win32-x86_64-cl platform win32-x86_64
# Cross-compile for Windows using Xmingwin
mingw32 target win32-ix86
mingw32 compile gcc -c -nostdlib
mingw32 link gcc -shared
mingw32 link_preload
mingw32 sharedlibext .dll
mingw32 tcl_platform(byteOrder) littleEndian
mingw32 tcl_platform(machine) intel
mingw32 tcl_platform(os) Windows NT
mingw32 tcl_platform(osVersion) 5.0
mingw32 tcl_platform(platform) windows
mingw32 tcl_platform(wordSize) 4
# Cross-compile for ARM (n770/Zaurus/etc) using Scratchbox et al
linux-arm target
linux-arm sharedlibext .so
linux-arm tcl_platform(byteOrder) littleEndian
linux-arm tcl_platform(machine) arm
linux-arm tcl_platform(os) Linux
linux-arm tcl_platform(osVersion) 2.6
linux-arm tcl_platform(platform) unix
linux-arm tcl_platform(wordSize) 4
# hpux itanium, native cc, 32 and 64bit builds.
# +z <=> -fPIC on hpux.
# +DD64 invokes the 64bit mode.
hpux-ia64_32-cc compile cc -c +z
hpux-ia64_32-cc link ld -b
hpux-ia64_32-cc preproc_define cc -E
hpux-ia64_32-cc preproc_enum cc -E
hpux-ia64_32-cc link_preload
hpux-ia64_32-cc strip
hpux-ia64-cc compile cc -c +z +DD64
hpux-ia64-cc link ld -b
hpux-ia64-cc preproc_define cc -E
hpux-ia64-cc preproc_enum cc -E
hpux-ia64-cc link_preload
hpux-ia64-cc strip
# hpux, itanium, gcc
# This works only if the -lgcc for 64bit is somewhere reachable.
# hpux-ia64 gcc -c -fPIC -mlp64
hpux-parisc-cc compile cc -c +z +DAportable
hpux-parisc-cc link ld -b
hpux-parisc-cc preproc_define cc -E
hpux-parisc-cc preproc_enum cc -E
hpux-parisc-cc link_preload
hpux-parisc-cc strip
hpux-parisc64-cc compile cc -c +z +DA2.0W
hpux-parisc64-cc link ld -b
hpux-parisc64-cc preproc_define cc -E
hpux-parisc64-cc preproc_enum cc -E
hpux-parisc64-cc link_preload
hpux-parisc64-cc strip
# hpux-parisc, 64bit, gcc
#
# For this architecture gcc does not have compiler switches for change
# between 32/64 results. Rather, gcc has to be built specifically to
# produce either 32 or 64 bit binaries. And if both results are
# wanted, it has to be built and installed twice (in different
# directories).
#
# HP provides precompiled binaries of these two variants at
# http://www.hp.com/go/gcc. Install the desired compiler(s). In case
# of having both ensure that the desired one is first in the PATH.
# aix, rs6000/powerpc, native cc, 32bit build
# The link line is pretty much copied from Tcl.
# NOTE: ldAix was copied from Tcl into a directory in the PATH.
# It might make sense to stuff this file into critcl and then copy it
# out when needed, either into a fixed place, or tempdir. In the
# latter case the link line needs some way of getting the value
# substituted into it. I have no idea of the critcl config allows
# that, and if yes, nor how.
# cc_r = something with thread-enabled. better use it than cc and have
# things fail.
aix-powerpc-cc compile cc_r -c -O
aix-powerpc-cc link ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry -lm -lc
aix-powerpc-cc preproc_define cc -E
aix-powerpc-cc preproc_enum cc -E
aix-powerpc-cc link_preload
aix-powerpc-cc strip
aix-powerpc64-cc compile cc_r -c -O -q64
aix-powerpc64-cc link ldAix /bin/ld -b64 -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry -lm -lc
aix-powerpc64-cc preproc_define cc -E
aix-powerpc64-cc preproc_enum cc -E
aix-powerpc64-cc link_preload
aix-powerpc64-cc strip
aix-powerpc-xlc compile xlc_r -c -O
aix-powerpc-xlc link ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry -lm -lc
aix-powerpc-xlc preproc_define xlc -E
aix-powerpc-xlc preproc_enum xlc -E
aix-powerpc-xlc link_preload
aix-powerpc-xlc strip
aix-powerpc64-xlc compile xlc_r -c -O -q64
aix-powerpc64-xlc link ldAix /bin/ld -b64 -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry -lm -lc
aix-powerpc64-xlc preproc_define xlc -E
aix-powerpc64-xlc preproc_enum xlc -E
aix-powerpc64-xlc link_preload
aix-powerpc64-xlc strip
# Solaris, Sparc and Intel platforms, 32 and 64 bit
solaris-x86_64-cc compile cc -m64 -c -KPIC
solaris-x86_64-cc link /usr/ccs/bin/ld -L/lib/64 -G -lc -lnsl
solaris-x86_64-cc preproc_define cc -E
solaris-x86_64-cc preproc_enum cc -E
solaris-x86_64-cc version cc -V
solaris-x86_64-cc link_preload
solaris-x86_64-cc strip
solaris-x86_64-gcc compile gcc -m64 -c -fPIC
solaris-x86_64-gcc link gcc -m64 -shared
solaris-ix86-cc compile cc -m32 -c -KPIC
solaris-ix86-cc link /usr/ccs/bin/ld -G -lc -lnsl
solaris-ix86-cc preproc_define cc -E
solaris-ix86-cc preproc_enum cc -E
solaris-ix86-cc version cc -V
solaris-ix86-cc link_preload
solaris-ix86-cc strip
solaris-sparc-cc compile cc -KPIC -c
solaris-sparc-cc link /usr/ccs/bin/ld -G -lc -lnsl
solaris-sparc-cc preproc_define cc -E
solaris-sparc-cc preproc_enum cc -E
solaris-sparc-cc version cc -V
solaris-sparc-cc link_preload
solaris-sparc-cc strip
solaris-sparc64-cc compile cc -KPIC -xarch=v9 -c
solaris-sparc64-cc link /usr/ccs/bin/ld -G -lc -lnsl
solaris-sparc64-cc preproc_define cc -E
solaris-sparc64-cc preproc_enum cc -E
solaris-sparc64-cc version cc -V
solaris-sparc64-cc link_preload
solaris-sparc64-cc strip
solaris-sparc64-gcc compile gcc -m64 -c -fPIC -mcpu=v9
solaris-sparc64-gcc link gcc -m64 -shared -mcpu=v9

6547
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl.tcl

File diff suppressed because it is too large Load Diff

5
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/cdata.c

@ -1,5 +0,0 @@
static char script\[$count] = {
$inittext
};
Tcl_SetByteArrayObj(Tcl_GetObjResult(ip), (unsigned char*) script, $count);
return TCL_OK;

6
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/header.c

@ -1,6 +0,0 @@
/* Generated by critcl on [clock format [clock seconds]]
* source: $file
* binary: $libfile
*/
$api
#include "tcl.h"

12
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/pkginit.c

@ -1,12 +0,0 @@
#ifdef __cplusplus
extern "C" {
#endif
${ext}
DLLEXPORT int
${ininame}_Init(Tcl_Interp *interp)
{
#define ip interp
#if USE_TCL_STUBS
if (!MyInitTclStubs(interp)) return TCL_ERROR;
#endif

6
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/pkginitend.c

@ -1,6 +0,0 @@
return TCL_OK;
#undef ip
}
#ifdef __cplusplus
}
#endif

5
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/pkginittk.c

@ -1,5 +0,0 @@
# line 1 "MyInitTkStubs"
#if USE_TK_STUBS
if (!MyInitTkStubs(interp)) return TCL_ERROR;
#endif

169
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/preload.c

@ -1,169 +0,0 @@
/*
* pre-load a shared library
* - for situations where a Tcl package depends on another library
* - will be superceded by the functionality in TIP #239
* - based on tclLoad.c from Tcl 8.4.13 and MyInitTclStubs from Critcl
*/
#include "tcl.h"
TclStubs *tclStubsPtr;
TclPlatStubs *tclPlatStubsPtr;
struct TclIntStubs *tclIntStubsPtr;
struct TclIntPlatStubs *tclIntPlatStubsPtr;
static int
MyInitTclStubs (Tcl_Interp *ip)
{
typedef struct {
char *result;
Tcl_FreeProc *freeProc;
int errorLine;
TclStubs *stubTable;
} HeadOfInterp;
HeadOfInterp *hoi = (HeadOfInterp*) ip;
if (hoi->stubTable == NULL || hoi->stubTable->magic != TCL_STUB_MAGIC) {
ip->result = "This extension requires stubs-support.";
ip->freeProc = TCL_STATIC;
return 0;
}
tclStubsPtr = hoi->stubTable;
if (Tcl_PkgRequire(ip, "Tcl", "8.1", 0) == NULL) {
tclStubsPtr = NULL;
return 0;
}
if (tclStubsPtr->hooks != NULL) {
tclPlatStubsPtr = tclStubsPtr->hooks->tclPlatStubs;
tclIntStubsPtr = tclStubsPtr->hooks->tclIntStubs;
tclIntPlatStubsPtr = tclStubsPtr->hooks->tclIntPlatStubs;
}
return 1;
}
#ifdef WIN32
#include <windows.h>
typedef struct PreloadInfo {
Tcl_Obj *dir;
Tcl_LoadHandle handle;
} PreloadInfo;
static void
removeDLLCopy(ClientData clientData) {
PreloadInfo *preload = (PreloadInfo *) clientData;
Tcl_Obj *dir = preload->dir;
Tcl_LoadHandle handle = preload->handle;
Tcl_Obj *errorPtr;
// no idea why, but we have to call FreeLibrary twice for the subsequent
// Tcl_FSRemoveDirectory to work
FreeLibrary((HINSTANCE) handle);
FreeLibrary((HINSTANCE) handle);
if (Tcl_FSRemoveDirectory(dir, 1, &errorPtr) != TCL_OK) {
fprintf(stderr, "error removing dir = %s\n", Tcl_GetString(errorPtr));
}
}
#endif
TCL_DECLARE_MUTEX(packageMutex)
static int
Critcl_Preload(
ClientData dummy,
Tcl_Interp *interp,
int objc,
Tcl_Obj *objv[])
{
int code;
Tcl_PackageInitProc *proc1, *proc2;
Tcl_LoadHandle loadHandle;
Tcl_FSUnloadFileProc *unLoadProcPtr = NULL;
Tcl_Filesystem *fsPtr;
#ifdef WIN32
PreloadInfo *preload = NULL;
#endif
if (objc != 2) {
Tcl_WrongNumArgs(interp, 1, objv, "fileName");
return TCL_ERROR;
}
if (Tcl_FSConvertToPathType(interp, objv[1]) != TCL_OK) {
return TCL_ERROR;
}
#ifdef WIN32
// if the filesystem holding the dll doesn't support direct loading
// we need to copy it to a temporary directory and load it from there
// - The command "critcl::runtime::precopy" is defined by the support
// file "critcl/lib/app-critcl/runtime.tcl". At load time this is
// the file "critcl-rt.tcl", sibling to "pkgIndex.tcl".
if ((fsPtr = Tcl_FSGetFileSystemForPath(objv[1])) != NULL \
&& fsPtr->loadFileProc == NULL) {
int len;
Tcl_Obj *dirs;
objv[0] = Tcl_NewStringObj("::critcl::runtime::precopy", -1);
if ((code = Tcl_EvalObjv(interp, 2, objv, 0)) != TCL_OK) {
Tcl_SetErrorCode(interp, "could not preload ",
Tcl_GetString(objv[1]), 0);
return TCL_ERROR;
}
objv[1] = Tcl_GetObjResult(interp);
Tcl_IncrRefCount(objv[1]);
dirs = Tcl_FSSplitPath(objv[1], &len);
preload = (PreloadInfo *) ckalloc(sizeof(PreloadInfo));
preload->dir = Tcl_FSJoinPath(dirs, --len);
Tcl_IncrRefCount(preload->dir);
}
#endif
Tcl_MutexLock(&packageMutex);
code = Tcl_FSLoadFile(interp, objv[1], NULL, NULL, NULL, NULL,
&loadHandle, &unLoadProcPtr);
Tcl_MutexUnlock(&packageMutex);
#ifdef WIN32
if (preload) {
preload->handle = loadHandle;
Tcl_CreateExitHandler(removeDLLCopy, (ClientData) preload);
}
#endif
return code;
}
DLLEXPORT int
Preload_Init(Tcl_Interp *interp)
{
if (!MyInitTclStubs(interp))
return TCL_ERROR;
// The Tcl command can't be "preload" because the Tcl source might
// be copied into the target package (so Tcl procs are available)
// and we want critcl::runtime::preload to then be a no-op because
// the preloading is done from the loadlib command when the target
// package is loaded
Tcl_CreateObjCommand(interp, "::critcl::runtime::preload", Critcl_Preload, NULL, 0);
return 0;
}
DLLEXPORT int
Preload_SafeInit(Tcl_Interp *interp)
{
if (!MyInitTclStubs(interp))
return TCL_ERROR;
Tcl_CreateObjCommand(interp, "::critcl::runtime::preload", Critcl_Preload, NULL, 0);
return 0;
}
DLLEXPORT int
Preload_Unload(Tcl_Interp *interp) {}
DLLEXPORT int
Preload_SafeUnload(Tcl_Interp *interp) {}

26
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/storageclass.c

@ -1,26 +0,0 @@
/*
* These macros are used to control whether functions are being declared for
* import or export. If a function is being declared while it is being built
* to be included in a shared library, then it should have the DLLEXPORT
* storage class. If is being declared for use by a module that is going to
* link against the shared library, then it should have the DLLIMPORT storage
* class. If the symbol is beind declared for a static build or for use from a
* stub library, then the storage class should be empty.
*
* The convention is that a macro called BUILD_xxxx, where xxxx is the name of
* a library we are building, is set on the compile line for sources that are
* to be placed in the library. When this macro is set, the storage class will
* be set to DLLEXPORT. At the end of the header file, the storage class will
* be reset to DLLIMPORT.
*/
#undef TCL_STORAGE_CLASS
#ifdef BUILD_@cname@
# define TCL_STORAGE_CLASS DLLEXPORT
#else
# ifdef USE_@up@_STUBS
# define TCL_STORAGE_CLASS
# else
# define TCL_STORAGE_CLASS DLLIMPORT
# endif
#endif

43
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/stubs.c

@ -1,43 +0,0 @@
#line 1 "MyInitTclStubs"
#if USE_TCL_STUBS
$stubs
$platstubs
const struct TclIntStubs *tclIntStubsPtr;
const struct TclIntPlatStubs *tclIntPlatStubsPtr;
static int
MyInitTclStubs (Tcl_Interp *ip)
{
typedef struct {
char *result;
Tcl_FreeProc *freeProc;
int errorLine;
TclStubs *stubTable;
} HeadOfInterp;
HeadOfInterp *hoi = (HeadOfInterp*) ip;
if (hoi->stubTable == NULL || hoi->stubTable->magic != TCL_STUB_MAGIC) {
hoi->result = "This extension requires stubs-support.";
hoi->freeProc = TCL_STATIC;
return 0;
}
tclStubsPtr = hoi->stubTable;
if (Tcl_PkgRequire(ip, "Tcl", "$mintcl", 0) == NULL) {
tclStubsPtr = NULL;
return 0;
}
if (tclStubsPtr->hooks != NULL) {
tclPlatStubsPtr = tclStubsPtr->hooks->tclPlatStubs;
tclIntStubsPtr = tclStubsPtr->hooks->tclIntStubs;
tclIntPlatStubsPtr = tclStubsPtr->hooks->tclIntPlatStubs;
}
return 1;
}
#endif

10
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/stubs_e.c

@ -1,10 +0,0 @@
#line 1 "MyInitTclStubs"
#if USE_TCL_STUBS
static int
MyInitTclStubs (Tcl_Interp *ip)
{
return 1;
}
#endif

677
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/X.h

@ -1,677 +0,0 @@
/*
* $XConsortium: X.h,v 1.66 88/09/06 15:55:56 jim Exp $
*/
/* Definitions for the X window system likely to be used by applications */
#ifndef X_H
#define X_H
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
#define X_PROTOCOL 11 /* current protocol version */
#define X_PROTOCOL_REVISION 0 /* current minor version */
#if defined(MAC_OSX_TK)
# define Cursor XCursor
# define Region XRegion
#endif
/* Resources */
#ifdef _WIN64
typedef __int64 XID;
#else
typedef unsigned long XID;
#endif
typedef XID Window;
typedef XID Drawable;
typedef XID Font;
typedef XID Pixmap;
typedef XID Cursor;
typedef XID Colormap;
typedef XID GContext;
typedef XID KeySym;
typedef unsigned long Mask;
typedef unsigned long Atom;
typedef unsigned long VisualID;
typedef unsigned long Time;
typedef unsigned long KeyCode; /* In order to use IME, the Macintosh needs
* to pack 3 bytes into the keyCode field in
* the XEvent. In the real X.h, a KeyCode is
* defined as a short, which wouldn't be big
* enough. */
/*****************************************************************
* RESERVED RESOURCE AND CONSTANT DEFINITIONS
*****************************************************************/
#define None 0L /* universal null resource or null atom */
#define ParentRelative 1L /* background pixmap in CreateWindow
and ChangeWindowAttributes */
#define CopyFromParent 0L /* border pixmap in CreateWindow
and ChangeWindowAttributes
special VisualID and special window
class passed to CreateWindow */
#define PointerWindow 0L /* destination window in SendEvent */
#define InputFocus 1L /* destination window in SendEvent */
#define PointerRoot 1L /* focus window in SetInputFocus */
#define AnyPropertyType 0L /* special Atom, passed to GetProperty */
#define AnyKey 0L /* special Key Code, passed to GrabKey */
#define AnyButton 0L /* special Button Code, passed to GrabButton */
#define AllTemporary 0L /* special Resource ID passed to KillClient */
#define CurrentTime 0L /* special Time */
#define NoSymbol 0L /* special KeySym */
/*****************************************************************
* EVENT DEFINITIONS
*****************************************************************/
/* Input Event Masks. Used as event-mask window attribute and as arguments
to Grab requests. Not to be confused with event names. */
#define NoEventMask 0L
#define KeyPressMask (1L<<0)
#define KeyReleaseMask (1L<<1)
#define ButtonPressMask (1L<<2)
#define ButtonReleaseMask (1L<<3)
#define EnterWindowMask (1L<<4)
#define LeaveWindowMask (1L<<5)
#define PointerMotionMask (1L<<6)
#define PointerMotionHintMask (1L<<7)
#define Button1MotionMask (1L<<8)
#define Button2MotionMask (1L<<9)
#define Button3MotionMask (1L<<10)
#define Button4MotionMask (1L<<11)
#define Button5MotionMask (1L<<12)
#define ButtonMotionMask (1L<<13)
#define KeymapStateMask (1L<<14)
#define ExposureMask (1L<<15)
#define VisibilityChangeMask (1L<<16)
#define StructureNotifyMask (1L<<17)
#define ResizeRedirectMask (1L<<18)
#define SubstructureNotifyMask (1L<<19)
#define SubstructureRedirectMask (1L<<20)
#define FocusChangeMask (1L<<21)
#define PropertyChangeMask (1L<<22)
#define ColormapChangeMask (1L<<23)
#define OwnerGrabButtonMask (1L<<24)
/* Event names. Used in "type" field in XEvent structures. Not to be
confused with event masks above. They start from 2 because 0 and 1
are reserved in the protocol for errors and replies. */
#define KeyPress 2
#define KeyRelease 3
#define ButtonPress 4
#define ButtonRelease 5
#define MotionNotify 6
#define EnterNotify 7
#define LeaveNotify 8
#define FocusIn 9
#define FocusOut 10
#define KeymapNotify 11
#define Expose 12
#define GraphicsExpose 13
#define NoExpose 14
#define VisibilityNotify 15
#define CreateNotify 16
#define DestroyNotify 17
#define UnmapNotify 18
#define MapNotify 19
#define MapRequest 20
#define ReparentNotify 21
#define ConfigureNotify 22
#define ConfigureRequest 23
#define GravityNotify 24
#define ResizeRequest 25
#define CirculateNotify 26
#define CirculateRequest 27
#define PropertyNotify 28
#define SelectionClear 29
#define SelectionRequest 30
#define SelectionNotify 31
#define ColormapNotify 32
#define ClientMessage 33
#define MappingNotify 34
#define LASTEvent 35 /* must be bigger than any event # */
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
state in various key-, mouse-, and button-related events. */
#define ShiftMask (1<<0)
#define LockMask (1<<1)
#define ControlMask (1<<2)
#define Mod1Mask (1<<3)
#define Mod2Mask (1<<4)
#define Mod3Mask (1<<5)
#define Mod4Mask (1<<6)
#define Mod5Mask (1<<7)
/* modifier names. Used to build a SetModifierMapping request or
to read a GetModifierMapping request. These correspond to the
masks defined above. */
#define ShiftMapIndex 0
#define LockMapIndex 1
#define ControlMapIndex 2
#define Mod1MapIndex 3
#define Mod2MapIndex 4
#define Mod3MapIndex 5
#define Mod4MapIndex 6
#define Mod5MapIndex 7
/* button masks. Used in same manner as Key masks above. Not to be confused
with button names below. */
#define Button1Mask (1<<8)
#define Button2Mask (1<<9)
#define Button3Mask (1<<10)
#define Button4Mask (1<<11)
#define Button5Mask (1<<12)
#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */
/* button names. Used as arguments to GrabButton and as detail in ButtonPress
and ButtonRelease events. Not to be confused with button masks above.
Note that 0 is already defined above as "AnyButton". */
#define Button1 1
#define Button2 2
#define Button3 3
#define Button4 4
#define Button5 5
/* Notify modes */
#define NotifyNormal 0
#define NotifyGrab 1
#define NotifyUngrab 2
#define NotifyWhileGrabbed 3
#define NotifyHint 1 /* for MotionNotify events */
/* Notify detail */
#define NotifyAncestor 0
#define NotifyVirtual 1
#define NotifyInferior 2
#define NotifyNonlinear 3
#define NotifyNonlinearVirtual 4
#define NotifyPointer 5
#define NotifyPointerRoot 6
#define NotifyDetailNone 7
/* Visibility notify */
#define VisibilityUnobscured 0
#define VisibilityPartiallyObscured 1
#define VisibilityFullyObscured 2
/* Circulation request */
#define PlaceOnTop 0
#define PlaceOnBottom 1
/* protocol families */
#define FamilyInternet 0
#define FamilyDECnet 1
#define FamilyChaos 2
/* Property notification */
#define PropertyNewValue 0
#define PropertyDelete 1
/* Color Map notification */
#define ColormapUninstalled 0
#define ColormapInstalled 1
/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
#define GrabModeSync 0
#define GrabModeAsync 1
/* GrabPointer, GrabKeyboard reply status */
#define GrabSuccess 0
#define AlreadyGrabbed 1
#define GrabInvalidTime 2
#define GrabNotViewable 3
#define GrabFrozen 4
/* AllowEvents modes */
#define AsyncPointer 0
#define SyncPointer 1
#define ReplayPointer 2
#define AsyncKeyboard 3
#define SyncKeyboard 4
#define ReplayKeyboard 5
#define AsyncBoth 6
#define SyncBoth 7
/* Used in SetInputFocus, GetInputFocus */
#define RevertToNone (int)None
#define RevertToPointerRoot (int)PointerRoot
#define RevertToParent 2
/*****************************************************************
* ERROR CODES
*****************************************************************/
#define Success 0 /* everything's okay */
#define BadRequest 1 /* bad request code */
#define BadValue 2 /* int parameter out of range */
#define BadWindow 3 /* parameter not a Window */
#define BadPixmap 4 /* parameter not a Pixmap */
#define BadAtom 5 /* parameter not an Atom */
#define BadCursor 6 /* parameter not a Cursor */
#define BadFont 7 /* parameter not a Font */
#define BadMatch 8 /* parameter mismatch */
#define BadDrawable 9 /* parameter not a Pixmap or Window */
#define BadAccess 10 /* depending on context:
- key/button already grabbed
- attempt to free an illegal
cmap entry
- attempt to store into a read-only
color map entry.
- attempt to modify the access control
list from other than the local host.
*/
#define BadAlloc 11 /* insufficient resources */
#define BadColor 12 /* no such colormap */
#define BadGC 13 /* parameter not a GC */
#define BadIDChoice 14 /* choice not in range or already used */
#define BadName 15 /* font or color name doesn't exist */
#define BadLength 16 /* Request length incorrect */
#define BadImplementation 17 /* server is defective */
#define FirstExtensionError 128
#define LastExtensionError 255
/*****************************************************************
* WINDOW DEFINITIONS
*****************************************************************/
/* Window classes used by CreateWindow */
/* Note that CopyFromParent is already defined as 0 above */
#define InputOutput 1
#define InputOnly 2
/* Window attributes for CreateWindow and ChangeWindowAttributes */
#define CWBackPixmap (1L<<0)
#define CWBackPixel (1L<<1)
#define CWBorderPixmap (1L<<2)
#define CWBorderPixel (1L<<3)
#define CWBitGravity (1L<<4)
#define CWWinGravity (1L<<5)
#define CWBackingStore (1L<<6)
#define CWBackingPlanes (1L<<7)
#define CWBackingPixel (1L<<8)
#define CWOverrideRedirect (1L<<9)
#define CWSaveUnder (1L<<10)
#define CWEventMask (1L<<11)
#define CWDontPropagate (1L<<12)
#define CWColormap (1L<<13)
#define CWCursor (1L<<14)
/* ConfigureWindow structure */
#define CWX (1<<0)
#define CWY (1<<1)
#define CWWidth (1<<2)
#define CWHeight (1<<3)
#define CWBorderWidth (1<<4)
#define CWSibling (1<<5)
#define CWStackMode (1<<6)
/* Bit Gravity */
#define ForgetGravity 0
#define NorthWestGravity 1
#define NorthGravity 2
#define NorthEastGravity 3
#define WestGravity 4
#define CenterGravity 5
#define EastGravity 6
#define SouthWestGravity 7
#define SouthGravity 8
#define SouthEastGravity 9
#define StaticGravity 10
/* Window gravity + bit gravity above */
#define UnmapGravity 0
/* Used in CreateWindow for backing-store hint */
#define NotUseful 0
#define WhenMapped 1
#define Always 2
/* Used in GetWindowAttributes reply */
#define IsUnmapped 0
#define IsUnviewable 1
#define IsViewable 2
/* Used in ChangeSaveSet */
#define SetModeInsert 0
#define SetModeDelete 1
/* Used in ChangeCloseDownMode */
#define DestroyAll 0
#define RetainPermanent 1
#define RetainTemporary 2
/* Window stacking method (in configureWindow) */
#define Above 0
#define Below 1
#define TopIf 2
#define BottomIf 3
#define Opposite 4
/* Circulation direction */
#define RaiseLowest 0
#define LowerHighest 1
/* Property modes */
#define PropModeReplace 0
#define PropModePrepend 1
#define PropModeAppend 2
/*****************************************************************
* GRAPHICS DEFINITIONS
*****************************************************************/
/* graphics functions, as in GC.alu */
#define GXclear 0x0 /* 0 */
#define GXand 0x1 /* src AND dst */
#define GXandReverse 0x2 /* src AND NOT dst */
#define GXcopy 0x3 /* src */
#define GXandInverted 0x4 /* NOT src AND dst */
#define GXnoop 0x5 /* dst */
#define GXxor 0x6 /* src XOR dst */
#define GXor 0x7 /* src OR dst */
#define GXnor 0x8 /* NOT src AND NOT dst */
#define GXequiv 0x9 /* NOT src XOR dst */
#define GXinvert 0xa /* NOT dst */
#define GXorReverse 0xb /* src OR NOT dst */
#define GXcopyInverted 0xc /* NOT src */
#define GXorInverted 0xd /* NOT src OR dst */
#define GXnand 0xe /* NOT src OR NOT dst */
#define GXset 0xf /* 1 */
/* LineStyle */
#define LineSolid 0
#define LineOnOffDash 1
#define LineDoubleDash 2
/* capStyle */
#define CapNotLast 0
#define CapButt 1
#define CapRound 2
#define CapProjecting 3
/* joinStyle */
#define JoinMiter 0
#define JoinRound 1
#define JoinBevel 2
/* fillStyle */
#define FillSolid 0
#define FillTiled 1
#define FillStippled 2
#define FillOpaqueStippled 3
/* fillRule */
#define EvenOddRule 0
#define WindingRule 1
/* subwindow mode */
#define ClipByChildren 0
#define IncludeInferiors 1
/* SetClipRectangles ordering */
#define Unsorted 0
#define YSorted 1
#define YXSorted 2
#define YXBanded 3
/* CoordinateMode for drawing routines */
#define CoordModeOrigin 0 /* relative to the origin */
#define CoordModePrevious 1 /* relative to previous point */
/* Polygon shapes */
#define Complex 0 /* paths may intersect */
#define Nonconvex 1 /* no paths intersect, but not convex */
#define Convex 2 /* wholly convex */
/* Arc modes for PolyFillArc */
#define ArcChord 0 /* join endpoints of arc */
#define ArcPieSlice 1 /* join endpoints to center of arc */
/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
GC.stateChanges */
#define GCFunction (1L<<0)
#define GCPlaneMask (1L<<1)
#define GCForeground (1L<<2)
#define GCBackground (1L<<3)
#define GCLineWidth (1L<<4)
#define GCLineStyle (1L<<5)
#define GCCapStyle (1L<<6)
#define GCJoinStyle (1L<<7)
#define GCFillStyle (1L<<8)
#define GCFillRule (1L<<9)
#define GCTile (1L<<10)
#define GCStipple (1L<<11)
#define GCTileStipXOrigin (1L<<12)
#define GCTileStipYOrigin (1L<<13)
#define GCFont (1L<<14)
#define GCSubwindowMode (1L<<15)
#define GCGraphicsExposures (1L<<16)
#define GCClipXOrigin (1L<<17)
#define GCClipYOrigin (1L<<18)
#define GCClipMask (1L<<19)
#define GCDashOffset (1L<<20)
#define GCDashList (1L<<21)
#define GCArcMode (1L<<22)
#define GCLastBit 22
/*****************************************************************
* FONTS
*****************************************************************/
/* used in QueryFont -- draw direction */
#define FontLeftToRight 0
#define FontRightToLeft 1
#define FontChange 255
/*****************************************************************
* IMAGING
*****************************************************************/
/* ImageFormat -- PutImage, GetImage */
#define XYBitmap 0 /* depth 1, XYFormat */
#define XYPixmap 1 /* depth == drawable depth */
#define ZPixmap 2 /* depth == drawable depth */
/*****************************************************************
* COLOR MAP STUFF
*****************************************************************/
/* For CreateColormap */
#define AllocNone 0 /* create map with no entries */
#define AllocAll 1 /* allocate entire map writeable */
/* Flags used in StoreNamedColor, StoreColors */
#define DoRed (1<<0)
#define DoGreen (1<<1)
#define DoBlue (1<<2)
/*****************************************************************
* CURSOR STUFF
*****************************************************************/
/* QueryBestSize Class */
#define CursorShape 0 /* largest size that can be displayed */
#define TileShape 1 /* size tiled fastest */
#define StippleShape 2 /* size stippled fastest */
/*****************************************************************
* KEYBOARD/POINTER STUFF
*****************************************************************/
#define AutoRepeatModeOff 0
#define AutoRepeatModeOn 1
#define AutoRepeatModeDefault 2
#define LedModeOff 0
#define LedModeOn 1
/* masks for ChangeKeyboardControl */
#define KBKeyClickPercent (1L<<0)
#define KBBellPercent (1L<<1)
#define KBBellPitch (1L<<2)
#define KBBellDuration (1L<<3)
#define KBLed (1L<<4)
#define KBLedMode (1L<<5)
#define KBKey (1L<<6)
#define KBAutoRepeatMode (1L<<7)
#define MappingSuccess 0
#define MappingBusy 1
#define MappingFailed 2
#define MappingModifier 0
#define MappingKeyboard 1
#define MappingPointer 2
/*****************************************************************
* SCREEN SAVER STUFF
*****************************************************************/
#define DontPreferBlanking 0
#define PreferBlanking 1
#define DefaultBlanking 2
#define DisableScreenSaver 0
#define DisableScreenInterval 0
#define DontAllowExposures 0
#define AllowExposures 1
#define DefaultExposures 2
/* for ForceScreenSaver */
#define ScreenSaverReset 0
#define ScreenSaverActive 1
/*****************************************************************
* HOSTS AND CONNECTIONS
*****************************************************************/
/* for ChangeHosts */
#define HostInsert 0
#define HostDelete 1
/* for ChangeAccessControl */
#define EnableAccess 1
#define DisableAccess 0
/* Display classes used in opening the connection
* Note that the statically allocated ones are even numbered and the
* dynamically changeable ones are odd numbered */
#define StaticGray 0
#define GrayScale 1
#define StaticColor 2
#define PseudoColor 3
#define TrueColor 4
#define DirectColor 5
/* Byte order used in imageByteOrder and bitmapBitOrder */
#define LSBFirst 0
#define MSBFirst 1
#if defined(MAC_OSX_TK)
# undef Cursor
# undef Region
#endif
#endif /* X_H */

79
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/Xatom.h

@ -1,79 +0,0 @@
#ifndef XATOM_H
#define XATOM_H 1
/* THIS IS A GENERATED FILE
*
* Do not change! Changing this file implies a protocol change!
*/
#define XA_PRIMARY ((Atom) 1)
#define XA_SECONDARY ((Atom) 2)
#define XA_ARC ((Atom) 3)
#define XA_ATOM ((Atom) 4)
#define XA_BITMAP ((Atom) 5)
#define XA_CARDINAL ((Atom) 6)
#define XA_COLORMAP ((Atom) 7)
#define XA_CURSOR ((Atom) 8)
#define XA_CUT_BUFFER0 ((Atom) 9)
#define XA_CUT_BUFFER1 ((Atom) 10)
#define XA_CUT_BUFFER2 ((Atom) 11)
#define XA_CUT_BUFFER3 ((Atom) 12)
#define XA_CUT_BUFFER4 ((Atom) 13)
#define XA_CUT_BUFFER5 ((Atom) 14)
#define XA_CUT_BUFFER6 ((Atom) 15)
#define XA_CUT_BUFFER7 ((Atom) 16)
#define XA_DRAWABLE ((Atom) 17)
#define XA_FONT ((Atom) 18)
#define XA_INTEGER ((Atom) 19)
#define XA_PIXMAP ((Atom) 20)
#define XA_POINT ((Atom) 21)
#define XA_RECTANGLE ((Atom) 22)
#define XA_RESOURCE_MANAGER ((Atom) 23)
#define XA_RGB_COLOR_MAP ((Atom) 24)
#define XA_RGB_BEST_MAP ((Atom) 25)
#define XA_RGB_BLUE_MAP ((Atom) 26)
#define XA_RGB_DEFAULT_MAP ((Atom) 27)
#define XA_RGB_GRAY_MAP ((Atom) 28)
#define XA_RGB_GREEN_MAP ((Atom) 29)
#define XA_RGB_RED_MAP ((Atom) 30)
#define XA_STRING ((Atom) 31)
#define XA_VISUALID ((Atom) 32)
#define XA_WINDOW ((Atom) 33)
#define XA_WM_COMMAND ((Atom) 34)
#define XA_WM_HINTS ((Atom) 35)
#define XA_WM_CLIENT_MACHINE ((Atom) 36)
#define XA_WM_ICON_NAME ((Atom) 37)
#define XA_WM_ICON_SIZE ((Atom) 38)
#define XA_WM_NAME ((Atom) 39)
#define XA_WM_NORMAL_HINTS ((Atom) 40)
#define XA_WM_SIZE_HINTS ((Atom) 41)
#define XA_WM_ZOOM_HINTS ((Atom) 42)
#define XA_MIN_SPACE ((Atom) 43)
#define XA_NORM_SPACE ((Atom) 44)
#define XA_MAX_SPACE ((Atom) 45)
#define XA_END_SPACE ((Atom) 46)
#define XA_SUPERSCRIPT_X ((Atom) 47)
#define XA_SUPERSCRIPT_Y ((Atom) 48)
#define XA_SUBSCRIPT_X ((Atom) 49)
#define XA_SUBSCRIPT_Y ((Atom) 50)
#define XA_UNDERLINE_POSITION ((Atom) 51)
#define XA_UNDERLINE_THICKNESS ((Atom) 52)
#define XA_STRIKEOUT_ASCENT ((Atom) 53)
#define XA_STRIKEOUT_DESCENT ((Atom) 54)
#define XA_ITALIC_ANGLE ((Atom) 55)
#define XA_X_HEIGHT ((Atom) 56)
#define XA_QUAD_WIDTH ((Atom) 57)
#define XA_WEIGHT ((Atom) 58)
#define XA_POINT_SIZE ((Atom) 59)
#define XA_RESOLUTION ((Atom) 60)
#define XA_COPYRIGHT ((Atom) 61)
#define XA_NOTICE ((Atom) 62)
#define XA_FONT_NAME ((Atom) 63)
#define XA_FAMILY_NAME ((Atom) 64)
#define XA_FULL_NAME ((Atom) 65)
#define XA_CAP_HEIGHT ((Atom) 66)
#define XA_WM_CLASS ((Atom) 67)
#define XA_WM_TRANSIENT_FOR ((Atom) 68)
#define XA_LAST_PREDEFINED ((Atom) 68)
#endif /* XATOM_H */

60
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/Xfuncproto.h

@ -1,60 +0,0 @@
/* $XConsortium: Xfuncproto.h,v 1.7 91/05/13 20:49:21 rws Exp $ */
/*
* Copyright 1989, 1991 by the Massachusetts Institute of Technology
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising
* or publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
*/
/* Definitions to make function prototypes manageable */
#ifndef _XFUNCPROTO_H_
#define _XFUNCPROTO_H_
#ifndef NeedFunctionPrototypes
#define NeedFunctionPrototypes 1
#endif /* NeedFunctionPrototypes */
#ifndef NeedVarargsPrototypes
#define NeedVarargsPrototypes 0
#endif /* NeedVarargsPrototypes */
#if NeedFunctionPrototypes
#ifndef NeedNestedPrototypes
#define NeedNestedPrototypes 1
#endif /* NeedNestedPrototypes */
#ifndef _Xconst
#define _Xconst const
#endif /* _Xconst */
#ifndef NeedWidePrototypes
#ifdef NARROWPROTO
#define NeedWidePrototypes 0
#else
#define NeedWidePrototypes 1 /* default to make interropt. easier */
#endif
#endif /* NeedWidePrototypes */
#endif /* NeedFunctionPrototypes */
#ifdef __cplusplus
#define _XFUNCPROTOBEGIN extern "C" {
#define _XFUNCPROTOEND }
#endif
#ifndef _XFUNCPROTOBEGIN
#define _XFUNCPROTOBEGIN
#define _XFUNCPROTOEND
#endif /* _XFUNCPROTOBEGIN */
#endif /* _XFUNCPROTO_H_ */

1205
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/Xlib.h

File diff suppressed because it is too large Load Diff

855
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/Xutil.h

@ -1,855 +0,0 @@
/* $XConsortium: Xutil.h,v 11.73 91/07/30 16:21:37 rws Exp $ */
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
#ifndef _XUTIL_H_
#define _XUTIL_H_
/* You must include <X11/Xlib.h> before including this file */
#if defined(MAC_OSX_TK)
# define Region XRegion
#endif
/*
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
* value (x, y, width, height) was found in the parsed string.
*/
#define NoValue 0x0000
#define XValue 0x0001
#define YValue 0x0002
#define WidthValue 0x0004
#define HeightValue 0x0008
#define AllValues 0x000F
#define XNegative 0x0010
#define YNegative 0x0020
/*
* new version containing base_width, base_height, and win_gravity fields;
* used with WM_NORMAL_HINTS.
*/
typedef struct {
long flags; /* marks which fields in this structure are defined */
int x, y; /* obsolete for new window mgrs, but clients */
int width, height; /* should set so old wm's don't mess up */
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
struct {
int x; /* numerator */
int y; /* denominator */
} min_aspect, max_aspect;
int base_width, base_height; /* added by ICCCM version 1 */
int win_gravity; /* added by ICCCM version 1 */
} XSizeHints;
/*
* The next block of definitions are for window manager properties that
* clients and applications use for communication.
*/
/* flags argument in size hints */
#define USPosition (1L << 0) /* user specified x, y */
#define USSize (1L << 1) /* user specified width, height */
#define PPosition (1L << 2) /* program specified position */
#define PSize (1L << 3) /* program specified size */
#define PMinSize (1L << 4) /* program specified minimum size */
#define PMaxSize (1L << 5) /* program specified maximum size */
#define PResizeInc (1L << 6) /* program specified resize increments */
#define PAspect (1L << 7) /* program specified min and max aspect ratios */
#define PBaseSize (1L << 8) /* program specified base for incrementing */
#define PWinGravity (1L << 9) /* program specified window gravity */
/* obsolete */
#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
typedef struct {
long flags; /* marks which fields in this structure are defined */
Bool input; /* does this application rely on the window manager to
get keyboard input? */
int initial_state; /* see below */
Pixmap icon_pixmap; /* pixmap to be used as icon */
Window icon_window; /* window to be used as icon */
int icon_x, icon_y; /* initial position of icon */
Pixmap icon_mask; /* icon mask bitmap */
XID window_group; /* id of related window group */
/* this structure may be extended in the future */
} XWMHints;
/* definition for flags of XWMHints */
#define InputHint (1L << 0)
#define StateHint (1L << 1)
#define IconPixmapHint (1L << 2)
#define IconWindowHint (1L << 3)
#define IconPositionHint (1L << 4)
#define IconMaskHint (1L << 5)
#define WindowGroupHint (1L << 6)
#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
IconPositionHint|IconMaskHint|WindowGroupHint)
/* definitions for initial window state */
#define WithdrawnState 0 /* for windows that are not mapped */
#define NormalState 1 /* most applications want to start this way */
#define IconicState 3 /* application wants to start as an icon */
/*
* Obsolete states no longer defined by ICCCM
*/
#define DontCareState 0 /* don't know or care */
#define ZoomState 2 /* application wants to start zoomed */
#define InactiveState 4 /* application believes it is seldom used; */
/* some wm's may put it on inactive menu */
/*
* new structure for manipulating TEXT properties; used with WM_NAME,
* WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
*/
typedef struct {
unsigned char *value; /* same as Property routines */
Atom encoding; /* prop type */
int format; /* prop data format: 8, 16, or 32 */
unsigned long nitems; /* number of data items in value */
} XTextProperty;
#define XNoMemory -1
#define XLocaleNotSupported -2
#define XConverterNotFound -3
typedef enum {
XStringStyle, /* STRING */
XCompoundTextStyle, /* COMPOUND_TEXT */
XTextStyle, /* text in owner's encoding (current locale)*/
XStdICCTextStyle /* STRING, else COMPOUND_TEXT */
} XICCEncodingStyle;
typedef struct {
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
} XIconSize;
typedef struct {
char *res_name;
char *res_class;
} XClassHint;
/*
* These macros are used to give some sugar to the image routines so that
* naive people are more comfortable with them.
*/
#define XDestroyImage(ximage) \
((*((ximage)->f.destroy_image))((ximage)))
#define XGetPixel(ximage, x, y) \
((*((ximage)->f.get_pixel))((ximage), (x), (y)))
#define XPutPixel(ximage, x, y, pixel) \
((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
#define XSubImage(ximage, x, y, width, height) \
((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
#define XAddPixel(ximage, value) \
((*((ximage)->f.add_pixel))((ximage), (value)))
/*
* Compose sequence status structure, used in calling XLookupString.
*/
typedef struct _XComposeStatus {
XPointer compose_ptr; /* state table pointer */
int chars_matched; /* match state */
} XComposeStatus;
/*
* Keysym macros, used on Keysyms to test for classes of symbols
*/
#define IsKeypadKey(keysym) \
(((unsigned)(keysym) >= XK_KP_Space) && ((unsigned)(keysym) <= XK_KP_Equal))
#define IsCursorKey(keysym) \
(((unsigned)(keysym) >= XK_Home) && ((unsigned)(keysym) < XK_Select))
#define IsPFKey(keysym) \
(((unsigned)(keysym) >= XK_KP_F1) && ((unsigned)(keysym) <= XK_KP_F4))
#define IsFunctionKey(keysym) \
(((unsigned)(keysym) >= XK_F1) && ((unsigned)(keysym) <= XK_F35))
#define IsMiscFunctionKey(keysym) \
(((unsigned)(keysym) >= XK_Select) && ((unsigned)(keysym) <= XK_Break))
#define IsModifierKey(keysym) \
((((unsigned)(keysym) >= XK_Shift_L) && ((unsigned)(keysym) <= XK_Hyper_R)) \
|| ((unsigned)(keysym) == XK_Mode_switch) \
|| ((unsigned)(keysym) == XK_Num_Lock))
/*
* opaque reference to Region data type
*/
typedef struct _XRegion *Region;
/* Return values from XRectInRegion() */
#define RectangleOut 0
#define RectangleIn 1
#define RectanglePart 2
/*
* Information used by the visual utility routines to find desired visual
* type from the many visuals a display may support.
*/
typedef struct {
Visual *visual;
VisualID visualid;
int screen;
int depth;
#if defined(__cplusplus) || defined(c_plusplus)
int c_class; /* C++ */
#else
int class;
#endif
unsigned long red_mask;
unsigned long green_mask;
unsigned long blue_mask;
int colormap_size;
int bits_per_rgb;
} XVisualInfo;
#define VisualNoMask 0x0
#define VisualIDMask 0x1
#define VisualScreenMask 0x2
#define VisualDepthMask 0x4
#define VisualClassMask 0x8
#define VisualRedMaskMask 0x10
#define VisualGreenMaskMask 0x20
#define VisualBlueMaskMask 0x40
#define VisualColormapSizeMask 0x80
#define VisualBitsPerRGBMask 0x100
#define VisualAllMask 0x1FF
/*
* This defines a window manager property that clients may use to
* share standard color maps of type RGB_COLOR_MAP:
*/
typedef struct {
Colormap colormap;
unsigned long red_max;
unsigned long red_mult;
unsigned long green_max;
unsigned long green_mult;
unsigned long blue_max;
unsigned long blue_mult;
unsigned long base_pixel;
VisualID visualid; /* added by ICCCM version 1 */
XID killid; /* added by ICCCM version 1 */
} XStandardColormap;
#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
/*
* return codes for XReadBitmapFile and XWriteBitmapFile
*/
#define BitmapSuccess 0
#define BitmapOpenFailed 1
#define BitmapFileInvalid 2
#define BitmapNoMemory 3
/****************************************************************
*
* Context Management
*
****************************************************************/
/* Associative lookup table return codes */
#define XCSUCCESS 0 /* No error. */
#define XCNOMEM 1 /* Out of memory */
#define XCNOENT 2 /* No entry in table */
typedef int XContext;
#define XUniqueContext() ((XContext) XrmUniqueQuark())
#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
_XFUNCPROTOBEGIN
/* The following declarations are alphabetized. */
extern XClassHint *XAllocClassHint (
#if NeedFunctionPrototypes
void
#endif
);
extern XIconSize *XAllocIconSize (
#if NeedFunctionPrototypes
void
#endif
);
extern XSizeHints *XAllocSizeHints (
#if NeedFunctionPrototypes
void
#endif
);
extern XStandardColormap *XAllocStandardColormap (
#if NeedFunctionPrototypes
void
#endif
);
extern XWMHints *XAllocWMHints (
#if NeedFunctionPrototypes
void
#endif
);
extern void XClipBox(
#if NeedFunctionPrototypes
Region /* r */,
XRectangle* /* rect_return */
#endif
);
extern Region XCreateRegion(
#if NeedFunctionPrototypes
void
#endif
);
extern char *XDefaultString(
#if NeedFunctionPrototypes
void
#endif
);
extern int XDeleteContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */
#endif
);
extern void XDestroyRegion(
#if NeedFunctionPrototypes
Region /* r */
#endif
);
extern Bool XEmptyRegion(
#if NeedFunctionPrototypes
Region /* r */
#endif
);
extern Bool XEqualRegion(
#if NeedFunctionPrototypes
Region /* r1 */,
Region /* r2 */
#endif
);
extern int XFindContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */,
XPointer* /* data_return */
#endif
);
extern Status XGetClassHint(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XClassHint* /* class_hints_return */
#endif
);
extern Status XGetIconSizes(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XIconSize** /* size_list_return */,
int* /* count_return */
#endif
);
extern Status XGetNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */
#endif
);
extern Status XGetRGBColormaps(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap** /* stdcmap_return */,
int* /* count_return */,
Atom /* property */
#endif
);
extern Status XGetSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
Atom /* property */
#endif
);
extern Status XGetStandardColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* colormap_return */,
Atom /* property */
#endif
);
extern Status XGetTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* window */,
XTextProperty* /* text_prop_return */,
Atom /* property */
#endif
);
extern Status XGetWMClientMachine(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern XWMHints *XGetWMHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern Status XGetWMIconName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern Status XGetWMName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern Status XGetWMNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
long* /* supplied_return */
#endif
);
extern Status XGetWMSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
long* /* supplied_return */,
Atom /* property */
#endif
);
extern Status XGetZoomHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* zhints_return */
#endif
);
extern void XIntersectRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XLookupString(
#if NeedFunctionPrototypes
XKeyEvent* /* event_struct */,
char* /* buffer_return */,
int /* bytes_buffer */,
KeySym* /* keysym_return */,
XComposeStatus* /* status_in_out */
#endif
);
extern Status XMatchVisualInfo(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen */,
int /* depth */,
int /* class */,
XVisualInfo* /* vinfo_return */
#endif
);
extern void XOffsetRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* dx */,
int /* dy */
#endif
);
extern Bool XPointInRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* x */,
int /* y */
#endif
);
extern Region XPolygonRegion(
#if NeedFunctionPrototypes
XPoint* /* points */,
int /* n */,
int /* fill_rule */
#endif
);
extern int XRectInRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */
#endif
);
extern int XSaveContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */,
_Xconst char* /* data */
#endif
);
extern void XSetClassHint(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XClassHint* /* class_hints */
#endif
);
extern void XSetIconSizes(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XIconSize* /* size_list */,
int /* count */
#endif
);
extern void XSetNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */
#endif
);
extern void XSetRGBColormaps(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* stdcmaps */,
int /* count */,
Atom /* property */
#endif
);
extern void XSetSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */,
Atom /* property */
#endif
);
extern void XSetStandardProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */,
_Xconst char* /* icon_name */,
Pixmap /* icon_pixmap */,
char** /* argv */,
int /* argc */,
XSizeHints* /* hints */
#endif
);
extern void XSetTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */,
Atom /* property */
#endif
);
extern void XSetWMHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XWMHints* /* wm_hints */
#endif
);
extern void XSetWMIconName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern void XSetWMName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern void XSetWMNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */
#endif
);
extern void XSetWMProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* window_name */,
XTextProperty* /* icon_name */,
char** /* argv */,
int /* argc */,
XSizeHints* /* normal_hints */,
XWMHints* /* wm_hints */,
XClassHint* /* class_hints */
#endif
);
extern void XmbSetWMProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */,
_Xconst char* /* icon_name */,
char** /* argv */,
int /* argc */,
XSizeHints* /* normal_hints */,
XWMHints* /* wm_hints */,
XClassHint* /* class_hints */
#endif
);
extern void XSetWMSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */,
Atom /* property */
#endif
);
extern void XSetRegion(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
Region /* r */
#endif
);
extern void XSetStandardColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* colormap */,
Atom /* property */
#endif
);
extern void XSetZoomHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* zhints */
#endif
);
extern void XShrinkRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* dx */,
int /* dy */
#endif
);
extern void XSubtractRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XmbTextListToTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
char** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop_return */
#endif
);
extern int XwcTextListToTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
wchar_t** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop_return */
#endif
);
extern void XwcFreeStringList(
#if NeedFunctionPrototypes
wchar_t** /* list */
#endif
);
extern Status XTextPropertyToStringList(
#if NeedFunctionPrototypes
XTextProperty* /* text_prop */,
char*** /* list_return */,
int* /* count_return */
#endif
);
extern int XmbTextPropertyToTextList(
#if NeedFunctionPrototypes
Display* /* display */,
XTextProperty* /* text_prop */,
char*** /* list_return */,
int* /* count_return */
#endif
);
extern int XwcTextPropertyToTextList(
#if NeedFunctionPrototypes
Display* /* display */,
XTextProperty* /* text_prop */,
wchar_t*** /* list_return */,
int* /* count_return */
#endif
);
extern void XUnionRectWithRegion(
#if NeedFunctionPrototypes
XRectangle* /* rectangle */,
Region /* src_region */,
Region /* dest_region_return */
#endif
);
extern void XUnionRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XWMGeometry(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */,
_Xconst char* /* user_geometry */,
_Xconst char* /* default_geometry */,
unsigned int /* border_width */,
XSizeHints* /* hints */,
int* /* x_return */,
int* /* y_return */,
int* /* width_return */,
int* /* height_return */,
int* /* gravity_return */
#endif
);
extern void XXorRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
_XFUNCPROTOEND
#if defined(MAC_OSX_TK)
# undef Region
#endif
#endif /* _XUTIL_H_ */

79
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/cursorfont.h

@ -1,79 +0,0 @@
/* $XConsortium: cursorfont.h,v 1.2 88/09/06 16:44:27 jim Exp $ */
#define XC_num_glyphs 154
#define XC_X_cursor 0
#define XC_arrow 2
#define XC_based_arrow_down 4
#define XC_based_arrow_up 6
#define XC_boat 8
#define XC_bogosity 10
#define XC_bottom_left_corner 12
#define XC_bottom_right_corner 14
#define XC_bottom_side 16
#define XC_bottom_tee 18
#define XC_box_spiral 20
#define XC_center_ptr 22
#define XC_circle 24
#define XC_clock 26
#define XC_coffee_mug 28
#define XC_cross 30
#define XC_cross_reverse 32
#define XC_crosshair 34
#define XC_diamond_cross 36
#define XC_dot 38
#define XC_dotbox 40
#define XC_double_arrow 42
#define XC_draft_large 44
#define XC_draft_small 46
#define XC_draped_box 48
#define XC_exchange 50
#define XC_fleur 52
#define XC_gobbler 54
#define XC_gumby 56
#define XC_hand1 58
#define XC_hand2 60
#define XC_heart 62
#define XC_icon 64
#define XC_iron_cross 66
#define XC_left_ptr 68
#define XC_left_side 70
#define XC_left_tee 72
#define XC_leftbutton 74
#define XC_ll_angle 76
#define XC_lr_angle 78
#define XC_man 80
#define XC_middlebutton 82
#define XC_mouse 84
#define XC_pencil 86
#define XC_pirate 88
#define XC_plus 90
#define XC_question_arrow 92
#define XC_right_ptr 94
#define XC_right_side 96
#define XC_right_tee 98
#define XC_rightbutton 100
#define XC_rtl_logo 102
#define XC_sailboat 104
#define XC_sb_down_arrow 106
#define XC_sb_h_double_arrow 108
#define XC_sb_left_arrow 110
#define XC_sb_right_arrow 112
#define XC_sb_up_arrow 114
#define XC_sb_v_double_arrow 116
#define XC_shuttle 118
#define XC_sizing 120
#define XC_spider 122
#define XC_spraycan 124
#define XC_star 126
#define XC_target 128
#define XC_tcross 130
#define XC_top_left_arrow 132
#define XC_top_left_corner 134
#define XC_top_right_corner 136
#define XC_top_side 138
#define XC_top_tee 140
#define XC_trek 142
#define XC_ul_angle 144
#define XC_umbrella 146
#define XC_ur_angle 148
#define XC_watch 150
#define XC_xterm 152

35
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/keysym.h

@ -1,35 +0,0 @@
/* $XConsortium: keysym.h,v 1.13 91/03/13 20:09:49 rws Exp $ */
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
/* default keysyms */
#define XK_MISCELLANY
#define XK_LATIN1
#define XK_LATIN2
#define XK_LATIN3
#define XK_LATIN4
#define XK_GREEK
#include <X11/keysymdef.h>

1169
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/keysymdef.h

File diff suppressed because it is too large Load Diff

1806
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/X11/tkIntXlibDecls.h

File diff suppressed because it is too large Load Diff

2380
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tcl.h

File diff suppressed because it is too large Load Diff

4613
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tclDecls.h

File diff suppressed because it is too large Load Diff

109
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tclPlatDecls.h

@ -1,109 +0,0 @@
/*
* tclPlatDecls.h --
*
* Declarations of platform specific Tcl APIs.
*
* Copyright (c) 1998-1999 by Scriptics Corporation.
* All rights reserved.
*/
#ifndef _TCLPLATDECLS
#define _TCLPLATDECLS
/*
* TCHAR is needed here for win32, so if it is not defined yet do it here.
* This way, we don't need to include <tchar.h> just for one define.
*/
#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(_TCHAR_DEFINED)
# if defined(_UNICODE)
typedef wchar_t TCHAR;
# else
typedef char TCHAR;
# endif
# define _TCHAR_DEFINED
#endif
/* !BEGIN!: Do not edit below this line. */
/*
* Exported function declarations:
*/
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
/* 0 */
EXTERN TCHAR * Tcl_WinUtfToTChar _ANSI_ARGS_((CONST char *str,
int len, Tcl_DString *dsPtr));
/* 1 */
EXTERN char * Tcl_WinTCharToUtf _ANSI_ARGS_((CONST TCHAR *str,
int len, Tcl_DString *dsPtr));
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
/* 0 */
EXTERN int Tcl_MacOSXOpenBundleResources _ANSI_ARGS_((
Tcl_Interp *interp, CONST char *bundleName,
int hasResourceFile, int maxPathLen,
char *libraryPath));
/* 1 */
EXTERN int Tcl_MacOSXOpenVersionedBundleResources _ANSI_ARGS_((
Tcl_Interp *interp, CONST char *bundleName,
CONST char *bundleVersion,
int hasResourceFile, int maxPathLen,
char *libraryPath));
#endif /* MACOSX */
typedef struct TclPlatStubs {
int magic;
struct TclPlatStubHooks *hooks;
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
TCHAR * (*tcl_WinUtfToTChar) _ANSI_ARGS_((CONST char *str, int len, Tcl_DString *dsPtr)); /* 0 */
char * (*tcl_WinTCharToUtf) _ANSI_ARGS_((CONST TCHAR *str, int len, Tcl_DString *dsPtr)); /* 1 */
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
int (*tcl_MacOSXOpenBundleResources) _ANSI_ARGS_((Tcl_Interp *interp, CONST char *bundleName, int hasResourceFile, int maxPathLen, char *libraryPath)); /* 0 */
int (*tcl_MacOSXOpenVersionedBundleResources) _ANSI_ARGS_((Tcl_Interp *interp, CONST char *bundleName, CONST char *bundleVersion, int hasResourceFile, int maxPathLen, char *libraryPath)); /* 1 */
#endif /* MACOSX */
} TclPlatStubs;
#ifdef __cplusplus
extern "C" {
#endif
extern TclPlatStubs *tclPlatStubsPtr;
#ifdef __cplusplus
}
#endif
#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)
/*
* Inline function declarations:
*/
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
#ifndef Tcl_WinUtfToTChar
#define Tcl_WinUtfToTChar \
(tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */
#endif
#ifndef Tcl_WinTCharToUtf
#define Tcl_WinTCharToUtf \
(tclPlatStubsPtr->tcl_WinTCharToUtf) /* 1 */
#endif
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
#ifndef Tcl_MacOSXOpenBundleResources
#define Tcl_MacOSXOpenBundleResources \
(tclPlatStubsPtr->tcl_MacOSXOpenBundleResources) /* 0 */
#endif
#ifndef Tcl_MacOSXOpenVersionedBundleResources
#define Tcl_MacOSXOpenVersionedBundleResources \
(tclPlatStubsPtr->tcl_MacOSXOpenVersionedBundleResources) /* 1 */
#endif
#endif /* MACOSX */
#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */
/* !END!: Do not edit above this line. */
#endif /* _TCLPLATDECLS */

1600
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tk.h

File diff suppressed because it is too large Load Diff

2303
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tkDecls.h

File diff suppressed because it is too large Load Diff

205
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.4/tkPlatDecls.h

@ -1,205 +0,0 @@
/*
* tkPlatDecls.h --
*
* Declarations of functions in the platform-specific public Tcl API.
*
* Copyright (c) 1998-1999 by Scriptics Corporation.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*/
#ifndef _TKPLATDECLS
#define _TKPLATDECLS
#ifdef BUILD_tk
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLEXPORT
#endif
/*
* WARNING: This file is automatically generated by the tools/genStubs.tcl
* script. Any modifications to the function declarations below should be made
* in the generic/tk.decls script.
*/
/* !BEGIN!: Do not edit below this line. */
/*
* Exported function declarations:
*/
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
/* 0 */
EXTERN Window Tk_AttachHWND _ANSI_ARGS_((Tk_Window tkwin,
HWND hwnd));
/* 1 */
EXTERN HINSTANCE Tk_GetHINSTANCE _ANSI_ARGS_((void));
/* 2 */
EXTERN HWND Tk_GetHWND _ANSI_ARGS_((Window window));
/* 3 */
EXTERN Tk_Window Tk_HWNDToWindow _ANSI_ARGS_((HWND hwnd));
/* 4 */
EXTERN void Tk_PointerEvent _ANSI_ARGS_((HWND hwnd, int x, int y));
/* 5 */
EXTERN int Tk_TranslateWinEvent _ANSI_ARGS_((HWND hwnd,
UINT message, WPARAM wParam, LPARAM lParam,
LRESULT *result));
#endif /* WIN */
#ifdef MAC_OSX_TK /* AQUA */
/* 0 */
EXTERN void Tk_MacOSXSetEmbedHandler _ANSI_ARGS_((
Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr,
Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr,
Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr,
Tk_MacOSXEmbedGetClipProc *getClipProc,
Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc));
/* 1 */
EXTERN void Tk_MacOSXTurnOffMenus _ANSI_ARGS_((void));
/* 2 */
EXTERN void Tk_MacOSXTkOwnsCursor _ANSI_ARGS_((int tkOwnsIt));
/* 3 */
EXTERN void TkMacOSXInitMenus _ANSI_ARGS_((Tcl_Interp *interp));
/* 4 */
EXTERN void TkMacOSXInitAppleEvents _ANSI_ARGS_((
Tcl_Interp *interp));
/* 5 */
EXTERN void TkGenWMConfigureEvent _ANSI_ARGS_((Tk_Window tkwin,
int x, int y, int width, int height,
int flags));
/* 6 */
EXTERN void TkMacOSXInvalClipRgns _ANSI_ARGS_((Tk_Window tkwin));
/* 7 */
EXTERN GWorldPtr TkMacOSXGetDrawablePort _ANSI_ARGS_((
Drawable drawable));
/* 8 */
EXTERN ControlRef TkMacOSXGetRootControl _ANSI_ARGS_((
Drawable drawable));
/* 9 */
EXTERN void Tk_MacOSXSetupTkNotifier _ANSI_ARGS_((void));
/* 10 */
EXTERN int Tk_MacOSXIsAppInFront _ANSI_ARGS_((void));
#endif /* AQUA */
typedef struct TkPlatStubs {
int magic;
struct TkPlatStubHooks *hooks;
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
Window (*tk_AttachHWND) _ANSI_ARGS_((Tk_Window tkwin, HWND hwnd)); /* 0 */
HINSTANCE (*tk_GetHINSTANCE) _ANSI_ARGS_((void)); /* 1 */
HWND (*tk_GetHWND) _ANSI_ARGS_((Window window)); /* 2 */
Tk_Window (*tk_HWNDToWindow) _ANSI_ARGS_((HWND hwnd)); /* 3 */
void (*tk_PointerEvent) _ANSI_ARGS_((HWND hwnd, int x, int y)); /* 4 */
int (*tk_TranslateWinEvent) _ANSI_ARGS_((HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result)); /* 5 */
#endif /* WIN */
#ifdef MAC_OSX_TK /* AQUA */
void (*tk_MacOSXSetEmbedHandler) _ANSI_ARGS_((Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr, Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr, Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr, Tk_MacOSXEmbedGetClipProc *getClipProc, Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc)); /* 0 */
void (*tk_MacOSXTurnOffMenus) _ANSI_ARGS_((void)); /* 1 */
void (*tk_MacOSXTkOwnsCursor) _ANSI_ARGS_((int tkOwnsIt)); /* 2 */
void (*tkMacOSXInitMenus) _ANSI_ARGS_((Tcl_Interp *interp)); /* 3 */
void (*tkMacOSXInitAppleEvents) _ANSI_ARGS_((Tcl_Interp *interp)); /* 4 */
void (*tkGenWMConfigureEvent) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int width, int height, int flags)); /* 5 */
void (*tkMacOSXInvalClipRgns) _ANSI_ARGS_((Tk_Window tkwin)); /* 6 */
GWorldPtr (*tkMacOSXGetDrawablePort) _ANSI_ARGS_((Drawable drawable)); /* 7 */
ControlRef (*tkMacOSXGetRootControl) _ANSI_ARGS_((Drawable drawable)); /* 8 */
void (*tk_MacOSXSetupTkNotifier) _ANSI_ARGS_((void)); /* 9 */
int (*tk_MacOSXIsAppInFront) _ANSI_ARGS_((void)); /* 10 */
#endif /* AQUA */
} TkPlatStubs;
#ifdef __cplusplus
extern "C" {
#endif
extern TkPlatStubs *tkPlatStubsPtr;
#ifdef __cplusplus
}
#endif
#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)
/*
* Inline function declarations:
*/
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
#ifndef Tk_AttachHWND
#define Tk_AttachHWND \
(tkPlatStubsPtr->tk_AttachHWND) /* 0 */
#endif
#ifndef Tk_GetHINSTANCE
#define Tk_GetHINSTANCE \
(tkPlatStubsPtr->tk_GetHINSTANCE) /* 1 */
#endif
#ifndef Tk_GetHWND
#define Tk_GetHWND \
(tkPlatStubsPtr->tk_GetHWND) /* 2 */
#endif
#ifndef Tk_HWNDToWindow
#define Tk_HWNDToWindow \
(tkPlatStubsPtr->tk_HWNDToWindow) /* 3 */
#endif
#ifndef Tk_PointerEvent
#define Tk_PointerEvent \
(tkPlatStubsPtr->tk_PointerEvent) /* 4 */
#endif
#ifndef Tk_TranslateWinEvent
#define Tk_TranslateWinEvent \
(tkPlatStubsPtr->tk_TranslateWinEvent) /* 5 */
#endif
#endif /* WIN */
#ifdef MAC_OSX_TK /* AQUA */
#ifndef Tk_MacOSXSetEmbedHandler
#define Tk_MacOSXSetEmbedHandler \
(tkPlatStubsPtr->tk_MacOSXSetEmbedHandler) /* 0 */
#endif
#ifndef Tk_MacOSXTurnOffMenus
#define Tk_MacOSXTurnOffMenus \
(tkPlatStubsPtr->tk_MacOSXTurnOffMenus) /* 1 */
#endif
#ifndef Tk_MacOSXTkOwnsCursor
#define Tk_MacOSXTkOwnsCursor \
(tkPlatStubsPtr->tk_MacOSXTkOwnsCursor) /* 2 */
#endif
#ifndef TkMacOSXInitMenus
#define TkMacOSXInitMenus \
(tkPlatStubsPtr->tkMacOSXInitMenus) /* 3 */
#endif
#ifndef TkMacOSXInitAppleEvents
#define TkMacOSXInitAppleEvents \
(tkPlatStubsPtr->tkMacOSXInitAppleEvents) /* 4 */
#endif
#ifndef TkGenWMConfigureEvent
#define TkGenWMConfigureEvent \
(tkPlatStubsPtr->tkGenWMConfigureEvent) /* 5 */
#endif
#ifndef TkMacOSXInvalClipRgns
#define TkMacOSXInvalClipRgns \
(tkPlatStubsPtr->tkMacOSXInvalClipRgns) /* 6 */
#endif
#ifndef TkMacOSXGetDrawablePort
#define TkMacOSXGetDrawablePort \
(tkPlatStubsPtr->tkMacOSXGetDrawablePort) /* 7 */
#endif
#ifndef TkMacOSXGetRootControl
#define TkMacOSXGetRootControl \
(tkPlatStubsPtr->tkMacOSXGetRootControl) /* 8 */
#endif
#ifndef Tk_MacOSXSetupTkNotifier
#define Tk_MacOSXSetupTkNotifier \
(tkPlatStubsPtr->tk_MacOSXSetupTkNotifier) /* 9 */
#endif
#ifndef Tk_MacOSXIsAppInFront
#define Tk_MacOSXIsAppInFront \
(tkPlatStubsPtr->tk_MacOSXIsAppInFront) /* 10 */
#endif
#endif /* AQUA */
#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */
/* !END!: Do not edit above this line. */
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
#endif /* _TKPLATDECLS */

677
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/X.h

@ -1,677 +0,0 @@
/*
* $XConsortium: X.h,v 1.66 88/09/06 15:55:56 jim Exp $
*/
/* Definitions for the X window system likely to be used by applications */
#ifndef X_H
#define X_H
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
#define X_PROTOCOL 11 /* current protocol version */
#define X_PROTOCOL_REVISION 0 /* current minor version */
#if defined(MAC_OSX_TK)
# define Cursor XCursor
# define Region XRegion
#endif
/* Resources */
#ifdef _WIN64
typedef __int64 XID;
#else
typedef unsigned long XID;
#endif
typedef XID Window;
typedef XID Drawable;
typedef XID Font;
typedef XID Pixmap;
typedef XID Cursor;
typedef XID Colormap;
typedef XID GContext;
typedef XID KeySym;
typedef unsigned long Mask;
typedef unsigned long Atom;
typedef unsigned long VisualID;
typedef unsigned long Time;
typedef unsigned long KeyCode; /* In order to use IME, the Macintosh needs
* to pack 3 bytes into the keyCode field in
* the XEvent. In the real X.h, a KeyCode is
* defined as a short, which wouldn't be big
* enough. */
/*****************************************************************
* RESERVED RESOURCE AND CONSTANT DEFINITIONS
*****************************************************************/
#define None 0L /* universal null resource or null atom */
#define ParentRelative 1L /* background pixmap in CreateWindow
and ChangeWindowAttributes */
#define CopyFromParent 0L /* border pixmap in CreateWindow
and ChangeWindowAttributes
special VisualID and special window
class passed to CreateWindow */
#define PointerWindow 0L /* destination window in SendEvent */
#define InputFocus 1L /* destination window in SendEvent */
#define PointerRoot 1L /* focus window in SetInputFocus */
#define AnyPropertyType 0L /* special Atom, passed to GetProperty */
#define AnyKey 0L /* special Key Code, passed to GrabKey */
#define AnyButton 0L /* special Button Code, passed to GrabButton */
#define AllTemporary 0L /* special Resource ID passed to KillClient */
#define CurrentTime 0L /* special Time */
#define NoSymbol 0L /* special KeySym */
/*****************************************************************
* EVENT DEFINITIONS
*****************************************************************/
/* Input Event Masks. Used as event-mask window attribute and as arguments
to Grab requests. Not to be confused with event names. */
#define NoEventMask 0L
#define KeyPressMask (1L<<0)
#define KeyReleaseMask (1L<<1)
#define ButtonPressMask (1L<<2)
#define ButtonReleaseMask (1L<<3)
#define EnterWindowMask (1L<<4)
#define LeaveWindowMask (1L<<5)
#define PointerMotionMask (1L<<6)
#define PointerMotionHintMask (1L<<7)
#define Button1MotionMask (1L<<8)
#define Button2MotionMask (1L<<9)
#define Button3MotionMask (1L<<10)
#define Button4MotionMask (1L<<11)
#define Button5MotionMask (1L<<12)
#define ButtonMotionMask (1L<<13)
#define KeymapStateMask (1L<<14)
#define ExposureMask (1L<<15)
#define VisibilityChangeMask (1L<<16)
#define StructureNotifyMask (1L<<17)
#define ResizeRedirectMask (1L<<18)
#define SubstructureNotifyMask (1L<<19)
#define SubstructureRedirectMask (1L<<20)
#define FocusChangeMask (1L<<21)
#define PropertyChangeMask (1L<<22)
#define ColormapChangeMask (1L<<23)
#define OwnerGrabButtonMask (1L<<24)
/* Event names. Used in "type" field in XEvent structures. Not to be
confused with event masks above. They start from 2 because 0 and 1
are reserved in the protocol for errors and replies. */
#define KeyPress 2
#define KeyRelease 3
#define ButtonPress 4
#define ButtonRelease 5
#define MotionNotify 6
#define EnterNotify 7
#define LeaveNotify 8
#define FocusIn 9
#define FocusOut 10
#define KeymapNotify 11
#define Expose 12
#define GraphicsExpose 13
#define NoExpose 14
#define VisibilityNotify 15
#define CreateNotify 16
#define DestroyNotify 17
#define UnmapNotify 18
#define MapNotify 19
#define MapRequest 20
#define ReparentNotify 21
#define ConfigureNotify 22
#define ConfigureRequest 23
#define GravityNotify 24
#define ResizeRequest 25
#define CirculateNotify 26
#define CirculateRequest 27
#define PropertyNotify 28
#define SelectionClear 29
#define SelectionRequest 30
#define SelectionNotify 31
#define ColormapNotify 32
#define ClientMessage 33
#define MappingNotify 34
#define LASTEvent 35 /* must be bigger than any event # */
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
state in various key-, mouse-, and button-related events. */
#define ShiftMask (1<<0)
#define LockMask (1<<1)
#define ControlMask (1<<2)
#define Mod1Mask (1<<3)
#define Mod2Mask (1<<4)
#define Mod3Mask (1<<5)
#define Mod4Mask (1<<6)
#define Mod5Mask (1<<7)
/* modifier names. Used to build a SetModifierMapping request or
to read a GetModifierMapping request. These correspond to the
masks defined above. */
#define ShiftMapIndex 0
#define LockMapIndex 1
#define ControlMapIndex 2
#define Mod1MapIndex 3
#define Mod2MapIndex 4
#define Mod3MapIndex 5
#define Mod4MapIndex 6
#define Mod5MapIndex 7
/* button masks. Used in same manner as Key masks above. Not to be confused
with button names below. */
#define Button1Mask (1<<8)
#define Button2Mask (1<<9)
#define Button3Mask (1<<10)
#define Button4Mask (1<<11)
#define Button5Mask (1<<12)
#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */
/* button names. Used as arguments to GrabButton and as detail in ButtonPress
and ButtonRelease events. Not to be confused with button masks above.
Note that 0 is already defined above as "AnyButton". */
#define Button1 1
#define Button2 2
#define Button3 3
#define Button4 4
#define Button5 5
/* Notify modes */
#define NotifyNormal 0
#define NotifyGrab 1
#define NotifyUngrab 2
#define NotifyWhileGrabbed 3
#define NotifyHint 1 /* for MotionNotify events */
/* Notify detail */
#define NotifyAncestor 0
#define NotifyVirtual 1
#define NotifyInferior 2
#define NotifyNonlinear 3
#define NotifyNonlinearVirtual 4
#define NotifyPointer 5
#define NotifyPointerRoot 6
#define NotifyDetailNone 7
/* Visibility notify */
#define VisibilityUnobscured 0
#define VisibilityPartiallyObscured 1
#define VisibilityFullyObscured 2
/* Circulation request */
#define PlaceOnTop 0
#define PlaceOnBottom 1
/* protocol families */
#define FamilyInternet 0
#define FamilyDECnet 1
#define FamilyChaos 2
/* Property notification */
#define PropertyNewValue 0
#define PropertyDelete 1
/* Color Map notification */
#define ColormapUninstalled 0
#define ColormapInstalled 1
/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
#define GrabModeSync 0
#define GrabModeAsync 1
/* GrabPointer, GrabKeyboard reply status */
#define GrabSuccess 0
#define AlreadyGrabbed 1
#define GrabInvalidTime 2
#define GrabNotViewable 3
#define GrabFrozen 4
/* AllowEvents modes */
#define AsyncPointer 0
#define SyncPointer 1
#define ReplayPointer 2
#define AsyncKeyboard 3
#define SyncKeyboard 4
#define ReplayKeyboard 5
#define AsyncBoth 6
#define SyncBoth 7
/* Used in SetInputFocus, GetInputFocus */
#define RevertToNone (int)None
#define RevertToPointerRoot (int)PointerRoot
#define RevertToParent 2
/*****************************************************************
* ERROR CODES
*****************************************************************/
#define Success 0 /* everything's okay */
#define BadRequest 1 /* bad request code */
#define BadValue 2 /* int parameter out of range */
#define BadWindow 3 /* parameter not a Window */
#define BadPixmap 4 /* parameter not a Pixmap */
#define BadAtom 5 /* parameter not an Atom */
#define BadCursor 6 /* parameter not a Cursor */
#define BadFont 7 /* parameter not a Font */
#define BadMatch 8 /* parameter mismatch */
#define BadDrawable 9 /* parameter not a Pixmap or Window */
#define BadAccess 10 /* depending on context:
- key/button already grabbed
- attempt to free an illegal
cmap entry
- attempt to store into a read-only
color map entry.
- attempt to modify the access control
list from other than the local host.
*/
#define BadAlloc 11 /* insufficient resources */
#define BadColor 12 /* no such colormap */
#define BadGC 13 /* parameter not a GC */
#define BadIDChoice 14 /* choice not in range or already used */
#define BadName 15 /* font or color name doesn't exist */
#define BadLength 16 /* Request length incorrect */
#define BadImplementation 17 /* server is defective */
#define FirstExtensionError 128
#define LastExtensionError 255
/*****************************************************************
* WINDOW DEFINITIONS
*****************************************************************/
/* Window classes used by CreateWindow */
/* Note that CopyFromParent is already defined as 0 above */
#define InputOutput 1
#define InputOnly 2
/* Window attributes for CreateWindow and ChangeWindowAttributes */
#define CWBackPixmap (1L<<0)
#define CWBackPixel (1L<<1)
#define CWBorderPixmap (1L<<2)
#define CWBorderPixel (1L<<3)
#define CWBitGravity (1L<<4)
#define CWWinGravity (1L<<5)
#define CWBackingStore (1L<<6)
#define CWBackingPlanes (1L<<7)
#define CWBackingPixel (1L<<8)
#define CWOverrideRedirect (1L<<9)
#define CWSaveUnder (1L<<10)
#define CWEventMask (1L<<11)
#define CWDontPropagate (1L<<12)
#define CWColormap (1L<<13)
#define CWCursor (1L<<14)
/* ConfigureWindow structure */
#define CWX (1<<0)
#define CWY (1<<1)
#define CWWidth (1<<2)
#define CWHeight (1<<3)
#define CWBorderWidth (1<<4)
#define CWSibling (1<<5)
#define CWStackMode (1<<6)
/* Bit Gravity */
#define ForgetGravity 0
#define NorthWestGravity 1
#define NorthGravity 2
#define NorthEastGravity 3
#define WestGravity 4
#define CenterGravity 5
#define EastGravity 6
#define SouthWestGravity 7
#define SouthGravity 8
#define SouthEastGravity 9
#define StaticGravity 10
/* Window gravity + bit gravity above */
#define UnmapGravity 0
/* Used in CreateWindow for backing-store hint */
#define NotUseful 0
#define WhenMapped 1
#define Always 2
/* Used in GetWindowAttributes reply */
#define IsUnmapped 0
#define IsUnviewable 1
#define IsViewable 2
/* Used in ChangeSaveSet */
#define SetModeInsert 0
#define SetModeDelete 1
/* Used in ChangeCloseDownMode */
#define DestroyAll 0
#define RetainPermanent 1
#define RetainTemporary 2
/* Window stacking method (in configureWindow) */
#define Above 0
#define Below 1
#define TopIf 2
#define BottomIf 3
#define Opposite 4
/* Circulation direction */
#define RaiseLowest 0
#define LowerHighest 1
/* Property modes */
#define PropModeReplace 0
#define PropModePrepend 1
#define PropModeAppend 2
/*****************************************************************
* GRAPHICS DEFINITIONS
*****************************************************************/
/* graphics functions, as in GC.alu */
#define GXclear 0x0 /* 0 */
#define GXand 0x1 /* src AND dst */
#define GXandReverse 0x2 /* src AND NOT dst */
#define GXcopy 0x3 /* src */
#define GXandInverted 0x4 /* NOT src AND dst */
#define GXnoop 0x5 /* dst */
#define GXxor 0x6 /* src XOR dst */
#define GXor 0x7 /* src OR dst */
#define GXnor 0x8 /* NOT src AND NOT dst */
#define GXequiv 0x9 /* NOT src XOR dst */
#define GXinvert 0xa /* NOT dst */
#define GXorReverse 0xb /* src OR NOT dst */
#define GXcopyInverted 0xc /* NOT src */
#define GXorInverted 0xd /* NOT src OR dst */
#define GXnand 0xe /* NOT src OR NOT dst */
#define GXset 0xf /* 1 */
/* LineStyle */
#define LineSolid 0
#define LineOnOffDash 1
#define LineDoubleDash 2
/* capStyle */
#define CapNotLast 0
#define CapButt 1
#define CapRound 2
#define CapProjecting 3
/* joinStyle */
#define JoinMiter 0
#define JoinRound 1
#define JoinBevel 2
/* fillStyle */
#define FillSolid 0
#define FillTiled 1
#define FillStippled 2
#define FillOpaqueStippled 3
/* fillRule */
#define EvenOddRule 0
#define WindingRule 1
/* subwindow mode */
#define ClipByChildren 0
#define IncludeInferiors 1
/* SetClipRectangles ordering */
#define Unsorted 0
#define YSorted 1
#define YXSorted 2
#define YXBanded 3
/* CoordinateMode for drawing routines */
#define CoordModeOrigin 0 /* relative to the origin */
#define CoordModePrevious 1 /* relative to previous point */
/* Polygon shapes */
#define Complex 0 /* paths may intersect */
#define Nonconvex 1 /* no paths intersect, but not convex */
#define Convex 2 /* wholly convex */
/* Arc modes for PolyFillArc */
#define ArcChord 0 /* join endpoints of arc */
#define ArcPieSlice 1 /* join endpoints to center of arc */
/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
GC.stateChanges */
#define GCFunction (1L<<0)
#define GCPlaneMask (1L<<1)
#define GCForeground (1L<<2)
#define GCBackground (1L<<3)
#define GCLineWidth (1L<<4)
#define GCLineStyle (1L<<5)
#define GCCapStyle (1L<<6)
#define GCJoinStyle (1L<<7)
#define GCFillStyle (1L<<8)
#define GCFillRule (1L<<9)
#define GCTile (1L<<10)
#define GCStipple (1L<<11)
#define GCTileStipXOrigin (1L<<12)
#define GCTileStipYOrigin (1L<<13)
#define GCFont (1L<<14)
#define GCSubwindowMode (1L<<15)
#define GCGraphicsExposures (1L<<16)
#define GCClipXOrigin (1L<<17)
#define GCClipYOrigin (1L<<18)
#define GCClipMask (1L<<19)
#define GCDashOffset (1L<<20)
#define GCDashList (1L<<21)
#define GCArcMode (1L<<22)
#define GCLastBit 22
/*****************************************************************
* FONTS
*****************************************************************/
/* used in QueryFont -- draw direction */
#define FontLeftToRight 0
#define FontRightToLeft 1
#define FontChange 255
/*****************************************************************
* IMAGING
*****************************************************************/
/* ImageFormat -- PutImage, GetImage */
#define XYBitmap 0 /* depth 1, XYFormat */
#define XYPixmap 1 /* depth == drawable depth */
#define ZPixmap 2 /* depth == drawable depth */
/*****************************************************************
* COLOR MAP STUFF
*****************************************************************/
/* For CreateColormap */
#define AllocNone 0 /* create map with no entries */
#define AllocAll 1 /* allocate entire map writeable */
/* Flags used in StoreNamedColor, StoreColors */
#define DoRed (1<<0)
#define DoGreen (1<<1)
#define DoBlue (1<<2)
/*****************************************************************
* CURSOR STUFF
*****************************************************************/
/* QueryBestSize Class */
#define CursorShape 0 /* largest size that can be displayed */
#define TileShape 1 /* size tiled fastest */
#define StippleShape 2 /* size stippled fastest */
/*****************************************************************
* KEYBOARD/POINTER STUFF
*****************************************************************/
#define AutoRepeatModeOff 0
#define AutoRepeatModeOn 1
#define AutoRepeatModeDefault 2
#define LedModeOff 0
#define LedModeOn 1
/* masks for ChangeKeyboardControl */
#define KBKeyClickPercent (1L<<0)
#define KBBellPercent (1L<<1)
#define KBBellPitch (1L<<2)
#define KBBellDuration (1L<<3)
#define KBLed (1L<<4)
#define KBLedMode (1L<<5)
#define KBKey (1L<<6)
#define KBAutoRepeatMode (1L<<7)
#define MappingSuccess 0
#define MappingBusy 1
#define MappingFailed 2
#define MappingModifier 0
#define MappingKeyboard 1
#define MappingPointer 2
/*****************************************************************
* SCREEN SAVER STUFF
*****************************************************************/
#define DontPreferBlanking 0
#define PreferBlanking 1
#define DefaultBlanking 2
#define DisableScreenSaver 0
#define DisableScreenInterval 0
#define DontAllowExposures 0
#define AllowExposures 1
#define DefaultExposures 2
/* for ForceScreenSaver */
#define ScreenSaverReset 0
#define ScreenSaverActive 1
/*****************************************************************
* HOSTS AND CONNECTIONS
*****************************************************************/
/* for ChangeHosts */
#define HostInsert 0
#define HostDelete 1
/* for ChangeAccessControl */
#define EnableAccess 1
#define DisableAccess 0
/* Display classes used in opening the connection
* Note that the statically allocated ones are even numbered and the
* dynamically changeable ones are odd numbered */
#define StaticGray 0
#define GrayScale 1
#define StaticColor 2
#define PseudoColor 3
#define TrueColor 4
#define DirectColor 5
/* Byte order used in imageByteOrder and bitmapBitOrder */
#define LSBFirst 0
#define MSBFirst 1
#if defined(MAC_OSX_TK)
# undef Cursor
# undef Region
#endif
#endif /* X_H */

79
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/Xatom.h

@ -1,79 +0,0 @@
#ifndef XATOM_H
#define XATOM_H 1
/* THIS IS A GENERATED FILE
*
* Do not change! Changing this file implies a protocol change!
*/
#define XA_PRIMARY ((Atom) 1)
#define XA_SECONDARY ((Atom) 2)
#define XA_ARC ((Atom) 3)
#define XA_ATOM ((Atom) 4)
#define XA_BITMAP ((Atom) 5)
#define XA_CARDINAL ((Atom) 6)
#define XA_COLORMAP ((Atom) 7)
#define XA_CURSOR ((Atom) 8)
#define XA_CUT_BUFFER0 ((Atom) 9)
#define XA_CUT_BUFFER1 ((Atom) 10)
#define XA_CUT_BUFFER2 ((Atom) 11)
#define XA_CUT_BUFFER3 ((Atom) 12)
#define XA_CUT_BUFFER4 ((Atom) 13)
#define XA_CUT_BUFFER5 ((Atom) 14)
#define XA_CUT_BUFFER6 ((Atom) 15)
#define XA_CUT_BUFFER7 ((Atom) 16)
#define XA_DRAWABLE ((Atom) 17)
#define XA_FONT ((Atom) 18)
#define XA_INTEGER ((Atom) 19)
#define XA_PIXMAP ((Atom) 20)
#define XA_POINT ((Atom) 21)
#define XA_RECTANGLE ((Atom) 22)
#define XA_RESOURCE_MANAGER ((Atom) 23)
#define XA_RGB_COLOR_MAP ((Atom) 24)
#define XA_RGB_BEST_MAP ((Atom) 25)
#define XA_RGB_BLUE_MAP ((Atom) 26)
#define XA_RGB_DEFAULT_MAP ((Atom) 27)
#define XA_RGB_GRAY_MAP ((Atom) 28)
#define XA_RGB_GREEN_MAP ((Atom) 29)
#define XA_RGB_RED_MAP ((Atom) 30)
#define XA_STRING ((Atom) 31)
#define XA_VISUALID ((Atom) 32)
#define XA_WINDOW ((Atom) 33)
#define XA_WM_COMMAND ((Atom) 34)
#define XA_WM_HINTS ((Atom) 35)
#define XA_WM_CLIENT_MACHINE ((Atom) 36)
#define XA_WM_ICON_NAME ((Atom) 37)
#define XA_WM_ICON_SIZE ((Atom) 38)
#define XA_WM_NAME ((Atom) 39)
#define XA_WM_NORMAL_HINTS ((Atom) 40)
#define XA_WM_SIZE_HINTS ((Atom) 41)
#define XA_WM_ZOOM_HINTS ((Atom) 42)
#define XA_MIN_SPACE ((Atom) 43)
#define XA_NORM_SPACE ((Atom) 44)
#define XA_MAX_SPACE ((Atom) 45)
#define XA_END_SPACE ((Atom) 46)
#define XA_SUPERSCRIPT_X ((Atom) 47)
#define XA_SUPERSCRIPT_Y ((Atom) 48)
#define XA_SUBSCRIPT_X ((Atom) 49)
#define XA_SUBSCRIPT_Y ((Atom) 50)
#define XA_UNDERLINE_POSITION ((Atom) 51)
#define XA_UNDERLINE_THICKNESS ((Atom) 52)
#define XA_STRIKEOUT_ASCENT ((Atom) 53)
#define XA_STRIKEOUT_DESCENT ((Atom) 54)
#define XA_ITALIC_ANGLE ((Atom) 55)
#define XA_X_HEIGHT ((Atom) 56)
#define XA_QUAD_WIDTH ((Atom) 57)
#define XA_WEIGHT ((Atom) 58)
#define XA_POINT_SIZE ((Atom) 59)
#define XA_RESOLUTION ((Atom) 60)
#define XA_COPYRIGHT ((Atom) 61)
#define XA_NOTICE ((Atom) 62)
#define XA_FONT_NAME ((Atom) 63)
#define XA_FAMILY_NAME ((Atom) 64)
#define XA_FULL_NAME ((Atom) 65)
#define XA_CAP_HEIGHT ((Atom) 66)
#define XA_WM_CLASS ((Atom) 67)
#define XA_WM_TRANSIENT_FOR ((Atom) 68)
#define XA_LAST_PREDEFINED ((Atom) 68)
#endif /* XATOM_H */

60
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/Xfuncproto.h

@ -1,60 +0,0 @@
/* $XConsortium: Xfuncproto.h,v 1.7 91/05/13 20:49:21 rws Exp $ */
/*
* Copyright 1989, 1991 by the Massachusetts Institute of Technology
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising
* or publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
*/
/* Definitions to make function prototypes manageable */
#ifndef _XFUNCPROTO_H_
#define _XFUNCPROTO_H_
#ifndef NeedFunctionPrototypes
#define NeedFunctionPrototypes 1
#endif /* NeedFunctionPrototypes */
#ifndef NeedVarargsPrototypes
#define NeedVarargsPrototypes 0
#endif /* NeedVarargsPrototypes */
#if NeedFunctionPrototypes
#ifndef NeedNestedPrototypes
#define NeedNestedPrototypes 1
#endif /* NeedNestedPrototypes */
#ifndef _Xconst
#define _Xconst const
#endif /* _Xconst */
#ifndef NeedWidePrototypes
#ifdef NARROWPROTO
#define NeedWidePrototypes 0
#else
#define NeedWidePrototypes 1 /* default to make interropt. easier */
#endif
#endif /* NeedWidePrototypes */
#endif /* NeedFunctionPrototypes */
#ifdef __cplusplus
#define _XFUNCPROTOBEGIN extern "C" {
#define _XFUNCPROTOEND }
#endif
#ifndef _XFUNCPROTOBEGIN
#define _XFUNCPROTOBEGIN
#define _XFUNCPROTOEND
#endif /* _XFUNCPROTOBEGIN */
#endif /* _XFUNCPROTO_H_ */

1205
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/Xlib.h

File diff suppressed because it is too large Load Diff

855
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/Xutil.h

@ -1,855 +0,0 @@
/* $XConsortium: Xutil.h,v 11.73 91/07/30 16:21:37 rws Exp $ */
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
#ifndef _XUTIL_H_
#define _XUTIL_H_
/* You must include <X11/Xlib.h> before including this file */
#if defined(MAC_OSX_TK)
# define Region XRegion
#endif
/*
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
* value (x, y, width, height) was found in the parsed string.
*/
#define NoValue 0x0000
#define XValue 0x0001
#define YValue 0x0002
#define WidthValue 0x0004
#define HeightValue 0x0008
#define AllValues 0x000F
#define XNegative 0x0010
#define YNegative 0x0020
/*
* new version containing base_width, base_height, and win_gravity fields;
* used with WM_NORMAL_HINTS.
*/
typedef struct {
long flags; /* marks which fields in this structure are defined */
int x, y; /* obsolete for new window mgrs, but clients */
int width, height; /* should set so old wm's don't mess up */
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
struct {
int x; /* numerator */
int y; /* denominator */
} min_aspect, max_aspect;
int base_width, base_height; /* added by ICCCM version 1 */
int win_gravity; /* added by ICCCM version 1 */
} XSizeHints;
/*
* The next block of definitions are for window manager properties that
* clients and applications use for communication.
*/
/* flags argument in size hints */
#define USPosition (1L << 0) /* user specified x, y */
#define USSize (1L << 1) /* user specified width, height */
#define PPosition (1L << 2) /* program specified position */
#define PSize (1L << 3) /* program specified size */
#define PMinSize (1L << 4) /* program specified minimum size */
#define PMaxSize (1L << 5) /* program specified maximum size */
#define PResizeInc (1L << 6) /* program specified resize increments */
#define PAspect (1L << 7) /* program specified min and max aspect ratios */
#define PBaseSize (1L << 8) /* program specified base for incrementing */
#define PWinGravity (1L << 9) /* program specified window gravity */
/* obsolete */
#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
typedef struct {
long flags; /* marks which fields in this structure are defined */
Bool input; /* does this application rely on the window manager to
get keyboard input? */
int initial_state; /* see below */
Pixmap icon_pixmap; /* pixmap to be used as icon */
Window icon_window; /* window to be used as icon */
int icon_x, icon_y; /* initial position of icon */
Pixmap icon_mask; /* icon mask bitmap */
XID window_group; /* id of related window group */
/* this structure may be extended in the future */
} XWMHints;
/* definition for flags of XWMHints */
#define InputHint (1L << 0)
#define StateHint (1L << 1)
#define IconPixmapHint (1L << 2)
#define IconWindowHint (1L << 3)
#define IconPositionHint (1L << 4)
#define IconMaskHint (1L << 5)
#define WindowGroupHint (1L << 6)
#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
IconPositionHint|IconMaskHint|WindowGroupHint)
/* definitions for initial window state */
#define WithdrawnState 0 /* for windows that are not mapped */
#define NormalState 1 /* most applications want to start this way */
#define IconicState 3 /* application wants to start as an icon */
/*
* Obsolete states no longer defined by ICCCM
*/
#define DontCareState 0 /* don't know or care */
#define ZoomState 2 /* application wants to start zoomed */
#define InactiveState 4 /* application believes it is seldom used; */
/* some wm's may put it on inactive menu */
/*
* new structure for manipulating TEXT properties; used with WM_NAME,
* WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
*/
typedef struct {
unsigned char *value; /* same as Property routines */
Atom encoding; /* prop type */
int format; /* prop data format: 8, 16, or 32 */
unsigned long nitems; /* number of data items in value */
} XTextProperty;
#define XNoMemory -1
#define XLocaleNotSupported -2
#define XConverterNotFound -3
typedef enum {
XStringStyle, /* STRING */
XCompoundTextStyle, /* COMPOUND_TEXT */
XTextStyle, /* text in owner's encoding (current locale)*/
XStdICCTextStyle /* STRING, else COMPOUND_TEXT */
} XICCEncodingStyle;
typedef struct {
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
} XIconSize;
typedef struct {
char *res_name;
char *res_class;
} XClassHint;
/*
* These macros are used to give some sugar to the image routines so that
* naive people are more comfortable with them.
*/
#define XDestroyImage(ximage) \
((*((ximage)->f.destroy_image))((ximage)))
#define XGetPixel(ximage, x, y) \
((*((ximage)->f.get_pixel))((ximage), (x), (y)))
#define XPutPixel(ximage, x, y, pixel) \
((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
#define XSubImage(ximage, x, y, width, height) \
((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
#define XAddPixel(ximage, value) \
((*((ximage)->f.add_pixel))((ximage), (value)))
/*
* Compose sequence status structure, used in calling XLookupString.
*/
typedef struct _XComposeStatus {
XPointer compose_ptr; /* state table pointer */
int chars_matched; /* match state */
} XComposeStatus;
/*
* Keysym macros, used on Keysyms to test for classes of symbols
*/
#define IsKeypadKey(keysym) \
(((unsigned)(keysym) >= XK_KP_Space) && ((unsigned)(keysym) <= XK_KP_Equal))
#define IsCursorKey(keysym) \
(((unsigned)(keysym) >= XK_Home) && ((unsigned)(keysym) < XK_Select))
#define IsPFKey(keysym) \
(((unsigned)(keysym) >= XK_KP_F1) && ((unsigned)(keysym) <= XK_KP_F4))
#define IsFunctionKey(keysym) \
(((unsigned)(keysym) >= XK_F1) && ((unsigned)(keysym) <= XK_F35))
#define IsMiscFunctionKey(keysym) \
(((unsigned)(keysym) >= XK_Select) && ((unsigned)(keysym) <= XK_Break))
#define IsModifierKey(keysym) \
((((unsigned)(keysym) >= XK_Shift_L) && ((unsigned)(keysym) <= XK_Hyper_R)) \
|| ((unsigned)(keysym) == XK_Mode_switch) \
|| ((unsigned)(keysym) == XK_Num_Lock))
/*
* opaque reference to Region data type
*/
typedef struct _XRegion *Region;
/* Return values from XRectInRegion() */
#define RectangleOut 0
#define RectangleIn 1
#define RectanglePart 2
/*
* Information used by the visual utility routines to find desired visual
* type from the many visuals a display may support.
*/
typedef struct {
Visual *visual;
VisualID visualid;
int screen;
int depth;
#if defined(__cplusplus) || defined(c_plusplus)
int c_class; /* C++ */
#else
int class;
#endif
unsigned long red_mask;
unsigned long green_mask;
unsigned long blue_mask;
int colormap_size;
int bits_per_rgb;
} XVisualInfo;
#define VisualNoMask 0x0
#define VisualIDMask 0x1
#define VisualScreenMask 0x2
#define VisualDepthMask 0x4
#define VisualClassMask 0x8
#define VisualRedMaskMask 0x10
#define VisualGreenMaskMask 0x20
#define VisualBlueMaskMask 0x40
#define VisualColormapSizeMask 0x80
#define VisualBitsPerRGBMask 0x100
#define VisualAllMask 0x1FF
/*
* This defines a window manager property that clients may use to
* share standard color maps of type RGB_COLOR_MAP:
*/
typedef struct {
Colormap colormap;
unsigned long red_max;
unsigned long red_mult;
unsigned long green_max;
unsigned long green_mult;
unsigned long blue_max;
unsigned long blue_mult;
unsigned long base_pixel;
VisualID visualid; /* added by ICCCM version 1 */
XID killid; /* added by ICCCM version 1 */
} XStandardColormap;
#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
/*
* return codes for XReadBitmapFile and XWriteBitmapFile
*/
#define BitmapSuccess 0
#define BitmapOpenFailed 1
#define BitmapFileInvalid 2
#define BitmapNoMemory 3
/****************************************************************
*
* Context Management
*
****************************************************************/
/* Associative lookup table return codes */
#define XCSUCCESS 0 /* No error. */
#define XCNOMEM 1 /* Out of memory */
#define XCNOENT 2 /* No entry in table */
typedef int XContext;
#define XUniqueContext() ((XContext) XrmUniqueQuark())
#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
_XFUNCPROTOBEGIN
/* The following declarations are alphabetized. */
extern XClassHint *XAllocClassHint (
#if NeedFunctionPrototypes
void
#endif
);
extern XIconSize *XAllocIconSize (
#if NeedFunctionPrototypes
void
#endif
);
extern XSizeHints *XAllocSizeHints (
#if NeedFunctionPrototypes
void
#endif
);
extern XStandardColormap *XAllocStandardColormap (
#if NeedFunctionPrototypes
void
#endif
);
extern XWMHints *XAllocWMHints (
#if NeedFunctionPrototypes
void
#endif
);
extern void XClipBox(
#if NeedFunctionPrototypes
Region /* r */,
XRectangle* /* rect_return */
#endif
);
extern Region XCreateRegion(
#if NeedFunctionPrototypes
void
#endif
);
extern char *XDefaultString(
#if NeedFunctionPrototypes
void
#endif
);
extern int XDeleteContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */
#endif
);
extern void XDestroyRegion(
#if NeedFunctionPrototypes
Region /* r */
#endif
);
extern Bool XEmptyRegion(
#if NeedFunctionPrototypes
Region /* r */
#endif
);
extern Bool XEqualRegion(
#if NeedFunctionPrototypes
Region /* r1 */,
Region /* r2 */
#endif
);
extern int XFindContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */,
XPointer* /* data_return */
#endif
);
extern Status XGetClassHint(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XClassHint* /* class_hints_return */
#endif
);
extern Status XGetIconSizes(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XIconSize** /* size_list_return */,
int* /* count_return */
#endif
);
extern Status XGetNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */
#endif
);
extern Status XGetRGBColormaps(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap** /* stdcmap_return */,
int* /* count_return */,
Atom /* property */
#endif
);
extern Status XGetSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
Atom /* property */
#endif
);
extern Status XGetStandardColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* colormap_return */,
Atom /* property */
#endif
);
extern Status XGetTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* window */,
XTextProperty* /* text_prop_return */,
Atom /* property */
#endif
);
extern Status XGetWMClientMachine(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern XWMHints *XGetWMHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern Status XGetWMIconName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern Status XGetWMName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern Status XGetWMNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
long* /* supplied_return */
#endif
);
extern Status XGetWMSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
long* /* supplied_return */,
Atom /* property */
#endif
);
extern Status XGetZoomHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* zhints_return */
#endif
);
extern void XIntersectRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XLookupString(
#if NeedFunctionPrototypes
XKeyEvent* /* event_struct */,
char* /* buffer_return */,
int /* bytes_buffer */,
KeySym* /* keysym_return */,
XComposeStatus* /* status_in_out */
#endif
);
extern Status XMatchVisualInfo(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen */,
int /* depth */,
int /* class */,
XVisualInfo* /* vinfo_return */
#endif
);
extern void XOffsetRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* dx */,
int /* dy */
#endif
);
extern Bool XPointInRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* x */,
int /* y */
#endif
);
extern Region XPolygonRegion(
#if NeedFunctionPrototypes
XPoint* /* points */,
int /* n */,
int /* fill_rule */
#endif
);
extern int XRectInRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */
#endif
);
extern int XSaveContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */,
_Xconst char* /* data */
#endif
);
extern void XSetClassHint(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XClassHint* /* class_hints */
#endif
);
extern void XSetIconSizes(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XIconSize* /* size_list */,
int /* count */
#endif
);
extern void XSetNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */
#endif
);
extern void XSetRGBColormaps(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* stdcmaps */,
int /* count */,
Atom /* property */
#endif
);
extern void XSetSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */,
Atom /* property */
#endif
);
extern void XSetStandardProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */,
_Xconst char* /* icon_name */,
Pixmap /* icon_pixmap */,
char** /* argv */,
int /* argc */,
XSizeHints* /* hints */
#endif
);
extern void XSetTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */,
Atom /* property */
#endif
);
extern void XSetWMHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XWMHints* /* wm_hints */
#endif
);
extern void XSetWMIconName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern void XSetWMName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern void XSetWMNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */
#endif
);
extern void XSetWMProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* window_name */,
XTextProperty* /* icon_name */,
char** /* argv */,
int /* argc */,
XSizeHints* /* normal_hints */,
XWMHints* /* wm_hints */,
XClassHint* /* class_hints */
#endif
);
extern void XmbSetWMProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */,
_Xconst char* /* icon_name */,
char** /* argv */,
int /* argc */,
XSizeHints* /* normal_hints */,
XWMHints* /* wm_hints */,
XClassHint* /* class_hints */
#endif
);
extern void XSetWMSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */,
Atom /* property */
#endif
);
extern void XSetRegion(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
Region /* r */
#endif
);
extern void XSetStandardColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* colormap */,
Atom /* property */
#endif
);
extern void XSetZoomHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* zhints */
#endif
);
extern void XShrinkRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* dx */,
int /* dy */
#endif
);
extern void XSubtractRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XmbTextListToTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
char** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop_return */
#endif
);
extern int XwcTextListToTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
wchar_t** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop_return */
#endif
);
extern void XwcFreeStringList(
#if NeedFunctionPrototypes
wchar_t** /* list */
#endif
);
extern Status XTextPropertyToStringList(
#if NeedFunctionPrototypes
XTextProperty* /* text_prop */,
char*** /* list_return */,
int* /* count_return */
#endif
);
extern int XmbTextPropertyToTextList(
#if NeedFunctionPrototypes
Display* /* display */,
XTextProperty* /* text_prop */,
char*** /* list_return */,
int* /* count_return */
#endif
);
extern int XwcTextPropertyToTextList(
#if NeedFunctionPrototypes
Display* /* display */,
XTextProperty* /* text_prop */,
wchar_t*** /* list_return */,
int* /* count_return */
#endif
);
extern void XUnionRectWithRegion(
#if NeedFunctionPrototypes
XRectangle* /* rectangle */,
Region /* src_region */,
Region /* dest_region_return */
#endif
);
extern void XUnionRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XWMGeometry(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */,
_Xconst char* /* user_geometry */,
_Xconst char* /* default_geometry */,
unsigned int /* border_width */,
XSizeHints* /* hints */,
int* /* x_return */,
int* /* y_return */,
int* /* width_return */,
int* /* height_return */,
int* /* gravity_return */
#endif
);
extern void XXorRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
_XFUNCPROTOEND
#if defined(MAC_OSX_TK)
# undef Region
#endif
#endif /* _XUTIL_H_ */

79
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/cursorfont.h

@ -1,79 +0,0 @@
/* $XConsortium: cursorfont.h,v 1.2 88/09/06 16:44:27 jim Exp $ */
#define XC_num_glyphs 154
#define XC_X_cursor 0
#define XC_arrow 2
#define XC_based_arrow_down 4
#define XC_based_arrow_up 6
#define XC_boat 8
#define XC_bogosity 10
#define XC_bottom_left_corner 12
#define XC_bottom_right_corner 14
#define XC_bottom_side 16
#define XC_bottom_tee 18
#define XC_box_spiral 20
#define XC_center_ptr 22
#define XC_circle 24
#define XC_clock 26
#define XC_coffee_mug 28
#define XC_cross 30
#define XC_cross_reverse 32
#define XC_crosshair 34
#define XC_diamond_cross 36
#define XC_dot 38
#define XC_dotbox 40
#define XC_double_arrow 42
#define XC_draft_large 44
#define XC_draft_small 46
#define XC_draped_box 48
#define XC_exchange 50
#define XC_fleur 52
#define XC_gobbler 54
#define XC_gumby 56
#define XC_hand1 58
#define XC_hand2 60
#define XC_heart 62
#define XC_icon 64
#define XC_iron_cross 66
#define XC_left_ptr 68
#define XC_left_side 70
#define XC_left_tee 72
#define XC_leftbutton 74
#define XC_ll_angle 76
#define XC_lr_angle 78
#define XC_man 80
#define XC_middlebutton 82
#define XC_mouse 84
#define XC_pencil 86
#define XC_pirate 88
#define XC_plus 90
#define XC_question_arrow 92
#define XC_right_ptr 94
#define XC_right_side 96
#define XC_right_tee 98
#define XC_rightbutton 100
#define XC_rtl_logo 102
#define XC_sailboat 104
#define XC_sb_down_arrow 106
#define XC_sb_h_double_arrow 108
#define XC_sb_left_arrow 110
#define XC_sb_right_arrow 112
#define XC_sb_up_arrow 114
#define XC_sb_v_double_arrow 116
#define XC_shuttle 118
#define XC_sizing 120
#define XC_spider 122
#define XC_spraycan 124
#define XC_star 126
#define XC_target 128
#define XC_tcross 130
#define XC_top_left_arrow 132
#define XC_top_left_corner 134
#define XC_top_right_corner 136
#define XC_top_side 138
#define XC_top_tee 140
#define XC_trek 142
#define XC_ul_angle 144
#define XC_umbrella 146
#define XC_ur_angle 148
#define XC_watch 150
#define XC_xterm 152

35
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/keysym.h

@ -1,35 +0,0 @@
/* $XConsortium: keysym.h,v 1.13 91/03/13 20:09:49 rws Exp $ */
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
/* default keysyms */
#define XK_MISCELLANY
#define XK_LATIN1
#define XK_LATIN2
#define XK_LATIN3
#define XK_LATIN4
#define XK_GREEK
#include <X11/keysymdef.h>

1169
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/keysymdef.h

File diff suppressed because it is too large Load Diff

2370
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/X11/tkIntXlibDecls.h

File diff suppressed because it is too large Load Diff

2455
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tcl.h

File diff suppressed because it is too large Load Diff

6563
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tclDecls.h

File diff suppressed because it is too large Load Diff

134
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tclPlatDecls.h

@ -1,134 +0,0 @@
/*
* tclPlatDecls.h --
*
* Declarations of platform specific Tcl APIs.
*
* Copyright (c) 1998-1999 by Scriptics Corporation.
* All rights reserved.
*/
#ifndef _TCLPLATDECLS
#define _TCLPLATDECLS
#undef TCL_STORAGE_CLASS
#ifdef BUILD_tcl
# define TCL_STORAGE_CLASS DLLEXPORT
#else
# ifdef USE_TCL_STUBS
# define TCL_STORAGE_CLASS
# else
# define TCL_STORAGE_CLASS DLLIMPORT
# endif
#endif
/*
* TCHAR is needed here for win32, so if it is not defined yet do it here.
* This way, we don't need to include <tchar.h> just for one define.
*/
#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(_TCHAR_DEFINED)
# if defined(_UNICODE)
typedef wchar_t TCHAR;
# else
typedef char TCHAR;
# endif
# define _TCHAR_DEFINED
#endif
/* !BEGIN!: Do not edit below this line. */
/*
* Exported function declarations:
*/
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
#ifndef Tcl_WinUtfToTChar_TCL_DECLARED
#define Tcl_WinUtfToTChar_TCL_DECLARED
/* 0 */
EXTERN TCHAR * Tcl_WinUtfToTChar(CONST char *str, int len,
Tcl_DString *dsPtr);
#endif
#ifndef Tcl_WinTCharToUtf_TCL_DECLARED
#define Tcl_WinTCharToUtf_TCL_DECLARED
/* 1 */
EXTERN char * Tcl_WinTCharToUtf(CONST TCHAR *str, int len,
Tcl_DString *dsPtr);
#endif
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
#ifndef Tcl_MacOSXOpenBundleResources_TCL_DECLARED
#define Tcl_MacOSXOpenBundleResources_TCL_DECLARED
/* 0 */
EXTERN int Tcl_MacOSXOpenBundleResources(Tcl_Interp *interp,
CONST char *bundleName, int hasResourceFile,
int maxPathLen, char *libraryPath);
#endif
#ifndef Tcl_MacOSXOpenVersionedBundleResources_TCL_DECLARED
#define Tcl_MacOSXOpenVersionedBundleResources_TCL_DECLARED
/* 1 */
EXTERN int Tcl_MacOSXOpenVersionedBundleResources(
Tcl_Interp *interp, CONST char *bundleName,
CONST char *bundleVersion,
int hasResourceFile, int maxPathLen,
char *libraryPath);
#endif
#endif /* MACOSX */
typedef struct TclPlatStubs {
int magic;
struct TclPlatStubHooks *hooks;
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
TCHAR * (*tcl_WinUtfToTChar) (CONST char *str, int len, Tcl_DString *dsPtr); /* 0 */
char * (*tcl_WinTCharToUtf) (CONST TCHAR *str, int len, Tcl_DString *dsPtr); /* 1 */
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
int (*tcl_MacOSXOpenBundleResources) (Tcl_Interp *interp, CONST char *bundleName, int hasResourceFile, int maxPathLen, char *libraryPath); /* 0 */
int (*tcl_MacOSXOpenVersionedBundleResources) (Tcl_Interp *interp, CONST char *bundleName, CONST char *bundleVersion, int hasResourceFile, int maxPathLen, char *libraryPath); /* 1 */
#endif /* MACOSX */
} TclPlatStubs;
#ifdef __cplusplus
extern "C" {
#endif
extern TclPlatStubs *tclPlatStubsPtr;
#ifdef __cplusplus
}
#endif
#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)
/*
* Inline function declarations:
*/
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
#ifndef Tcl_WinUtfToTChar
#define Tcl_WinUtfToTChar \
(tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */
#endif
#ifndef Tcl_WinTCharToUtf
#define Tcl_WinTCharToUtf \
(tclPlatStubsPtr->tcl_WinTCharToUtf) /* 1 */
#endif
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
#ifndef Tcl_MacOSXOpenBundleResources
#define Tcl_MacOSXOpenBundleResources \
(tclPlatStubsPtr->tcl_MacOSXOpenBundleResources) /* 0 */
#endif
#ifndef Tcl_MacOSXOpenVersionedBundleResources
#define Tcl_MacOSXOpenVersionedBundleResources \
(tclPlatStubsPtr->tcl_MacOSXOpenVersionedBundleResources) /* 1 */
#endif
#endif /* MACOSX */
#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */
/* !END!: Do not edit above this line. */
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
#endif /* _TCLPLATDECLS */

1610
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tk.h

File diff suppressed because it is too large Load Diff

3095
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tkDecls.h

File diff suppressed because it is too large Load Diff

253
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.5/tkPlatDecls.h

@ -1,253 +0,0 @@
/*
* tkPlatDecls.h --
*
* Declarations of functions in the platform-specific public Tcl API.
*
* Copyright (c) 1998-1999 by Scriptics Corporation.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*/
#ifndef _TKPLATDECLS
#define _TKPLATDECLS
#ifdef BUILD_tk
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLEXPORT
#endif
/*
* WARNING: This file is automatically generated by the tools/genStubs.tcl
* script. Any modifications to the function declarations below should be made
* in the generic/tk.decls script.
*/
/* !BEGIN!: Do not edit below this line. */
#ifdef __cplusplus
extern "C" {
#endif
/*
* Exported function declarations:
*/
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
#ifndef Tk_AttachHWND_TCL_DECLARED
#define Tk_AttachHWND_TCL_DECLARED
/* 0 */
EXTERN Window Tk_AttachHWND(Tk_Window tkwin, HWND hwnd);
#endif
#ifndef Tk_GetHINSTANCE_TCL_DECLARED
#define Tk_GetHINSTANCE_TCL_DECLARED
/* 1 */
EXTERN HINSTANCE Tk_GetHINSTANCE(void);
#endif
#ifndef Tk_GetHWND_TCL_DECLARED
#define Tk_GetHWND_TCL_DECLARED
/* 2 */
EXTERN HWND Tk_GetHWND(Window window);
#endif
#ifndef Tk_HWNDToWindow_TCL_DECLARED
#define Tk_HWNDToWindow_TCL_DECLARED
/* 3 */
EXTERN Tk_Window Tk_HWNDToWindow(HWND hwnd);
#endif
#ifndef Tk_PointerEvent_TCL_DECLARED
#define Tk_PointerEvent_TCL_DECLARED
/* 4 */
EXTERN void Tk_PointerEvent(HWND hwnd, int x, int y);
#endif
#ifndef Tk_TranslateWinEvent_TCL_DECLARED
#define Tk_TranslateWinEvent_TCL_DECLARED
/* 5 */
EXTERN int Tk_TranslateWinEvent(HWND hwnd, UINT message,
WPARAM wParam, LPARAM lParam,
LRESULT *result);
#endif
#endif /* WIN */
#ifdef MAC_OSX_TK /* AQUA */
#ifndef Tk_MacOSXSetEmbedHandler_TCL_DECLARED
#define Tk_MacOSXSetEmbedHandler_TCL_DECLARED
/* 0 */
EXTERN void Tk_MacOSXSetEmbedHandler(
Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr,
Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr,
Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr,
Tk_MacOSXEmbedGetClipProc *getClipProc,
Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc);
#endif
#ifndef Tk_MacOSXTurnOffMenus_TCL_DECLARED
#define Tk_MacOSXTurnOffMenus_TCL_DECLARED
/* 1 */
EXTERN void Tk_MacOSXTurnOffMenus(void);
#endif
#ifndef Tk_MacOSXTkOwnsCursor_TCL_DECLARED
#define Tk_MacOSXTkOwnsCursor_TCL_DECLARED
/* 2 */
EXTERN void Tk_MacOSXTkOwnsCursor(int tkOwnsIt);
#endif
#ifndef TkMacOSXInitMenus_TCL_DECLARED
#define TkMacOSXInitMenus_TCL_DECLARED
/* 3 */
EXTERN void TkMacOSXInitMenus(Tcl_Interp *interp);
#endif
#ifndef TkMacOSXInitAppleEvents_TCL_DECLARED
#define TkMacOSXInitAppleEvents_TCL_DECLARED
/* 4 */
EXTERN void TkMacOSXInitAppleEvents(Tcl_Interp *interp);
#endif
#ifndef TkGenWMConfigureEvent_TCL_DECLARED
#define TkGenWMConfigureEvent_TCL_DECLARED
/* 5 */
EXTERN void TkGenWMConfigureEvent(Tk_Window tkwin, int x, int y,
int width, int height, int flags);
#endif
#ifndef TkMacOSXInvalClipRgns_TCL_DECLARED
#define TkMacOSXInvalClipRgns_TCL_DECLARED
/* 6 */
EXTERN void TkMacOSXInvalClipRgns(Tk_Window tkwin);
#endif
#ifndef TkMacOSXGetDrawablePort_TCL_DECLARED
#define TkMacOSXGetDrawablePort_TCL_DECLARED
/* 7 */
EXTERN VOID * TkMacOSXGetDrawablePort(Drawable drawable);
#endif
#ifndef TkMacOSXGetRootControl_TCL_DECLARED
#define TkMacOSXGetRootControl_TCL_DECLARED
/* 8 */
EXTERN VOID * TkMacOSXGetRootControl(Drawable drawable);
#endif
#ifndef Tk_MacOSXSetupTkNotifier_TCL_DECLARED
#define Tk_MacOSXSetupTkNotifier_TCL_DECLARED
/* 9 */
EXTERN void Tk_MacOSXSetupTkNotifier(void);
#endif
#ifndef Tk_MacOSXIsAppInFront_TCL_DECLARED
#define Tk_MacOSXIsAppInFront_TCL_DECLARED
/* 10 */
EXTERN int Tk_MacOSXIsAppInFront(void);
#endif
#endif /* AQUA */
typedef struct TkPlatStubs {
int magic;
struct TkPlatStubHooks *hooks;
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
Window (*tk_AttachHWND) (Tk_Window tkwin, HWND hwnd); /* 0 */
HINSTANCE (*tk_GetHINSTANCE) (void); /* 1 */
HWND (*tk_GetHWND) (Window window); /* 2 */
Tk_Window (*tk_HWNDToWindow) (HWND hwnd); /* 3 */
void (*tk_PointerEvent) (HWND hwnd, int x, int y); /* 4 */
int (*tk_TranslateWinEvent) (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result); /* 5 */
#endif /* WIN */
#ifdef MAC_OSX_TK /* AQUA */
void (*tk_MacOSXSetEmbedHandler) (Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr, Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr, Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr, Tk_MacOSXEmbedGetClipProc *getClipProc, Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc); /* 0 */
void (*tk_MacOSXTurnOffMenus) (void); /* 1 */
void (*tk_MacOSXTkOwnsCursor) (int tkOwnsIt); /* 2 */
void (*tkMacOSXInitMenus) (Tcl_Interp *interp); /* 3 */
void (*tkMacOSXInitAppleEvents) (Tcl_Interp *interp); /* 4 */
void (*tkGenWMConfigureEvent) (Tk_Window tkwin, int x, int y, int width, int height, int flags); /* 5 */
void (*tkMacOSXInvalClipRgns) (Tk_Window tkwin); /* 6 */
VOID * (*tkMacOSXGetDrawablePort) (Drawable drawable); /* 7 */
VOID * (*tkMacOSXGetRootControl) (Drawable drawable); /* 8 */
void (*tk_MacOSXSetupTkNotifier) (void); /* 9 */
int (*tk_MacOSXIsAppInFront) (void); /* 10 */
#endif /* AQUA */
} TkPlatStubs;
extern TkPlatStubs *tkPlatStubsPtr;
#ifdef __cplusplus
}
#endif
#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)
/*
* Inline function declarations:
*/
#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
#ifndef Tk_AttachHWND
#define Tk_AttachHWND \
(tkPlatStubsPtr->tk_AttachHWND) /* 0 */
#endif
#ifndef Tk_GetHINSTANCE
#define Tk_GetHINSTANCE \
(tkPlatStubsPtr->tk_GetHINSTANCE) /* 1 */
#endif
#ifndef Tk_GetHWND
#define Tk_GetHWND \
(tkPlatStubsPtr->tk_GetHWND) /* 2 */
#endif
#ifndef Tk_HWNDToWindow
#define Tk_HWNDToWindow \
(tkPlatStubsPtr->tk_HWNDToWindow) /* 3 */
#endif
#ifndef Tk_PointerEvent
#define Tk_PointerEvent \
(tkPlatStubsPtr->tk_PointerEvent) /* 4 */
#endif
#ifndef Tk_TranslateWinEvent
#define Tk_TranslateWinEvent \
(tkPlatStubsPtr->tk_TranslateWinEvent) /* 5 */
#endif
#endif /* WIN */
#ifdef MAC_OSX_TK /* AQUA */
#ifndef Tk_MacOSXSetEmbedHandler
#define Tk_MacOSXSetEmbedHandler \
(tkPlatStubsPtr->tk_MacOSXSetEmbedHandler) /* 0 */
#endif
#ifndef Tk_MacOSXTurnOffMenus
#define Tk_MacOSXTurnOffMenus \
(tkPlatStubsPtr->tk_MacOSXTurnOffMenus) /* 1 */
#endif
#ifndef Tk_MacOSXTkOwnsCursor
#define Tk_MacOSXTkOwnsCursor \
(tkPlatStubsPtr->tk_MacOSXTkOwnsCursor) /* 2 */
#endif
#ifndef TkMacOSXInitMenus
#define TkMacOSXInitMenus \
(tkPlatStubsPtr->tkMacOSXInitMenus) /* 3 */
#endif
#ifndef TkMacOSXInitAppleEvents
#define TkMacOSXInitAppleEvents \
(tkPlatStubsPtr->tkMacOSXInitAppleEvents) /* 4 */
#endif
#ifndef TkGenWMConfigureEvent
#define TkGenWMConfigureEvent \
(tkPlatStubsPtr->tkGenWMConfigureEvent) /* 5 */
#endif
#ifndef TkMacOSXInvalClipRgns
#define TkMacOSXInvalClipRgns \
(tkPlatStubsPtr->tkMacOSXInvalClipRgns) /* 6 */
#endif
#ifndef TkMacOSXGetDrawablePort
#define TkMacOSXGetDrawablePort \
(tkPlatStubsPtr->tkMacOSXGetDrawablePort) /* 7 */
#endif
#ifndef TkMacOSXGetRootControl
#define TkMacOSXGetRootControl \
(tkPlatStubsPtr->tkMacOSXGetRootControl) /* 8 */
#endif
#ifndef Tk_MacOSXSetupTkNotifier
#define Tk_MacOSXSetupTkNotifier \
(tkPlatStubsPtr->tk_MacOSXSetupTkNotifier) /* 9 */
#endif
#ifndef Tk_MacOSXIsAppInFront
#define Tk_MacOSXIsAppInFront \
(tkPlatStubsPtr->tk_MacOSXIsAppInFront) /* 10 */
#endif
#endif /* AQUA */
#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */
/* !END!: Do not edit above this line. */
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
#endif /* _TKPLATDECLS */

677
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/X.h

@ -1,677 +0,0 @@
/*
* $XConsortium: X.h,v 1.66 88/09/06 15:55:56 jim Exp $
*/
/* Definitions for the X window system likely to be used by applications */
#ifndef X_H
#define X_H
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
#define X_PROTOCOL 11 /* current protocol version */
#define X_PROTOCOL_REVISION 0 /* current minor version */
#if defined(MAC_OSX_TK)
# define Cursor XCursor
# define Region XRegion
#endif
/* Resources */
#ifdef _WIN64
typedef __int64 XID;
#else
typedef unsigned long XID;
#endif
typedef XID Window;
typedef XID Drawable;
typedef XID Font;
typedef XID Pixmap;
typedef XID Cursor;
typedef XID Colormap;
typedef XID GContext;
typedef XID KeySym;
typedef unsigned long Mask;
typedef unsigned long Atom;
typedef unsigned long VisualID;
typedef unsigned long Time;
typedef unsigned long KeyCode; /* In order to use IME, the Macintosh needs
* to pack 3 bytes into the keyCode field in
* the XEvent. In the real X.h, a KeyCode is
* defined as a short, which wouldn't be big
* enough. */
/*****************************************************************
* RESERVED RESOURCE AND CONSTANT DEFINITIONS
*****************************************************************/
#define None 0L /* universal null resource or null atom */
#define ParentRelative 1L /* background pixmap in CreateWindow
and ChangeWindowAttributes */
#define CopyFromParent 0L /* border pixmap in CreateWindow
and ChangeWindowAttributes
special VisualID and special window
class passed to CreateWindow */
#define PointerWindow 0L /* destination window in SendEvent */
#define InputFocus 1L /* destination window in SendEvent */
#define PointerRoot 1L /* focus window in SetInputFocus */
#define AnyPropertyType 0L /* special Atom, passed to GetProperty */
#define AnyKey 0L /* special Key Code, passed to GrabKey */
#define AnyButton 0L /* special Button Code, passed to GrabButton */
#define AllTemporary 0L /* special Resource ID passed to KillClient */
#define CurrentTime 0L /* special Time */
#define NoSymbol 0L /* special KeySym */
/*****************************************************************
* EVENT DEFINITIONS
*****************************************************************/
/* Input Event Masks. Used as event-mask window attribute and as arguments
to Grab requests. Not to be confused with event names. */
#define NoEventMask 0L
#define KeyPressMask (1L<<0)
#define KeyReleaseMask (1L<<1)
#define ButtonPressMask (1L<<2)
#define ButtonReleaseMask (1L<<3)
#define EnterWindowMask (1L<<4)
#define LeaveWindowMask (1L<<5)
#define PointerMotionMask (1L<<6)
#define PointerMotionHintMask (1L<<7)
#define Button1MotionMask (1L<<8)
#define Button2MotionMask (1L<<9)
#define Button3MotionMask (1L<<10)
#define Button4MotionMask (1L<<11)
#define Button5MotionMask (1L<<12)
#define ButtonMotionMask (1L<<13)
#define KeymapStateMask (1L<<14)
#define ExposureMask (1L<<15)
#define VisibilityChangeMask (1L<<16)
#define StructureNotifyMask (1L<<17)
#define ResizeRedirectMask (1L<<18)
#define SubstructureNotifyMask (1L<<19)
#define SubstructureRedirectMask (1L<<20)
#define FocusChangeMask (1L<<21)
#define PropertyChangeMask (1L<<22)
#define ColormapChangeMask (1L<<23)
#define OwnerGrabButtonMask (1L<<24)
/* Event names. Used in "type" field in XEvent structures. Not to be
confused with event masks above. They start from 2 because 0 and 1
are reserved in the protocol for errors and replies. */
#define KeyPress 2
#define KeyRelease 3
#define ButtonPress 4
#define ButtonRelease 5
#define MotionNotify 6
#define EnterNotify 7
#define LeaveNotify 8
#define FocusIn 9
#define FocusOut 10
#define KeymapNotify 11
#define Expose 12
#define GraphicsExpose 13
#define NoExpose 14
#define VisibilityNotify 15
#define CreateNotify 16
#define DestroyNotify 17
#define UnmapNotify 18
#define MapNotify 19
#define MapRequest 20
#define ReparentNotify 21
#define ConfigureNotify 22
#define ConfigureRequest 23
#define GravityNotify 24
#define ResizeRequest 25
#define CirculateNotify 26
#define CirculateRequest 27
#define PropertyNotify 28
#define SelectionClear 29
#define SelectionRequest 30
#define SelectionNotify 31
#define ColormapNotify 32
#define ClientMessage 33
#define MappingNotify 34
#define LASTEvent 35 /* must be bigger than any event # */
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
state in various key-, mouse-, and button-related events. */
#define ShiftMask (1<<0)
#define LockMask (1<<1)
#define ControlMask (1<<2)
#define Mod1Mask (1<<3)
#define Mod2Mask (1<<4)
#define Mod3Mask (1<<5)
#define Mod4Mask (1<<6)
#define Mod5Mask (1<<7)
/* modifier names. Used to build a SetModifierMapping request or
to read a GetModifierMapping request. These correspond to the
masks defined above. */
#define ShiftMapIndex 0
#define LockMapIndex 1
#define ControlMapIndex 2
#define Mod1MapIndex 3
#define Mod2MapIndex 4
#define Mod3MapIndex 5
#define Mod4MapIndex 6
#define Mod5MapIndex 7
/* button masks. Used in same manner as Key masks above. Not to be confused
with button names below. */
#define Button1Mask (1<<8)
#define Button2Mask (1<<9)
#define Button3Mask (1<<10)
#define Button4Mask (1<<11)
#define Button5Mask (1<<12)
#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */
/* button names. Used as arguments to GrabButton and as detail in ButtonPress
and ButtonRelease events. Not to be confused with button masks above.
Note that 0 is already defined above as "AnyButton". */
#define Button1 1
#define Button2 2
#define Button3 3
#define Button4 4
#define Button5 5
/* Notify modes */
#define NotifyNormal 0
#define NotifyGrab 1
#define NotifyUngrab 2
#define NotifyWhileGrabbed 3
#define NotifyHint 1 /* for MotionNotify events */
/* Notify detail */
#define NotifyAncestor 0
#define NotifyVirtual 1
#define NotifyInferior 2
#define NotifyNonlinear 3
#define NotifyNonlinearVirtual 4
#define NotifyPointer 5
#define NotifyPointerRoot 6
#define NotifyDetailNone 7
/* Visibility notify */
#define VisibilityUnobscured 0
#define VisibilityPartiallyObscured 1
#define VisibilityFullyObscured 2
/* Circulation request */
#define PlaceOnTop 0
#define PlaceOnBottom 1
/* protocol families */
#define FamilyInternet 0
#define FamilyDECnet 1
#define FamilyChaos 2
/* Property notification */
#define PropertyNewValue 0
#define PropertyDelete 1
/* Color Map notification */
#define ColormapUninstalled 0
#define ColormapInstalled 1
/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
#define GrabModeSync 0
#define GrabModeAsync 1
/* GrabPointer, GrabKeyboard reply status */
#define GrabSuccess 0
#define AlreadyGrabbed 1
#define GrabInvalidTime 2
#define GrabNotViewable 3
#define GrabFrozen 4
/* AllowEvents modes */
#define AsyncPointer 0
#define SyncPointer 1
#define ReplayPointer 2
#define AsyncKeyboard 3
#define SyncKeyboard 4
#define ReplayKeyboard 5
#define AsyncBoth 6
#define SyncBoth 7
/* Used in SetInputFocus, GetInputFocus */
#define RevertToNone (int)None
#define RevertToPointerRoot (int)PointerRoot
#define RevertToParent 2
/*****************************************************************
* ERROR CODES
*****************************************************************/
#define Success 0 /* everything's okay */
#define BadRequest 1 /* bad request code */
#define BadValue 2 /* int parameter out of range */
#define BadWindow 3 /* parameter not a Window */
#define BadPixmap 4 /* parameter not a Pixmap */
#define BadAtom 5 /* parameter not an Atom */
#define BadCursor 6 /* parameter not a Cursor */
#define BadFont 7 /* parameter not a Font */
#define BadMatch 8 /* parameter mismatch */
#define BadDrawable 9 /* parameter not a Pixmap or Window */
#define BadAccess 10 /* depending on context:
- key/button already grabbed
- attempt to free an illegal
cmap entry
- attempt to store into a read-only
color map entry.
- attempt to modify the access control
list from other than the local host.
*/
#define BadAlloc 11 /* insufficient resources */
#define BadColor 12 /* no such colormap */
#define BadGC 13 /* parameter not a GC */
#define BadIDChoice 14 /* choice not in range or already used */
#define BadName 15 /* font or color name doesn't exist */
#define BadLength 16 /* Request length incorrect */
#define BadImplementation 17 /* server is defective */
#define FirstExtensionError 128
#define LastExtensionError 255
/*****************************************************************
* WINDOW DEFINITIONS
*****************************************************************/
/* Window classes used by CreateWindow */
/* Note that CopyFromParent is already defined as 0 above */
#define InputOutput 1
#define InputOnly 2
/* Window attributes for CreateWindow and ChangeWindowAttributes */
#define CWBackPixmap (1L<<0)
#define CWBackPixel (1L<<1)
#define CWBorderPixmap (1L<<2)
#define CWBorderPixel (1L<<3)
#define CWBitGravity (1L<<4)
#define CWWinGravity (1L<<5)
#define CWBackingStore (1L<<6)
#define CWBackingPlanes (1L<<7)
#define CWBackingPixel (1L<<8)
#define CWOverrideRedirect (1L<<9)
#define CWSaveUnder (1L<<10)
#define CWEventMask (1L<<11)
#define CWDontPropagate (1L<<12)
#define CWColormap (1L<<13)
#define CWCursor (1L<<14)
/* ConfigureWindow structure */
#define CWX (1<<0)
#define CWY (1<<1)
#define CWWidth (1<<2)
#define CWHeight (1<<3)
#define CWBorderWidth (1<<4)
#define CWSibling (1<<5)
#define CWStackMode (1<<6)
/* Bit Gravity */
#define ForgetGravity 0
#define NorthWestGravity 1
#define NorthGravity 2
#define NorthEastGravity 3
#define WestGravity 4
#define CenterGravity 5
#define EastGravity 6
#define SouthWestGravity 7
#define SouthGravity 8
#define SouthEastGravity 9
#define StaticGravity 10
/* Window gravity + bit gravity above */
#define UnmapGravity 0
/* Used in CreateWindow for backing-store hint */
#define NotUseful 0
#define WhenMapped 1
#define Always 2
/* Used in GetWindowAttributes reply */
#define IsUnmapped 0
#define IsUnviewable 1
#define IsViewable 2
/* Used in ChangeSaveSet */
#define SetModeInsert 0
#define SetModeDelete 1
/* Used in ChangeCloseDownMode */
#define DestroyAll 0
#define RetainPermanent 1
#define RetainTemporary 2
/* Window stacking method (in configureWindow) */
#define Above 0
#define Below 1
#define TopIf 2
#define BottomIf 3
#define Opposite 4
/* Circulation direction */
#define RaiseLowest 0
#define LowerHighest 1
/* Property modes */
#define PropModeReplace 0
#define PropModePrepend 1
#define PropModeAppend 2
/*****************************************************************
* GRAPHICS DEFINITIONS
*****************************************************************/
/* graphics functions, as in GC.alu */
#define GXclear 0x0 /* 0 */
#define GXand 0x1 /* src AND dst */
#define GXandReverse 0x2 /* src AND NOT dst */
#define GXcopy 0x3 /* src */
#define GXandInverted 0x4 /* NOT src AND dst */
#define GXnoop 0x5 /* dst */
#define GXxor 0x6 /* src XOR dst */
#define GXor 0x7 /* src OR dst */
#define GXnor 0x8 /* NOT src AND NOT dst */
#define GXequiv 0x9 /* NOT src XOR dst */
#define GXinvert 0xa /* NOT dst */
#define GXorReverse 0xb /* src OR NOT dst */
#define GXcopyInverted 0xc /* NOT src */
#define GXorInverted 0xd /* NOT src OR dst */
#define GXnand 0xe /* NOT src OR NOT dst */
#define GXset 0xf /* 1 */
/* LineStyle */
#define LineSolid 0
#define LineOnOffDash 1
#define LineDoubleDash 2
/* capStyle */
#define CapNotLast 0
#define CapButt 1
#define CapRound 2
#define CapProjecting 3
/* joinStyle */
#define JoinMiter 0
#define JoinRound 1
#define JoinBevel 2
/* fillStyle */
#define FillSolid 0
#define FillTiled 1
#define FillStippled 2
#define FillOpaqueStippled 3
/* fillRule */
#define EvenOddRule 0
#define WindingRule 1
/* subwindow mode */
#define ClipByChildren 0
#define IncludeInferiors 1
/* SetClipRectangles ordering */
#define Unsorted 0
#define YSorted 1
#define YXSorted 2
#define YXBanded 3
/* CoordinateMode for drawing routines */
#define CoordModeOrigin 0 /* relative to the origin */
#define CoordModePrevious 1 /* relative to previous point */
/* Polygon shapes */
#define Complex 0 /* paths may intersect */
#define Nonconvex 1 /* no paths intersect, but not convex */
#define Convex 2 /* wholly convex */
/* Arc modes for PolyFillArc */
#define ArcChord 0 /* join endpoints of arc */
#define ArcPieSlice 1 /* join endpoints to center of arc */
/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
GC.stateChanges */
#define GCFunction (1L<<0)
#define GCPlaneMask (1L<<1)
#define GCForeground (1L<<2)
#define GCBackground (1L<<3)
#define GCLineWidth (1L<<4)
#define GCLineStyle (1L<<5)
#define GCCapStyle (1L<<6)
#define GCJoinStyle (1L<<7)
#define GCFillStyle (1L<<8)
#define GCFillRule (1L<<9)
#define GCTile (1L<<10)
#define GCStipple (1L<<11)
#define GCTileStipXOrigin (1L<<12)
#define GCTileStipYOrigin (1L<<13)
#define GCFont (1L<<14)
#define GCSubwindowMode (1L<<15)
#define GCGraphicsExposures (1L<<16)
#define GCClipXOrigin (1L<<17)
#define GCClipYOrigin (1L<<18)
#define GCClipMask (1L<<19)
#define GCDashOffset (1L<<20)
#define GCDashList (1L<<21)
#define GCArcMode (1L<<22)
#define GCLastBit 22
/*****************************************************************
* FONTS
*****************************************************************/
/* used in QueryFont -- draw direction */
#define FontLeftToRight 0
#define FontRightToLeft 1
#define FontChange 255
/*****************************************************************
* IMAGING
*****************************************************************/
/* ImageFormat -- PutImage, GetImage */
#define XYBitmap 0 /* depth 1, XYFormat */
#define XYPixmap 1 /* depth == drawable depth */
#define ZPixmap 2 /* depth == drawable depth */
/*****************************************************************
* COLOR MAP STUFF
*****************************************************************/
/* For CreateColormap */
#define AllocNone 0 /* create map with no entries */
#define AllocAll 1 /* allocate entire map writeable */
/* Flags used in StoreNamedColor, StoreColors */
#define DoRed (1<<0)
#define DoGreen (1<<1)
#define DoBlue (1<<2)
/*****************************************************************
* CURSOR STUFF
*****************************************************************/
/* QueryBestSize Class */
#define CursorShape 0 /* largest size that can be displayed */
#define TileShape 1 /* size tiled fastest */
#define StippleShape 2 /* size stippled fastest */
/*****************************************************************
* KEYBOARD/POINTER STUFF
*****************************************************************/
#define AutoRepeatModeOff 0
#define AutoRepeatModeOn 1
#define AutoRepeatModeDefault 2
#define LedModeOff 0
#define LedModeOn 1
/* masks for ChangeKeyboardControl */
#define KBKeyClickPercent (1L<<0)
#define KBBellPercent (1L<<1)
#define KBBellPitch (1L<<2)
#define KBBellDuration (1L<<3)
#define KBLed (1L<<4)
#define KBLedMode (1L<<5)
#define KBKey (1L<<6)
#define KBAutoRepeatMode (1L<<7)
#define MappingSuccess 0
#define MappingBusy 1
#define MappingFailed 2
#define MappingModifier 0
#define MappingKeyboard 1
#define MappingPointer 2
/*****************************************************************
* SCREEN SAVER STUFF
*****************************************************************/
#define DontPreferBlanking 0
#define PreferBlanking 1
#define DefaultBlanking 2
#define DisableScreenSaver 0
#define DisableScreenInterval 0
#define DontAllowExposures 0
#define AllowExposures 1
#define DefaultExposures 2
/* for ForceScreenSaver */
#define ScreenSaverReset 0
#define ScreenSaverActive 1
/*****************************************************************
* HOSTS AND CONNECTIONS
*****************************************************************/
/* for ChangeHosts */
#define HostInsert 0
#define HostDelete 1
/* for ChangeAccessControl */
#define EnableAccess 1
#define DisableAccess 0
/* Display classes used in opening the connection
* Note that the statically allocated ones are even numbered and the
* dynamically changeable ones are odd numbered */
#define StaticGray 0
#define GrayScale 1
#define StaticColor 2
#define PseudoColor 3
#define TrueColor 4
#define DirectColor 5
/* Byte order used in imageByteOrder and bitmapBitOrder */
#define LSBFirst 0
#define MSBFirst 1
#if defined(MAC_OSX_TK)
# undef Cursor
# undef Region
#endif
#endif /* X_H */

79
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/Xatom.h

@ -1,79 +0,0 @@
#ifndef XATOM_H
#define XATOM_H 1
/* THIS IS A GENERATED FILE
*
* Do not change! Changing this file implies a protocol change!
*/
#define XA_PRIMARY ((Atom) 1)
#define XA_SECONDARY ((Atom) 2)
#define XA_ARC ((Atom) 3)
#define XA_ATOM ((Atom) 4)
#define XA_BITMAP ((Atom) 5)
#define XA_CARDINAL ((Atom) 6)
#define XA_COLORMAP ((Atom) 7)
#define XA_CURSOR ((Atom) 8)
#define XA_CUT_BUFFER0 ((Atom) 9)
#define XA_CUT_BUFFER1 ((Atom) 10)
#define XA_CUT_BUFFER2 ((Atom) 11)
#define XA_CUT_BUFFER3 ((Atom) 12)
#define XA_CUT_BUFFER4 ((Atom) 13)
#define XA_CUT_BUFFER5 ((Atom) 14)
#define XA_CUT_BUFFER6 ((Atom) 15)
#define XA_CUT_BUFFER7 ((Atom) 16)
#define XA_DRAWABLE ((Atom) 17)
#define XA_FONT ((Atom) 18)
#define XA_INTEGER ((Atom) 19)
#define XA_PIXMAP ((Atom) 20)
#define XA_POINT ((Atom) 21)
#define XA_RECTANGLE ((Atom) 22)
#define XA_RESOURCE_MANAGER ((Atom) 23)
#define XA_RGB_COLOR_MAP ((Atom) 24)
#define XA_RGB_BEST_MAP ((Atom) 25)
#define XA_RGB_BLUE_MAP ((Atom) 26)
#define XA_RGB_DEFAULT_MAP ((Atom) 27)
#define XA_RGB_GRAY_MAP ((Atom) 28)
#define XA_RGB_GREEN_MAP ((Atom) 29)
#define XA_RGB_RED_MAP ((Atom) 30)
#define XA_STRING ((Atom) 31)
#define XA_VISUALID ((Atom) 32)
#define XA_WINDOW ((Atom) 33)
#define XA_WM_COMMAND ((Atom) 34)
#define XA_WM_HINTS ((Atom) 35)
#define XA_WM_CLIENT_MACHINE ((Atom) 36)
#define XA_WM_ICON_NAME ((Atom) 37)
#define XA_WM_ICON_SIZE ((Atom) 38)
#define XA_WM_NAME ((Atom) 39)
#define XA_WM_NORMAL_HINTS ((Atom) 40)
#define XA_WM_SIZE_HINTS ((Atom) 41)
#define XA_WM_ZOOM_HINTS ((Atom) 42)
#define XA_MIN_SPACE ((Atom) 43)
#define XA_NORM_SPACE ((Atom) 44)
#define XA_MAX_SPACE ((Atom) 45)
#define XA_END_SPACE ((Atom) 46)
#define XA_SUPERSCRIPT_X ((Atom) 47)
#define XA_SUPERSCRIPT_Y ((Atom) 48)
#define XA_SUBSCRIPT_X ((Atom) 49)
#define XA_SUBSCRIPT_Y ((Atom) 50)
#define XA_UNDERLINE_POSITION ((Atom) 51)
#define XA_UNDERLINE_THICKNESS ((Atom) 52)
#define XA_STRIKEOUT_ASCENT ((Atom) 53)
#define XA_STRIKEOUT_DESCENT ((Atom) 54)
#define XA_ITALIC_ANGLE ((Atom) 55)
#define XA_X_HEIGHT ((Atom) 56)
#define XA_QUAD_WIDTH ((Atom) 57)
#define XA_WEIGHT ((Atom) 58)
#define XA_POINT_SIZE ((Atom) 59)
#define XA_RESOLUTION ((Atom) 60)
#define XA_COPYRIGHT ((Atom) 61)
#define XA_NOTICE ((Atom) 62)
#define XA_FONT_NAME ((Atom) 63)
#define XA_FAMILY_NAME ((Atom) 64)
#define XA_FULL_NAME ((Atom) 65)
#define XA_CAP_HEIGHT ((Atom) 66)
#define XA_WM_CLASS ((Atom) 67)
#define XA_WM_TRANSIENT_FOR ((Atom) 68)
#define XA_LAST_PREDEFINED ((Atom) 68)
#endif /* XATOM_H */

60
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/Xfuncproto.h

@ -1,60 +0,0 @@
/* $XConsortium: Xfuncproto.h,v 1.7 91/05/13 20:49:21 rws Exp $ */
/*
* Copyright 1989, 1991 by the Massachusetts Institute of Technology
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising
* or publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
*/
/* Definitions to make function prototypes manageable */
#ifndef _XFUNCPROTO_H_
#define _XFUNCPROTO_H_
#ifndef NeedFunctionPrototypes
#define NeedFunctionPrototypes 1
#endif /* NeedFunctionPrototypes */
#ifndef NeedVarargsPrototypes
#define NeedVarargsPrototypes 0
#endif /* NeedVarargsPrototypes */
#if NeedFunctionPrototypes
#ifndef NeedNestedPrototypes
#define NeedNestedPrototypes 1
#endif /* NeedNestedPrototypes */
#ifndef _Xconst
#define _Xconst const
#endif /* _Xconst */
#ifndef NeedWidePrototypes
#ifdef NARROWPROTO
#define NeedWidePrototypes 0
#else
#define NeedWidePrototypes 1 /* default to make interropt. easier */
#endif
#endif /* NeedWidePrototypes */
#endif /* NeedFunctionPrototypes */
#ifdef __cplusplus
#define _XFUNCPROTOBEGIN extern "C" {
#define _XFUNCPROTOEND }
#endif
#ifndef _XFUNCPROTOBEGIN
#define _XFUNCPROTOBEGIN
#define _XFUNCPROTOEND
#endif /* _XFUNCPROTOBEGIN */
#endif /* _XFUNCPROTO_H_ */

1205
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/Xlib.h

File diff suppressed because it is too large Load Diff

855
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/Xutil.h

@ -1,855 +0,0 @@
/* $XConsortium: Xutil.h,v 11.73 91/07/30 16:21:37 rws Exp $ */
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
#ifndef _XUTIL_H_
#define _XUTIL_H_
/* You must include <X11/Xlib.h> before including this file */
#if defined(MAC_OSX_TK)
# define Region XRegion
#endif
/*
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
* value (x, y, width, height) was found in the parsed string.
*/
#define NoValue 0x0000
#define XValue 0x0001
#define YValue 0x0002
#define WidthValue 0x0004
#define HeightValue 0x0008
#define AllValues 0x000F
#define XNegative 0x0010
#define YNegative 0x0020
/*
* new version containing base_width, base_height, and win_gravity fields;
* used with WM_NORMAL_HINTS.
*/
typedef struct {
long flags; /* marks which fields in this structure are defined */
int x, y; /* obsolete for new window mgrs, but clients */
int width, height; /* should set so old wm's don't mess up */
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
struct {
int x; /* numerator */
int y; /* denominator */
} min_aspect, max_aspect;
int base_width, base_height; /* added by ICCCM version 1 */
int win_gravity; /* added by ICCCM version 1 */
} XSizeHints;
/*
* The next block of definitions are for window manager properties that
* clients and applications use for communication.
*/
/* flags argument in size hints */
#define USPosition (1L << 0) /* user specified x, y */
#define USSize (1L << 1) /* user specified width, height */
#define PPosition (1L << 2) /* program specified position */
#define PSize (1L << 3) /* program specified size */
#define PMinSize (1L << 4) /* program specified minimum size */
#define PMaxSize (1L << 5) /* program specified maximum size */
#define PResizeInc (1L << 6) /* program specified resize increments */
#define PAspect (1L << 7) /* program specified min and max aspect ratios */
#define PBaseSize (1L << 8) /* program specified base for incrementing */
#define PWinGravity (1L << 9) /* program specified window gravity */
/* obsolete */
#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
typedef struct {
long flags; /* marks which fields in this structure are defined */
Bool input; /* does this application rely on the window manager to
get keyboard input? */
int initial_state; /* see below */
Pixmap icon_pixmap; /* pixmap to be used as icon */
Window icon_window; /* window to be used as icon */
int icon_x, icon_y; /* initial position of icon */
Pixmap icon_mask; /* icon mask bitmap */
XID window_group; /* id of related window group */
/* this structure may be extended in the future */
} XWMHints;
/* definition for flags of XWMHints */
#define InputHint (1L << 0)
#define StateHint (1L << 1)
#define IconPixmapHint (1L << 2)
#define IconWindowHint (1L << 3)
#define IconPositionHint (1L << 4)
#define IconMaskHint (1L << 5)
#define WindowGroupHint (1L << 6)
#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
IconPositionHint|IconMaskHint|WindowGroupHint)
/* definitions for initial window state */
#define WithdrawnState 0 /* for windows that are not mapped */
#define NormalState 1 /* most applications want to start this way */
#define IconicState 3 /* application wants to start as an icon */
/*
* Obsolete states no longer defined by ICCCM
*/
#define DontCareState 0 /* don't know or care */
#define ZoomState 2 /* application wants to start zoomed */
#define InactiveState 4 /* application believes it is seldom used; */
/* some wm's may put it on inactive menu */
/*
* new structure for manipulating TEXT properties; used with WM_NAME,
* WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
*/
typedef struct {
unsigned char *value; /* same as Property routines */
Atom encoding; /* prop type */
int format; /* prop data format: 8, 16, or 32 */
unsigned long nitems; /* number of data items in value */
} XTextProperty;
#define XNoMemory -1
#define XLocaleNotSupported -2
#define XConverterNotFound -3
typedef enum {
XStringStyle, /* STRING */
XCompoundTextStyle, /* COMPOUND_TEXT */
XTextStyle, /* text in owner's encoding (current locale)*/
XStdICCTextStyle /* STRING, else COMPOUND_TEXT */
} XICCEncodingStyle;
typedef struct {
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
} XIconSize;
typedef struct {
char *res_name;
char *res_class;
} XClassHint;
/*
* These macros are used to give some sugar to the image routines so that
* naive people are more comfortable with them.
*/
#define XDestroyImage(ximage) \
((*((ximage)->f.destroy_image))((ximage)))
#define XGetPixel(ximage, x, y) \
((*((ximage)->f.get_pixel))((ximage), (x), (y)))
#define XPutPixel(ximage, x, y, pixel) \
((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
#define XSubImage(ximage, x, y, width, height) \
((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
#define XAddPixel(ximage, value) \
((*((ximage)->f.add_pixel))((ximage), (value)))
/*
* Compose sequence status structure, used in calling XLookupString.
*/
typedef struct _XComposeStatus {
XPointer compose_ptr; /* state table pointer */
int chars_matched; /* match state */
} XComposeStatus;
/*
* Keysym macros, used on Keysyms to test for classes of symbols
*/
#define IsKeypadKey(keysym) \
(((unsigned)(keysym) >= XK_KP_Space) && ((unsigned)(keysym) <= XK_KP_Equal))
#define IsCursorKey(keysym) \
(((unsigned)(keysym) >= XK_Home) && ((unsigned)(keysym) < XK_Select))
#define IsPFKey(keysym) \
(((unsigned)(keysym) >= XK_KP_F1) && ((unsigned)(keysym) <= XK_KP_F4))
#define IsFunctionKey(keysym) \
(((unsigned)(keysym) >= XK_F1) && ((unsigned)(keysym) <= XK_F35))
#define IsMiscFunctionKey(keysym) \
(((unsigned)(keysym) >= XK_Select) && ((unsigned)(keysym) <= XK_Break))
#define IsModifierKey(keysym) \
((((unsigned)(keysym) >= XK_Shift_L) && ((unsigned)(keysym) <= XK_Hyper_R)) \
|| ((unsigned)(keysym) == XK_Mode_switch) \
|| ((unsigned)(keysym) == XK_Num_Lock))
/*
* opaque reference to Region data type
*/
typedef struct _XRegion *Region;
/* Return values from XRectInRegion() */
#define RectangleOut 0
#define RectangleIn 1
#define RectanglePart 2
/*
* Information used by the visual utility routines to find desired visual
* type from the many visuals a display may support.
*/
typedef struct {
Visual *visual;
VisualID visualid;
int screen;
int depth;
#if defined(__cplusplus) || defined(c_plusplus)
int c_class; /* C++ */
#else
int class;
#endif
unsigned long red_mask;
unsigned long green_mask;
unsigned long blue_mask;
int colormap_size;
int bits_per_rgb;
} XVisualInfo;
#define VisualNoMask 0x0
#define VisualIDMask 0x1
#define VisualScreenMask 0x2
#define VisualDepthMask 0x4
#define VisualClassMask 0x8
#define VisualRedMaskMask 0x10
#define VisualGreenMaskMask 0x20
#define VisualBlueMaskMask 0x40
#define VisualColormapSizeMask 0x80
#define VisualBitsPerRGBMask 0x100
#define VisualAllMask 0x1FF
/*
* This defines a window manager property that clients may use to
* share standard color maps of type RGB_COLOR_MAP:
*/
typedef struct {
Colormap colormap;
unsigned long red_max;
unsigned long red_mult;
unsigned long green_max;
unsigned long green_mult;
unsigned long blue_max;
unsigned long blue_mult;
unsigned long base_pixel;
VisualID visualid; /* added by ICCCM version 1 */
XID killid; /* added by ICCCM version 1 */
} XStandardColormap;
#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
/*
* return codes for XReadBitmapFile and XWriteBitmapFile
*/
#define BitmapSuccess 0
#define BitmapOpenFailed 1
#define BitmapFileInvalid 2
#define BitmapNoMemory 3
/****************************************************************
*
* Context Management
*
****************************************************************/
/* Associative lookup table return codes */
#define XCSUCCESS 0 /* No error. */
#define XCNOMEM 1 /* Out of memory */
#define XCNOENT 2 /* No entry in table */
typedef int XContext;
#define XUniqueContext() ((XContext) XrmUniqueQuark())
#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
_XFUNCPROTOBEGIN
/* The following declarations are alphabetized. */
extern XClassHint *XAllocClassHint (
#if NeedFunctionPrototypes
void
#endif
);
extern XIconSize *XAllocIconSize (
#if NeedFunctionPrototypes
void
#endif
);
extern XSizeHints *XAllocSizeHints (
#if NeedFunctionPrototypes
void
#endif
);
extern XStandardColormap *XAllocStandardColormap (
#if NeedFunctionPrototypes
void
#endif
);
extern XWMHints *XAllocWMHints (
#if NeedFunctionPrototypes
void
#endif
);
extern void XClipBox(
#if NeedFunctionPrototypes
Region /* r */,
XRectangle* /* rect_return */
#endif
);
extern Region XCreateRegion(
#if NeedFunctionPrototypes
void
#endif
);
extern char *XDefaultString(
#if NeedFunctionPrototypes
void
#endif
);
extern int XDeleteContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */
#endif
);
extern void XDestroyRegion(
#if NeedFunctionPrototypes
Region /* r */
#endif
);
extern Bool XEmptyRegion(
#if NeedFunctionPrototypes
Region /* r */
#endif
);
extern Bool XEqualRegion(
#if NeedFunctionPrototypes
Region /* r1 */,
Region /* r2 */
#endif
);
extern int XFindContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */,
XPointer* /* data_return */
#endif
);
extern Status XGetClassHint(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XClassHint* /* class_hints_return */
#endif
);
extern Status XGetIconSizes(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XIconSize** /* size_list_return */,
int* /* count_return */
#endif
);
extern Status XGetNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */
#endif
);
extern Status XGetRGBColormaps(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap** /* stdcmap_return */,
int* /* count_return */,
Atom /* property */
#endif
);
extern Status XGetSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
Atom /* property */
#endif
);
extern Status XGetStandardColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* colormap_return */,
Atom /* property */
#endif
);
extern Status XGetTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* window */,
XTextProperty* /* text_prop_return */,
Atom /* property */
#endif
);
extern Status XGetWMClientMachine(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern XWMHints *XGetWMHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern Status XGetWMIconName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern Status XGetWMName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern Status XGetWMNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
long* /* supplied_return */
#endif
);
extern Status XGetWMSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
long* /* supplied_return */,
Atom /* property */
#endif
);
extern Status XGetZoomHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* zhints_return */
#endif
);
extern void XIntersectRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XLookupString(
#if NeedFunctionPrototypes
XKeyEvent* /* event_struct */,
char* /* buffer_return */,
int /* bytes_buffer */,
KeySym* /* keysym_return */,
XComposeStatus* /* status_in_out */
#endif
);
extern Status XMatchVisualInfo(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen */,
int /* depth */,
int /* class */,
XVisualInfo* /* vinfo_return */
#endif
);
extern void XOffsetRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* dx */,
int /* dy */
#endif
);
extern Bool XPointInRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* x */,
int /* y */
#endif
);
extern Region XPolygonRegion(
#if NeedFunctionPrototypes
XPoint* /* points */,
int /* n */,
int /* fill_rule */
#endif
);
extern int XRectInRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */
#endif
);
extern int XSaveContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */,
_Xconst char* /* data */
#endif
);
extern void XSetClassHint(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XClassHint* /* class_hints */
#endif
);
extern void XSetIconSizes(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XIconSize* /* size_list */,
int /* count */
#endif
);
extern void XSetNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */
#endif
);
extern void XSetRGBColormaps(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* stdcmaps */,
int /* count */,
Atom /* property */
#endif
);
extern void XSetSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */,
Atom /* property */
#endif
);
extern void XSetStandardProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */,
_Xconst char* /* icon_name */,
Pixmap /* icon_pixmap */,
char** /* argv */,
int /* argc */,
XSizeHints* /* hints */
#endif
);
extern void XSetTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */,
Atom /* property */
#endif
);
extern void XSetWMHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XWMHints* /* wm_hints */
#endif
);
extern void XSetWMIconName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern void XSetWMName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern void XSetWMNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */
#endif
);
extern void XSetWMProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* window_name */,
XTextProperty* /* icon_name */,
char** /* argv */,
int /* argc */,
XSizeHints* /* normal_hints */,
XWMHints* /* wm_hints */,
XClassHint* /* class_hints */
#endif
);
extern void XmbSetWMProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */,
_Xconst char* /* icon_name */,
char** /* argv */,
int /* argc */,
XSizeHints* /* normal_hints */,
XWMHints* /* wm_hints */,
XClassHint* /* class_hints */
#endif
);
extern void XSetWMSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */,
Atom /* property */
#endif
);
extern void XSetRegion(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
Region /* r */
#endif
);
extern void XSetStandardColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* colormap */,
Atom /* property */
#endif
);
extern void XSetZoomHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* zhints */
#endif
);
extern void XShrinkRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* dx */,
int /* dy */
#endif
);
extern void XSubtractRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XmbTextListToTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
char** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop_return */
#endif
);
extern int XwcTextListToTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
wchar_t** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop_return */
#endif
);
extern void XwcFreeStringList(
#if NeedFunctionPrototypes
wchar_t** /* list */
#endif
);
extern Status XTextPropertyToStringList(
#if NeedFunctionPrototypes
XTextProperty* /* text_prop */,
char*** /* list_return */,
int* /* count_return */
#endif
);
extern int XmbTextPropertyToTextList(
#if NeedFunctionPrototypes
Display* /* display */,
XTextProperty* /* text_prop */,
char*** /* list_return */,
int* /* count_return */
#endif
);
extern int XwcTextPropertyToTextList(
#if NeedFunctionPrototypes
Display* /* display */,
XTextProperty* /* text_prop */,
wchar_t*** /* list_return */,
int* /* count_return */
#endif
);
extern void XUnionRectWithRegion(
#if NeedFunctionPrototypes
XRectangle* /* rectangle */,
Region /* src_region */,
Region /* dest_region_return */
#endif
);
extern void XUnionRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XWMGeometry(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */,
_Xconst char* /* user_geometry */,
_Xconst char* /* default_geometry */,
unsigned int /* border_width */,
XSizeHints* /* hints */,
int* /* x_return */,
int* /* y_return */,
int* /* width_return */,
int* /* height_return */,
int* /* gravity_return */
#endif
);
extern void XXorRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
_XFUNCPROTOEND
#if defined(MAC_OSX_TK)
# undef Region
#endif
#endif /* _XUTIL_H_ */

79
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/cursorfont.h

@ -1,79 +0,0 @@
/* $XConsortium: cursorfont.h,v 1.2 88/09/06 16:44:27 jim Exp $ */
#define XC_num_glyphs 154
#define XC_X_cursor 0
#define XC_arrow 2
#define XC_based_arrow_down 4
#define XC_based_arrow_up 6
#define XC_boat 8
#define XC_bogosity 10
#define XC_bottom_left_corner 12
#define XC_bottom_right_corner 14
#define XC_bottom_side 16
#define XC_bottom_tee 18
#define XC_box_spiral 20
#define XC_center_ptr 22
#define XC_circle 24
#define XC_clock 26
#define XC_coffee_mug 28
#define XC_cross 30
#define XC_cross_reverse 32
#define XC_crosshair 34
#define XC_diamond_cross 36
#define XC_dot 38
#define XC_dotbox 40
#define XC_double_arrow 42
#define XC_draft_large 44
#define XC_draft_small 46
#define XC_draped_box 48
#define XC_exchange 50
#define XC_fleur 52
#define XC_gobbler 54
#define XC_gumby 56
#define XC_hand1 58
#define XC_hand2 60
#define XC_heart 62
#define XC_icon 64
#define XC_iron_cross 66
#define XC_left_ptr 68
#define XC_left_side 70
#define XC_left_tee 72
#define XC_leftbutton 74
#define XC_ll_angle 76
#define XC_lr_angle 78
#define XC_man 80
#define XC_middlebutton 82
#define XC_mouse 84
#define XC_pencil 86
#define XC_pirate 88
#define XC_plus 90
#define XC_question_arrow 92
#define XC_right_ptr 94
#define XC_right_side 96
#define XC_right_tee 98
#define XC_rightbutton 100
#define XC_rtl_logo 102
#define XC_sailboat 104
#define XC_sb_down_arrow 106
#define XC_sb_h_double_arrow 108
#define XC_sb_left_arrow 110
#define XC_sb_right_arrow 112
#define XC_sb_up_arrow 114
#define XC_sb_v_double_arrow 116
#define XC_shuttle 118
#define XC_sizing 120
#define XC_spider 122
#define XC_spraycan 124
#define XC_star 126
#define XC_target 128
#define XC_tcross 130
#define XC_top_left_arrow 132
#define XC_top_left_corner 134
#define XC_top_right_corner 136
#define XC_top_side 138
#define XC_top_tee 140
#define XC_trek 142
#define XC_ul_angle 144
#define XC_umbrella 146
#define XC_ur_angle 148
#define XC_watch 150
#define XC_xterm 152

35
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/keysym.h

@ -1,35 +0,0 @@
/* $XConsortium: keysym.h,v 1.13 91/03/13 20:09:49 rws Exp $ */
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
/* default keysyms */
#define XK_MISCELLANY
#define XK_LATIN1
#define XK_LATIN2
#define XK_LATIN3
#define XK_LATIN4
#define XK_GREEK
#include <X11/keysymdef.h>

1169
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/keysymdef.h

File diff suppressed because it is too large Load Diff

1279
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/X11/tkIntXlibDecls.h

File diff suppressed because it is too large Load Diff

2652
src/runtime/tclkit86bi.vfs/lib/critcl3.2 - Copy/critcl_c/tcl8.6/tcl.h

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save