/usr/include/singularity/image.h is in singularity-container 2.4.2-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | /*
* Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
*
* Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved.
*
* Copyright (c) 2016-2017, The Regents of the University of California,
* through Lawrence Berkeley National Laboratory (subject to receipt of any
* required approvals from the U.S. Dept. of Energy). All rights reserved.
*
* This software is licensed under a customized 3-clause BSD license. Please
* consult LICENSE file distributed with the sources of this project regarding
* your rights to use or distribute this software.
*
* NOTICE. This Software was developed under funding from the U.S. Department of
* Energy and the U.S. Government consequently retains certain rights. As such,
* the U.S. Government has been granted for itself and others acting on its
* behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
* to reproduce, distribute copies to the public, prepare derivative works, and
* perform publicly and display publicly, and to permit other to do so.
*
*/
#ifndef __SINGULARITY_IMAGE_H_
#define __SINGULARITY_IMAGE_H_
#define SQUASHFS 1
#define EXT3 2
#define DIRECTORY 3
struct image_object {
char *path;
char *name;
char *loopdev;
int offset;
int fd;
int type;
int writable;
};
extern struct image_object singularity_image_init(char *path, int open_flags);
int singularity_image_fd(struct image_object *object);
char *singularity_image_loopdev(struct image_object *object);
char *singularity_image_name(struct image_object *object);
char *singularity_image_path(struct image_object *object);
char *singularity_image_bind(struct image_object *object);
int singularity_image_writable(struct image_object *object);
int singularity_image_type(struct image_object *object);
extern int singularity_image_mount(struct image_object *image, char *mount_point);
void singularity_limit_container_paths(struct image_object *object);
void singularity_limit_container_owners(struct image_object *object);
#define LAUNCH_STRING "#!/usr/bin/env run-singularity\n"
#endif
|