12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091# 1 "Camomile/internal/stringPrep_data.ml"(** Data defined in appendix of RFC 3454 *)(* Copyright (C) 2010 Pierre Chambart *)(* This library is free software; you can redistribute it and/or *)(* modify it under the terms of the GNU Lesser General Public License *)(* as published by the Free Software Foundation; either version 2 of *)(* the License, or (at your option) any later version. *)(* As a special exception to the GNU Library General Public License, you *)(* may link, statically or dynamically, a "work that uses this library" *)(* with a publicly distributed version of this library to produce an *)(* executable file containing portions of this library, and distribute *)(* that executable file under terms of your choice, without any of the *)(* additional requirements listed in clause 6 of the GNU Library General *)(* Public License. By "a publicly distributed version of this library", *)(* we mean either the unmodified Library as distributed by the authors, *)(* or a modified version of this library that is distributed under the *)(* conditions defined in clause 3 of the GNU Library General Public *)(* License. This exception does not however invalidate any other reasons *)(* why the executable file might be covered by the GNU Library General *)(* Public License . *)(* This library is distributed in the hope that it will be useful, *)(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *)(* Lesser General Public License for more details. *)(* You should have received a copy of the GNU Lesser General Public *)(* License along with this library; if not, write to the Free Software *)(* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *)(* USA *)(* You can contact the authour by sending email to *)(* yoriyuki.y@gmail.com *)typemapping=|Diffofint|ListofUChar.tlistmoduleMappingHash=structtypet=mappinglethash=Hashtbl.hashletequal=(=)endmoduleMappingMap=UCharTbl.Make(MappingHash)letmapping_to_listindex=function|Diff(0)->[index]|Diff(diff)->[UChar.of_int((UChar.codeindex)+diff)]|Listl->lmoduletypeType=sigvalmap_b1b2:unit->MappingMap.tvalmap_b1:unit->MappingMap.tvalsaslprep_map:unit->MappingMap.tvalnodeprep_prohibited:unit->UCharTbl.Bool.tvalresourceprep_prohibited:unit->UCharTbl.Bool.tvalnameprep_prohibited:unit->UCharTbl.Bool.tvalsaslprep_prohibited:unit->UCharTbl.Bool.tvaltrace_prohibited:unit->UCharTbl.Bool.tvaliscsi_prohibited:unit->UCharTbl.Bool.tvalmib_prohibited:unit->UCharTbl.Bool.tvald1:unit->UCharTbl.Bool.tvald2:unit->UCharTbl.Bool.tendmoduleMake(Config:ConfigInt.Type):Type=structmoduleUData=Unidata.Make(Config)letmap_b1b2()=UData.read_data"map_b1b2"letmap_b1()=UData.read_data"map_b1"letsaslprep_map()=UData.read_data"saslprep_map"letnodeprep_prohibited()=UData.read_data"nodeprep_prohibited"letresourceprep_prohibited()=UData.read_data"resourceprep_prohibited"letnameprep_prohibited()=UData.read_data"nameprep_prohibited"letsaslprep_prohibited()=UData.read_data"saslprep_prohibited"lettrace_prohibited()=UData.read_data"trace_prohibited"letiscsi_prohibited()=UData.read_data"iscsi_prohibited"letmib_prohibited()=UData.read_data"mib_prohibited"letd1()=UData.read_data"d1"letd2()=UData.read_data"d2"end