Hex Artifact Content

Artifact 278881bf35e182f948ac34ace4ae7a1ace14a67d:


0000: 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e  #include <stdio.
0010: 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 74 63 6c  h>.#include <tcl
0020: 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 22 74 63  .h>.#include "tc
0030: 6c 49 6e 74 2e 68 22 0a 0a 54 63 6c 5f 41 70 70  lInt.h"..Tcl_App
0040: 49 6e 69 74 50 72 6f 63 20 56 66 73 5f 49 6e 69  InitProc Vfs_Ini
0050: 74 2c 20 52 65 63 68 61 6e 5f 49 6e 69 74 3b 0a  t, Rechan_Init;.
0060: 54 63 6c 5f 41 70 70 49 6e 69 74 50 72 6f 63 20  Tcl_AppInitProc 
0070: 56 66 73 5f 6b 69 74 64 6c 6c 5f 64 61 74 61 5f  Vfs_kitdll_data_
0080: 74 63 6c 5f 49 6e 69 74 3b 0a 0a 73 74 61 74 69  tcl_Init;..stati
0090: 63 20 63 68 61 72 20 2a 70 72 65 49 6e 69 74 43  c char *preInitC
00a0: 6d 64 20 3d 0a 22 70 72 6f 63 20 74 63 6c 4b 69  md =."proc tclKi
00b0: 74 49 6e 69 74 20 7b 7d 20 7b 5c 6e 22 0a 22 70  tInit {} {\n"."p
00c0: 75 74 73 20 5c 22 52 61 6e 20 74 63 6c 4b 69 74  uts \"Ran tclKit
00d0: 49 6e 69 74 5c 22 5c 6e 22 0a 09 22 72 65 6e 61  Init\"\n".."rena
00e0: 6d 65 20 74 63 6c 4b 69 74 49 6e 69 74 20 7b 7d  me tclKitInit {}
00f0: 5c 6e 22 0a 09 22 6c 6f 61 64 20 7b 7d 20 72 65  \n".."load {} re
0100: 63 68 61 6e 5c 6e 22 0a 09 22 6c 6f 61 64 20 7b  chan\n".."load {
0110: 7d 20 76 66 73 5c 6e 22 0a 09 22 6c 6f 61 64 20  } vfs\n".."load 
0120: 7b 7d 20 76 66 73 5f 6b 69 74 64 6c 6c 5f 64 61  {} vfs_kitdll_da
0130: 74 61 5f 74 63 6c 5c 6e 22 0a 22 70 75 74 73 20  ta_tcl\n"."puts 
0140: 5c 22 4c 6f 61 64 65 64 20 56 46 53 5c 22 5c 6e  \"Loaded VFS\"\n
0150: 22 0a 23 69 6e 63 6c 75 64 65 20 22 76 66 73 5f  ".#include "vfs_
0160: 6b 69 74 64 6c 6c 2e 74 63 6c 2e 68 22 0a 09 22  kitdll.tcl.h".."
0170: 76 66 73 3a 3a 6b 69 74 64 6c 6c 3a 3a 4d 6f 75  vfs::kitdll::Mou
0180: 6e 74 20 74 63 6c 20 2f 2e 4b 49 54 44 4c 4c 5f  nt tcl /.KITDLL_
0190: 54 43 4c 5c 6e 22 0a 22 70 75 74 73 20 5c 22 4d  TCL\n"."puts \"M
01a0: 6f 75 6e 74 65 64 20 56 46 53 5c 22 5c 6e 22 0a  ounted VFS\"\n".
01b0: 09 22 73 65 74 20 66 20 5b 6f 70 65 6e 20 5c 22  ."set f [open \"
01c0: 2f 2e 4b 49 54 44 4c 4c 5f 54 43 4c 2f 62 6f 6f  /.KITDLL_TCL/boo
01d0: 74 2e 74 63 6c 5c 22 5d 5c 6e 22 0a 09 22 73 65  t.tcl\"]\n".."se
01e0: 74 20 73 20 5b 72 65 61 64 20 24 66 5d 5c 6e 22  t s [read $f]\n"
01f0: 0a 09 22 63 6c 6f 73 65 20 24 66 5c 6e 22 0a 09  .."close $f\n"..
0200: 22 75 70 6c 65 76 65 6c 20 23 30 20 24 73 5c 6e  "uplevel #0 $s\n
0210: 22 0a 22 7d 5c 6e 22 0a 22 74 63 6c 4b 69 74 49  "."}\n"."tclKitI
0220: 6e 69 74 22 3b 0a 0a 76 6f 69 64 20 5f 5f 61 74  nit";..void __at
0230: 74 72 69 62 75 74 65 5f 5f 28 28 63 6f 6e 73 74  tribute__((const
0240: 72 75 63 74 6f 72 29 29 20 5f 54 63 6c 6b 69 74  ructor)) _Tclkit
0250: 5f 49 6e 69 74 28 76 6f 69 64 29 20 7b 0a 09 69  _Init(void) {..i
0260: 6e 74 20 74 63 6c 5f 72 65 74 20 3d 20 2d 31 3b  nt tcl_ret = -1;
0270: 0a 0a 09 54 63 6c 5f 53 74 61 74 69 63 50 61 63  ...Tcl_StaticPac
0280: 6b 61 67 65 28 30 2c 20 22 72 65 63 68 61 6e 22  kage(0, "rechan"
0290: 2c 20 52 65 63 68 61 6e 5f 49 6e 69 74 2c 20 4e  , Rechan_Init, N
02a0: 55 4c 4c 29 3b 0a 09 54 63 6c 5f 53 74 61 74 69  ULL);..Tcl_Stati
02b0: 63 50 61 63 6b 61 67 65 28 30 2c 20 22 76 66 73  cPackage(0, "vfs
02c0: 22 2c 20 56 66 73 5f 49 6e 69 74 2c 20 4e 55 4c  ", Vfs_Init, NUL
02d0: 4c 29 3b 0a 09 54 63 6c 5f 53 74 61 74 69 63 50  L);..Tcl_StaticP
02e0: 61 63 6b 61 67 65 28 30 2c 20 22 76 66 73 5f 6b  ackage(0, "vfs_k
02f0: 69 74 64 6c 6c 5f 64 61 74 61 5f 74 63 6c 22 2c  itdll_data_tcl",
0300: 20 56 66 73 5f 6b 69 74 64 6c 6c 5f 64 61 74 61   Vfs_kitdll_data
0310: 5f 74 63 6c 5f 49 6e 69 74 2c 20 4e 55 4c 4c 29  _tcl_Init, NULL)
0320: 3b 0a 0a 09 54 63 6c 53 65 74 50 72 65 49 6e 69  ;...TclSetPreIni
0330: 74 53 63 72 69 70 74 28 70 72 65 49 6e 69 74 43  tScript(preInitC
0340: 6d 64 29 3b 0a 09 70 72 69 6e 74 66 28 22 54 63  md);..printf("Tc
0350: 6c 53 65 74 50 72 65 49 6e 69 74 53 63 72 69 70  lSetPreInitScrip
0360: 74 28 29 20 3d 20 25 69 5c 6e 22 2c 20 74 63 6c  t() = %i\n", tcl
0370: 5f 72 65 74 29 3b 0a 0a 09 72 65 74 75 72 6e 3b  _ret);...return;
0380: 0a 7d 0a                                         .}.