#!mkcmd
# op helment/jacket interface						(ksb)
# This is the API op 2.62 or better uses.
# usage [-P pid] [-u user] [-g group] [-m mac] [-f file] [-R root] -C config \
#	-- mnemonic program euid:egid cred_type:cred
# This is not a normal option bundle, since it includes "left"
#
# You need to implement "exit" or "list" for your checks, check "fJacket" to
# see if you are called as a jacket (else you are a helmet).
%i
/* $Id: api_jacket.m,v 8.7 2012/08/12 18:18:37 ksb Exp $
 * from /usr/msrc/local/lib/mkcmd/RCS/jacket.m
 */
%%

number {
	hidden named "iOpAPIVersion"
	init "1"
	help "the planned API version op may pass in the future"
}
int 'P' {
	track "fJacket"
	named "iPid"
	param "pid"
	help "the process-id of the jacketed process (only as a jacket)"
}
char* 'C' {
	named "pcConfigFile"
	param "config"
	help "which op configuration file sourced the rule"
}
char* 'f' {
	named "pcSpecFile"
	param "file"
	help "the file specification given to op, as an absolute path"
}
char* 'g' {
	named "pcGroup"
	param "group"
	help "the group specification given to op"
}
char* 'm' {
	named "pcMac"
	param "mac"
	help "the (complete) MAC label to be assigned to the process"
}
char* 'R' {
	named "pcChRoot"
	param "root"
	help "the directory we shall chroot under"
}
integer 'j' {
	named "iJobId"
	param "job"
	help "any process-id given under -j (op version 3.x only)"
}
char* 'u' {
	named "pcLogin"
	param "user"
	help "the user specification given to op"
}
char* named "pcMnemonic" {
	param "mnemonic"
	help "the requested mnemonic"
}
char* named "pcProgram" {
	param "program"
	help "the program mapped from the mnemonic"
}
char* named "pcEuidEgid" {
	param "euid:egid"
	help "the computed effective uid and gid"
}
char* named "pcCreds" {
	param "cred_type:cred"
	help "the credential type that granted access (groups, users, or netgroups), plus the matching element "
}

left "pcMnemonic" "pcProgram" "pcEuidEgid" "pcCreds" {
}
