-extern void FCGI_RejectJSON(FCGIContext *context);
-extern void * FCGI_RequestLoop (void *data);
-#define FCGI_PrintRaw FCGI_JSONValue // Functionality is identical
+extern char *FCGI_EscapeJSON(char *buf);
+extern void FCGI_RejectJSONEx(FCGIContext *context, StatusCodes status, const char *description);
+extern void *FCGI_RequestLoop (void *data);
+
+extern void FCGI_WriteBinary(void * data, size_t size, size_t num_elem);
+
+/**
+ * Shortcut to calling FCGI_RejectJSONEx. Sets the error code
+ * to STATUS_ERROR.
+ * @param context The context to work in
+ * @param description A short description of why the request was rejected.
+ * @see FCGI_RejectJSONEx
+ */
+#define FCGI_RejectJSON(context, description) FCGI_RejectJSONEx(context, STATUS_ERROR, description)
+
+/**
+ * Custom formatting function for the JSON value. To be used in
+ * conjunction with FCGI_JSONKey. Care should be taken to ensure
+ * that valid JSON is produced.
+ * @see FCGI_PrintRaw for calling syntax
+ */
+#define FCGI_JSONValue FCGI_PrintRaw