diff options
Diffstat (limited to 'bwrap/config.pair.go')
| -rw-r--r-- | bwrap/config.pair.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/bwrap/config.pair.go b/bwrap/config.pair.go new file mode 100644 index 00000000..b0b1001b --- /dev/null +++ b/bwrap/config.pair.go @@ -0,0 +1,54 @@ +package bwrap + +import "strconv" + +const ( + SetEnv = iota + + Bind + BindTry + DevBind + DevBindTry + ROBind + ROBindTry + + Chmod + + pairC +) + +var pairArgs = func() (n [pairC]string) { + n[SetEnv] = "--setenv" + + n[Bind] = "--bind" + n[BindTry] = "--bind-try" + n[DevBind] = "--dev-bind" + n[DevBindTry] = "--dev-bind-try" + n[ROBind] = "--ro-bind" + n[ROBindTry] = "--ro-bind-try" + + n[Chmod] = "--chmod" + + return +}() + +func (c *Config) pairArgs() (n [pairC][][2]string) { + n[SetEnv] = make([][2]string, 0, len(c.SetEnv)) + for k, v := range c.SetEnv { + n[SetEnv] = append(n[SetEnv], [2]string{k, v}) + } + + n[Bind] = c.Bind + n[BindTry] = c.BindTry + n[DevBind] = c.DevBind + n[DevBindTry] = c.DevBindTry + n[ROBind] = c.ROBind + n[ROBindTry] = c.ROBindTry + + n[Chmod] = make([][2]string, 0, len(c.Chmod)) + for path, octal := range c.Chmod { + n[Chmod] = append(n[Chmod], [2]string{strconv.Itoa(int(octal)), path}) + } + + return +} |
