From 9e72d3c3d91b86842aa947297e0d30bbc741c7b1 Mon Sep 17 00:00:00 2001 From: ian Date: Wed, 1 Dec 2004 00:21:45 +0000 Subject: [PATCH] idtable better documented and sorted --- base/chiark-tcl.h | 19 +++++++++++++++++++ base/idtable.c | 18 ++++++++++-------- dgram/dgram.c | 5 ++--- hbytes/hbytes.h | 19 +++++++++++++++++++ 4 files changed, 50 insertions(+), 11 deletions(-) diff --git a/base/chiark-tcl.h b/base/chiark-tcl.h index 4b4f4e8..2b03287 100644 --- a/base/chiark-tcl.h +++ b/base/chiark-tcl.h @@ -122,6 +122,8 @@ #include +#include + typedef unsigned char Byte; /* from hbytes.c */ @@ -218,8 +220,25 @@ typedef struct { void **a; } IdDataTable; +/* The stored struct must start with a single int, conventionally + * named `ix'. When the struct is returned for the first time ix must + * be -1; on subsequent occasions it must be >=0. ix will be -1 iff + * the struct is registered by the iddatatable machinery. */ + extern Tcl_ObjType tabledataid_nearlytype; int tabledataid_parse(Tcl_Interp *ip, Tcl_Obj *o, IdDataTable *tab); +void tabledataid_disposing(void *val, IdDataTable *tab); + /* call this when you destroy the struct, to remove its name; + * _disposing is idempotent*/ + +/* from adns.c */ + +typedef struct { + const char *name; + adns_rrtype number; +} AdnsTclRRTypeInfo; + +extern IdDataTable adnstcl_queries, adnstcl_resolvers; /* from dgram.c */ diff --git a/base/idtable.c b/base/idtable.c index ed5e5e6..f64a101 100644 --- a/base/idtable.c +++ b/base/idtable.c @@ -1,13 +1,5 @@ /* */ -/* - * dgram-socket create => - * dgram-socket close - * dgram-socket transmit - * dgram-socket on-receive [