MEDIUM: h1: make the parser support a pointer to a start line

This will allow the parser to fill some extra fields like the method or
status without having to store them permanently in the HTTP message. At
this point however the parser cannot restart from an interrupted read.
diff --git a/include/types/h1.h b/include/types/h1.h
index 7edfbd8..c6c97dc 100644
--- a/include/types/h1.h
+++ b/include/types/h1.h
@@ -22,6 +22,8 @@
 #ifndef _TYPES_H1_H
 #define _TYPES_H1_H
 
+#include <common/http.h>
+
 /* Legacy version of the HTTP/1 message state, used by the channels, should
  * ultimately be removed.
  */
@@ -161,4 +163,20 @@
 	int err_state;              // state where the first error was met (H1 or H2)
 };
 
+/* basic H1 start line, describes either the request and the response */
+union h1_sl {                          /* useful start line pointers, relative to ->sol */
+	struct {
+		int m, m_l;            /* METHOD, length */
+		int u, u_l;            /* URI, length */
+		int v, v_l;            /* VERSION, length */
+		enum http_meth_t meth; /* method */
+	} rq;                          /* request line : field, length */
+	struct {
+		int v, v_l;            /* VERSION, length */
+		int c, c_l;            /* CODE, length */
+		int r, r_l;            /* REASON, length */
+		uint16_t status;       /* status code */
+	} st;                          /* status line : field, length */
+};
+
 #endif /* _TYPES_H1_H */