Merge "minijail: add minijail_run_pid_pipes_no_preload() API function"
diff --git a/libminijail.c b/libminijail.c
index 2b055e0..cf56849 100644
--- a/libminijail.c
+++ b/libminijail.c
@@ -1263,6 +1263,14 @@
 				     false);
 }
 
+int API minijail_run_pid_pipes_no_preload(struct minijail *j,
+					  const char *filename, char *const argv[],
+					  pid_t *pchild_pid,
+					  int *pstdin_fd, int *pstdout_fd, int *pstderr_fd) {
+	return minijail_run_internal(j, filename, argv, pchild_pid,
+				     pstdin_fd, pstdout_fd, pstderr_fd, false);
+}
+
 int minijail_run_internal(struct minijail *j, const char *filename,
 			  char *const argv[], pid_t *pchild_pid,
 			  int *pstdin_fd, int *pstdout_fd, int *pstderr_fd,
diff --git a/libminijail.h b/libminijail.h
index d6c3c42..bdf08eb 100644
--- a/libminijail.h
+++ b/libminijail.h
@@ -167,6 +167,20 @@
 			   char *const argv[], pid_t *pchild_pid,
 			   int *pstdin_fd, int *pstdout_fd, int *pstderr_fd);
 
+/* Run the specified command in the given minijail, execve(2)-style.
+ * Update |*pchild_pid| with the pid of the child.
+ * Update |*pstdin_fd| with a fd that allows writing to the child's
+ * standard input.
+ * Update |*pstdout_fd| with a fd that allows reading from the child's
+ * standard output.
+ * Update |*pstderr_fd| with a fd that allows reading from the child's
+ * standard error.
+ * Used with static binaries, or on systems without support for LD_PRELOAD.
+ */
+int minijail_run_pid_pipes_no_preload(struct minijail *j, const char *filename,
+				      char *const argv[], pid_t *pchild_pid,
+				      int *pstdin_fd, int *pstdout_fd, int *pstderr_fd);
+
 /* Kill the specified minijail. The minijail must have been created with pid
  * namespacing; if it was, all processes inside it are atomically killed.
  */