1*46439007SCharles.Forsyth# 2*46439007SCharles.Forsyth# Copyright © 2001 Vita Nuova Limited 3*46439007SCharles.Forsyth# 4*46439007SCharles.ForsythBtos: module { 5*46439007SCharles.Forsyth init: fn(arg: string): string; 6*46439007SCharles.Forsyth btos: fn(s: Convcs->State, b: array of byte, nchars: int) : (Convcs->State, string, int); 7*46439007SCharles.Forsyth}; 8*46439007SCharles.Forsyth 9*46439007SCharles.ForsythStob: module { 10*46439007SCharles.Forsyth init: fn(arg: string): string; 11*46439007SCharles.Forsyth stob: fn(s: Convcs->State, str: string): (Convcs->State, array of byte); 12*46439007SCharles.Forsyth}; 13*46439007SCharles.Forsyth 14*46439007SCharles.ForsythConvcs: module { 15*46439007SCharles.Forsyth PATH: con "/dis/lib/convcs/convcs.dis"; 16*46439007SCharles.Forsyth CHARSETS: con "/lib/charsets"; 17*46439007SCharles.Forsyth 18*46439007SCharles.Forsyth BTOS, STOB: con 1 << iota; # enumcs() mode values 19*46439007SCharles.Forsyth BOTH: con BTOS | STOB; 20*46439007SCharles.Forsyth 21*46439007SCharles.Forsyth State: type string; 22*46439007SCharles.Forsyth Startstate: con ""; 23*46439007SCharles.Forsyth 24*46439007SCharles.Forsyth init: fn(csfile: string): string; 25*46439007SCharles.Forsyth getbtos: fn(cs: string): (Btos, string); 26*46439007SCharles.Forsyth getstob: fn(cs: string): (Stob, string); 27*46439007SCharles.Forsyth enumcs: fn(): list of (string, string, int); # (cs, description, mode) 28*46439007SCharles.Forsyth aliases: fn(cs : string): (string, list of string); 29*46439007SCharles.Forsyth}; 30