Index: trunk/Ohana/src/libohana/include/ohana.h
===================================================================
--- trunk/Ohana/src/libohana/include/ohana.h	(revision 32632)
+++ trunk/Ohana/src/libohana/include/ohana.h	(revision 33646)
@@ -215,4 +215,7 @@
 */
 # define OHANA_WHITESPACE(c)(((c) == 0x09) || ((c) == 0x0a) || ((c) == 0x0b) || ((c) == 0x0b) || ((c) == 0x0c) || ((c) == 0x0d) || ((c) == 0x20))
+# define OHANA_ASSERT(LOGIC,...) { if (!(LOGIC)) { fprintf (stderr, __VA_ARGS__); abort(); } }
+# define myAssert(LOGIC,...) { if (!(LOGIC)) { fprintf (stderr, __VA_ARGS__); abort(); } }
+# define myAbort(MSG) { fprintf (stderr, "%s\n", MSG); abort(); }
 
 // sorting is now defined as a macro call
@@ -236,6 +239,11 @@
 char   *strncreate             PROTO((char *string, int n));
 int     scan_line              PROTO((FILE *f, char *line)); 
+int     scan_line_maxlen       PROTO((FILE *f, char *line, int maxlen)); 
 int     dparse                 PROTO((double *X, int NX, char *line));
 int     dparse_csv             PROTO((double *X, int NX, char *line));
+int     iparse                 PROTO((int *X, int NX, char *line));
+int     iparse_csv             PROTO((int *X, int NX, char *line));
+int     tparse                 PROTO((time_t *X, int NX, char *line));
+int     tparse_csv             PROTO((time_t *X, int NX, char *line));
 int     fparse                 PROTO((float *X, int NX, char *line));
 int     get_argument           PROTO((int argc, char **argv, char *arg));
@@ -256,4 +264,5 @@
 int     check_dir_access       PROTO((char *path, int verbose));
 int     check_file_exec        PROTO((char *filename));
+char   *abspath                PROTO((char *oldpath, int maxlength));
 
 /* in glockfile.c */
@@ -323,4 +332,7 @@
 off_t   Fwrite                 PROTO((void *ptr, off_t size, off_t nitems, FILE *f, char *type));
 
+char   *memstr                 PROTO((char *m1, char *m2, int n));
+int     write_fmt              PROTO((int fd, char *format, ...));
+
 char   **isolate_elements      PROTO((int argc, char **argv, int *nstack));
 
@@ -332,4 +344,15 @@
 // gprint gets a stub implementation in libohana. opihi implements the real one.
 int    gprint (gpDest dest, char *format, ...);
+
+// rconnect is used to run remote programs with a pipe for communication
+typedef enum {
+  RCONNECT_ERR_NONE    = 0,
+  RCONNECT_ERR_EXEC    = 1,
+  RCONNECT_ERR_PIPE    = 2,
+  RCONNECT_ERR_CONNECT = 3,
+} RconnectErrors;
+
+void rconnect_set_timeout (int timeout);
+int rconnect (char *command, char *hostname, char *shell, int *stdio, int *errorInfo, int doHandshake);
 
 /*
