This adds the level 0 implementation of project pipe.
At this time, all it does is provide a way to tell if the current instance of some program has piped data being passed to it.
--- /dev/null
+/* FLL - Level 0
+ * Project: Pipe
+ * Version: 0.3.x
+ * Licenses: lgplv2.1
+ * Programmers: Kevin Day
+ * Documentation:
+ *
+ * Provides pipe functionality.
+ */
+#include <level_0/pipe.h>
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+#ifndef _di_f_pipe_exists_
+ // returns f_true if the standard input contains piped data.
+ f_return_status f_pipe_exists(){
+ struct stat st_info;
+
+ if (fstat(fileno(f_pipe), &st_info) != 0) {
+ return f_file_stat_error;
+ }
+
+ if (S_ISFIFO(st_info.st_mode)) {
+ return f_true;
+ }
+
+ return f_false;
+ }
+#endif // _di_f_pipe_exists_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
--- /dev/null
+/* FLL - Level 0
+ * Project: Pipe
+ * Version: 0.3.x
+ * Licenses: lgplv2.1
+ * Programmers: Kevin Day
+ * Documentation:
+ *
+ * Provides pipe functionality.
+ *
+ */
+#ifndef _F_pipe_h
+#define _F_pipe_h
+
+// libc includes
+#include <stdio.h>
+#include <sys/stat.h>
+
+// fll includes
+#include <level_0/errors.h>
+#include <level_0/types.h>
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+#ifndef _di_f_pipe_
+ #define f_pipe f_standard_input
+#endif // _di_f_pipe_
+
+#ifndef _di_f_pipe_exists_
+ // returns f_true if the standard input contains piped data.
+ extern f_return_status f_pipe_exists();
+#endif // _di_f_pipe_exists_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _F_pipe_h
--- /dev/null
+# fss-0000
+
+project_name f_pipe
+project_level 0
+
+version_major 0
+version_minor 3
+version_micro 0
+
+build_compiler gcc
+build_libraries -lc
+build_sources_library pipe.c
+build_sources_program
+build_sources_headers pipe.h
+build_shared yes
+
+flags_all -z now
+flags_shared
+flags_static
+flags_library -fPIC
+flags_program -fPIE