--- a/src/ulfius.c
+++ b/src/ulfius.c
@@ -61,7 +61,7 @@ int y_close_logs() {
 /**
  * Fill a map with the key/values specified
  */
-static int ulfius_fill_map_check_utf8(void * cls, enum MHD_ValueKind kind, const char * key, const char * value) {
+static enum MHD_Result ulfius_fill_map_check_utf8(void * cls, enum MHD_ValueKind kind, const char * key, const char * value) {
   char * tmp;
   int res;
   UNUSED(kind);
@@ -94,7 +94,7 @@ static int ulfius_fill_map_check_utf8(void * cls, enum MHD_ValueKind kind, const
 /**
  * Fill a map with the key/values specified
  */
-static int ulfius_fill_map(void * cls, enum MHD_ValueKind kind, const char * key, const char * value) {
+static enum MHD_Result ulfius_fill_map(void * cls, enum MHD_ValueKind kind, const char * key, const char * value) {
   char * tmp;
   int res;
   UNUSED(kind);
@@ -290,7 +290,7 @@ void mhd_request_completed (void *cls, struct MHD_Connection *connection,
  * if a parameter is larger than max_post_param_size, truncate it
  * return MHD_NO on error
  */
-static int mhd_iterate_post_data (void * coninfo_cls, enum MHD_ValueKind kind, const char * key,
+static enum MHD_Result mhd_iterate_post_data (void * coninfo_cls, enum MHD_ValueKind kind, const char * key,
                                   const char * filename, const char * content_type,
                                   const char * transfer_encoding, const char * data, uint64_t off, size_t size) {
   
@@ -352,7 +352,7 @@ static int mhd_iterate_post_data (void * coninfo_cls, enum MHD_ValueKind kind, c
  * function executed by libmicrohttpd every time an HTTP call is made
  * return MHD_NO on error
  */
-static int ulfius_webservice_dispatcher (void * cls, 
+static enum MHD_Result ulfius_webservice_dispatcher (void * cls,
                                          struct MHD_Connection * connection,
                                          const char * url, 
                                          const char * method,
@@ -363,7 +363,8 @@ static int ulfius_webservice_dispatcher (void * cls,
 
   struct _u_endpoint * endpoint_list = ((struct _u_instance *)cls)->endpoint_list, ** current_endpoint_list = NULL, * current_endpoint = NULL;
   struct connection_info_struct * con_info = * con_cls;
-  int mhd_ret = MHD_NO, callback_ret = U_OK, i, close_loop = 0, inner_error = U_OK, mhd_response_flag;
+  enum MHD_Result mhd_ret = MHD_NO;
+  int callback_ret = U_OK, i, close_loop = 0, inner_error = U_OK, mhd_response_flag;
 #ifndef U_DISABLE_WEBSOCKET
   // Websocket variables
   int upgrade_protocol = 0;
