Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file pkcs11_cli.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136letexclusive_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"]letuse_get_function_list=letopenCmdliner.Arginletauto=info~doc:"Try to use C_GetFunctionList, and if it fails, try again without using it."["indirect_or_direct"]inlettrue_=info~doc:"Use C_GetFunctionList."["indirect"]inletfalse_=info~doc:"Do not use C_GetFunctionList."["direct"]invflag`Auto[`Auto,auto;`True,true_;`False,false_]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.Slotinmatchindex,id,descr,labelwith|None,None,None,None->`Ok(None)|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.pinletuse_get_function_list=Cmdliner.Arg.valueArg.use_get_function_listletuser_type=Cmdliner.Arg.valueArg.user_typeend