Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file pkcs11_cli.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107letexclusive_slot_msg="The options --slot-index, --slot-id, --slot-description and --token-label \
are mutually exclusive."moduleArg=structletslot_index=letopenCmdliner.Arginopt(someint)None@@info~docv:"INDEX"~doc:("Token slot $(docv). "^exclusive_slot_msg)["s";"slot";"slot-index"]letslot_id=letopenCmdliner.Arginopt(someint)None@@info~docv:"ID"~doc:("Token slot $(docv). "^exclusive_slot_msg)["slot-id"]letslot_description=letopenCmdliner.Arginopt(somestring)None@@info~docv:"DESCRIPTION"~doc:("Token slot $(docv). $(docv) must not exceed 64 characters. "^exclusive_slot_msg)["slot-description"]lettoken_label=letopenCmdliner.Arginopt(somestring)None@@info~docv:"LABEL"~doc:("Token $(docv). $(docv) must not exceed 32 characters. "^exclusive_slot_msg)["token-label"]letdll=letopenCmdliner.Arginopt(somestring)None@@info~docv:"DLL"~doc:"PKCS#11 DLL to load."["d";"dll"]letpin=letopenCmdliner.Arginopt(somestring)None@@info~docv:"PIN"~doc:"$(docv)"["p";"pin"]letload_mode=letopenCmdliner.Arginletauto=info~doc:"Try to use C_GetFunctionList, and if it fails, try again without \
using it."["indirect_or_direct"]inletffi=info~doc:"Do not use C_GetFunctionList."["direct"]invflagP11.Load_mode.auto[(P11.Load_mode.auto,auto);(P11.Load_mode.ffi,ffi)]letuser_type=letopenCmdliner.Arginletconverter=enum[("user",P11.User_type.CKU_USER);("so",P11.User_type.CKU_SO)]inopt(someconverter)None@@info~docv:"USER TYPE"~doc:"Define the $(docv) to use. May be $(i,user) or $(i,so)."["user-type"]endmoduleTerm=structletslot_index=Cmdliner.Arg.valueArg.slot_indexletslot_id=Cmdliner.Arg.valueArg.slot_idletslot_description=Cmdliner.Arg.valueArg.slot_descriptionlettoken_label=Cmdliner.Arg.valueArg.token_labelletslotindexiddescrlabel=letopenP11.Slotinmatch(index,id,descr,label)with|(None,None,None,None)->`OkNone|(Somei,None,None,None)->`Ok(Some(Indexi))|(None,Somei,None,None)->`Ok(Some(Idi))|(None,None,Somes,None)->ifString.lengths<=64then`Ok(Some(Descriptions))else`Error(true,"DESCRIPTION must not exceed 64 characters")|(None,None,None,Somes)->ifString.lengths<=32then`Ok(Some(Labels))else`Error(true,"LABEL must not exceed 32 characters")|_->`Error(true,exclusive_slot_msg)letslot=letopenCmdliner.Terminret(constslot$slot_index$slot_id$slot_description$token_label)letpin=Cmdliner.Arg.valueArg.pinletload_mode=Cmdliner.Arg.valueArg.load_modeletuser_type=Cmdliner.Arg.valueArg.user_typeend