chiark / gitweb /
adns compiles and does not work
[chiark-tcl.git] / hbytes / hook.c
index a9d0316f0c90089cce1f1383caa5030b30dfc8f0..b65741f38b09865e4e25b3b5651993d9ac1ac4d7 100644 (file)
@@ -22,6 +22,13 @@ int posixerr(Tcl_Interp *ip, int errnoval, const char *m) {
   return TCL_ERROR;
 }
 
+int newfdposixerr(Tcl_Interp *ip, int fd, const char *m) {
+  int e;
+  e= errno;
+  close(fd);
+  return posixerr(ip,e,m);
+}
+
 void objfreeir(Tcl_Obj *o) {
   if (o->typePtr && o->typePtr->freeIntRepProc)
     o->typePtr->freeIntRepProc(o);
@@ -317,6 +324,12 @@ int do_hbytes_range(ClientData cd, Tcl_Interp *ip,
   return TCL_OK;
 }
 
+int do_hbytes_mask_map(ClientData cd, Tcl_Interp *ip,
+                     const MaskMap_SubCommand *subcmd,
+                     int objc, Tcl_Obj *const *objv) {
+  return subcmd->func(0,ip,objc,objv);
+}
+
 /* hbytes representing uint16_t's */
 
 int do_hbytes_h2ushort(ClientData cd, Tcl_Interp *ip,
@@ -361,12 +374,24 @@ int do_toplevel_dgram_socket(ClientData cd, Tcl_Interp *ip,
   return subcmd->func(0,ip,objc,objv);
 }
 
+int do_toplevel_tuntap_socket_raw(ClientData cd, Tcl_Interp *ip,
+                                 const TunSocket_SubCommand *subcmd,
+                                 int objc, Tcl_Obj *const *objv) {
+  return subcmd->func(0,ip,objc,objv);
+}
+
 int do_toplevel_ulong(ClientData cd, Tcl_Interp *ip,
                      const ULong_SubCommand *subcmd,
                      int objc, Tcl_Obj *const *objv) {
   return subcmd->func(0,ip,objc,objv);
 }
 
+int do_toplevel_adns(ClientData cd, Tcl_Interp *ip,
+                     const Adns_SubCommand *subcmd,
+                     int objc, Tcl_Obj *const *objv) {
+  return subcmd->func(0,ip,objc,objv);
+}
+
 #define URANDOM "/dev/urandom"
 
 int get_urandom(Tcl_Interp *ip, Byte *buffer, int l) {
@@ -400,13 +425,14 @@ int Hbytes_Init(Tcl_Interp *ip) {
   Tcl_RegisterObjType(&enum_nearlytype);
   Tcl_RegisterObjType(&enum1_nearlytype);
   Tcl_RegisterObjType(&sockaddr_type);
-  Tcl_RegisterObjType(&dgramsockid_type);
+  Tcl_RegisterObjType(&tabledataid_nearlytype);
   Tcl_RegisterObjType(&ulong_type);
+  Tcl_RegisterObjType(&maskmap_type);
 
   for (cmd=toplevel_commands;
        cmd->name;
        cmd++)
-    Tcl_CreateObjCommand(ip, cmd->name, cmd->func, 0,0);
+    Tcl_CreateObjCommand(ip, (char*)cmd->name, cmd->func, 0,0);
 
   return TCL_OK;
 }