github.com/apptainer/singularity@v3.1.1+incompatible/internal/pkg/runtime/engines/singularity/rpc/args.go (about)

     1  // Copyright (c) 2018, Sylabs Inc. All rights reserved.
     2  // This software is licensed under a 3-clause BSD license. Please consult the
     3  // LICENSE.md file distributed with the sources of this project regarding your
     4  // rights to use or distribute this software.
     5  
     6  package rpc
     7  
     8  import (
     9  	"os"
    10  
    11  	"github.com/sylabs/singularity/pkg/util/loop"
    12  )
    13  
    14  // MkdirArgs defines the arguments to mkdir.
    15  type MkdirArgs struct {
    16  	Path string
    17  	Perm os.FileMode
    18  }
    19  
    20  // LoopArgs defines the arguments to create a loop device.
    21  type LoopArgs struct {
    22  	Image      string
    23  	Mode       int
    24  	Info       loop.Info64
    25  	MaxDevices int
    26  	Shared     bool
    27  }
    28  
    29  // MountArgs defines the arguments to mount.
    30  type MountArgs struct {
    31  	Source     string
    32  	Target     string
    33  	Filesystem string
    34  	Mountflags uintptr
    35  	Data       string
    36  }
    37  
    38  // ChrootArgs defines the arguments to chroot.
    39  type ChrootArgs struct {
    40  	Root   string
    41  	Method string
    42  }
    43  
    44  // HostnameArgs defines the arguments to sethostname.
    45  type HostnameArgs struct {
    46  	Hostname string
    47  }
    48  
    49  // HasNamespaceArgs defines the arguments to compare host namespace.
    50  // and RPC process
    51  type HasNamespaceArgs struct {
    52  	Pid    int
    53  	NsType string
    54  }
    55  
    56  // SetFsIDArgs defines the arguments to setfsid.
    57  type SetFsIDArgs struct {
    58  	UID int
    59  	GID int
    60  }