chiark / gitweb /
mask-map amend implemented, but untested
[chiark-tcl.git] / base / chiark-tcl.h
index 207e32a73f9d517b52fe59002135cc2db8eeadc8..17a05942b84a6b69b887fc015309c55f944993cb 100644 (file)
  *  hbytes mask-map lookup MAP-VAR ADDRESS [DEFAULT]   => DATA
  *     error on missing default or if address too short
  *  hbytes mask-map amend MAP-VAR PREFIX PREFIX-LENGTH DATA
- *     a maskmap MAP is [list [list PREFIX PREFIX-LENGTH DATA]]
- *     sorted first by descending PREFIX-LENGTH and then by PREFIX
- *     each PREFIX is truncated to the shortest number of pairs of
- *     hex digits which can represent it
+ *     a maskmap MAP is [list [list PREFIX PREFIX-LENGTH DATA]] sorted
+ *     first by descending PREFIX-LENGTH and then by ascending PREFIX
+ *     each PREFIX _in the map_ is truncated to the shortest number of
+ *     pairs of hex digits which can represent it
  *
  * Error codes
  *
  * HBYTES LENGTH MISMATCH              when blocks must be exactly same length
  * HBYTES SYNTAX                       supposed hex block had wrong syntax
  * HBYTES VALUE OVERFLOW               value to be conv'd to hex too big/long
+ * HBYTES MASKMAP SYNTAX LLENGTH       value for mask-map entry not llength==3
+ * HBYTES MASKMAP SYNTAX UNDERRUN      value for mask-map entry hex too short
+ * HBYTES MASKMAP SYNTAX OVERRUN       actual mask-map entry hex too short
+ * HBYTES MASKMAP SYNTAX ORDER         actual mask-map is disordered
+ * HBYTES MASKMAP SYNTAX EXCLBITS      mask-map has 1-bits outside prefix len
  * SOCKADDR AFUNIX LENGTH              path for AF_UNIX socket too long
  * SOCKADDR SYNTAX IPV4                bad IPv4 socket address &/or port
  * SOCKADDR SYNTAX OTHER               bad socket addr, couldn't tell what kind
@@ -385,5 +390,6 @@ int setnonblock(int fd, int isnonblock);
 
 #define TALLOC(s) ((void*)Tcl_Alloc((s)))
 #define TFREE(f) (Tcl_Free((void*)(f)))
+#define TREALLOC(p,l) ((void*)Tcl_Realloc((void*)(p),(l)))
 
 #endif /*HBYTES_H*/