diff --git a/include/types/acl.h b/include/types/acl.h
index 3d44284..04318ea 100644
--- a/include/types/acl.h
+++ b/include/types/acl.h
@@ -42,7 +42,7 @@
  *   - FAIL : no mattern may ever match
  *
  * We assign values 0, 1 and 3 to FAIL, MISS and PASS respectively, so that we
- * can make use of standard arithmetics for the truth tables below :
+ * can make use of standard arithmetic for the truth tables below :
  *
  *      x  | !x          x&y | F(0) | M(1) | P(3)     x|y | F(0) | M(1) | P(3)
  *   ------+-----       -----+------+------+-----    -----+------+------+-----
diff --git a/include/types/applet.h b/include/types/applet.h
index 0f10e26..b990726 100644
--- a/include/types/applet.h
+++ b/include/types/applet.h
@@ -39,7 +39,7 @@
 	enum obj_type obj_type;            /* object type = OBJ_TYPE_APPLET */
 	/* 3 unused bytes here */
 	char *name;                        /* applet's name to report in logs */
-	int (*init)(struct appctx *, struct proxy *px, struct stream *strm);   /* callback to init ressources, may be NULL.
+	int (*init)(struct appctx *, struct proxy *px, struct stream *strm);   /* callback to init resources, may be NULL.
 	                                     expect 1 if ok, 0 if an error occurs, -1 if miss data. */
 	void (*fct)(struct appctx *);      /* internal I/O handler, may never be NULL */
 	void (*release)(struct appctx *);  /* callback to release resources, may be NULL */
@@ -114,7 +114,7 @@
 			struct cache_entry *entry;  /* Entry to be sent from cache. */
 			unsigned int sent;          /* The number of bytes already sent for this cache entry. */
 			unsigned int offset;        /* start offset of remaining data relative to beginning of the next block */
-			unsigned int rem_data;      /* Remaing bytes for the last data block (HTX only, 0 means process next block) */
+			unsigned int rem_data;      /* Remaining bytes for the last data block (HTX only, 0 means process next block) */
 			struct shared_block *next;  /* The next block of data to be sent for this cache entry. */
 		} cache;
 		/* all entries below are used by various CLI commands, please
diff --git a/include/types/compression.h b/include/types/compression.h
index e515aad..fc2ad26 100644
--- a/include/types/compression.h
+++ b/include/types/compression.h
@@ -57,7 +57,7 @@
 	int cur_lvl;
 };
 
-/* Thanks to MSIE/IIS, the "deflate" name is ambigous, as according to the RFC
+/* Thanks to MSIE/IIS, the "deflate" name is ambiguous, as according to the RFC
  * it's a zlib-wrapped deflate stream, but MSIE only understands a raw deflate
  * stream. For this reason some people prefer to emit a raw deflate stream on
  * "deflate" and we'll need two algos for the same name, they are distinguished
diff --git a/include/types/dns.h b/include/types/dns.h
index 7e592b2..9926de0 100644
--- a/include/types/dns.h
+++ b/include/types/dns.h
@@ -46,7 +46,7 @@
 #define DNS_MAX_NAME_SIZE    255
 #define DNS_MAX_UDP_MESSAGE  8192
 
-/* DNS minimun record size: 1 char + 1 NULL + type + class */
+/* DNS minimum record size: 1 char + 1 NULL + type + class */
 #define DNS_MIN_RECORD_SIZE  (1 + 1 + 2 + 2)
 
 /* DNS smallest fqdn 'a.gl' size */
@@ -151,7 +151,7 @@
 	struct sockaddr address;                     /* IPv4 or IPv6, network format */
 	char            target[DNS_MAX_NAME_SIZE+1]; /* Response data: SRV or CNAME type target */
 	time_t          last_seen;                   /* When was the answer was last seen */
-	struct dns_answer_item *ar_item;             /* pointer to a RRset from the additionnal section, if exists */
+	struct dns_answer_item *ar_item;             /* pointer to a RRset from the additional section, if exists */
 	struct list     list;
 };
 
diff --git a/include/types/hlua.h b/include/types/hlua.h
index 4145086..28ed9bd 100644
--- a/include/types/hlua.h
+++ b/include/types/hlua.h
@@ -124,7 +124,7 @@
 	struct hlua_txn htxn;
 };
 
-/* This struc is used with sample fetches and sample converters. */
+/* This struct is used with sample fetches and sample converters. */
 struct hlua_smp {
 	struct stream *s;
 	struct proxy *p;
diff --git a/include/types/map.h b/include/types/map.h
index cea5aa5..750da56 100644
--- a/include/types/map.h
+++ b/include/types/map.h
@@ -28,7 +28,7 @@
 struct map_descriptor {
 	struct sample_conv *conv;      /* original converter descriptor */
 	struct pattern_head pat;       /* the pattern matching associated to the map */
-	int do_free;                   /* set if <pat> is the orignal pat and must be freed */
+	int do_free;                   /* set if <pat> is the original pat and must be freed */
 };
 
 #endif /* _TYPES_MAP_H */
diff --git a/include/types/server.h b/include/types/server.h
index 1e5e031..48582e6 100644
--- a/include/types/server.h
+++ b/include/types/server.h
@@ -222,7 +222,7 @@
 
 	struct eb_root pendconns;		/* pending connections */
 	struct list actconns;			/* active connections */
-	struct mt_list *idle_conns;		/* sharable idle connections*/
+	struct mt_list *idle_conns;		/* shareable idle connections*/
 	struct mt_list *safe_conns;		/* safe idle connections */
 	struct list *available_conns;           /* Connection in used, but with still new streams available */
 	unsigned int pool_purge_delay;          /* Delay before starting to purge the idle conns pool */
@@ -231,7 +231,7 @@
 	unsigned int curr_idle_nb;              /* Current number of connections in the idle list */
 	unsigned int curr_safe_nb;              /* Current number of connections in the safe list */
 	unsigned int curr_used_conns;           /* Current number of used connections */
-	unsigned int max_used_conns;            /* Max number of used connections (the counter is resetted at each connection purges */
+	unsigned int max_used_conns;            /* Max number of used connections (the counter is reset at each connection purges */
 	unsigned int *curr_idle_thr;            /* Current number of orphan idling connections per thread */
 	int max_reuse;                          /* Max number of requests on a same connection */
 	struct eb32_node idle_node;             /* When to next do cleanup in the idle connections */
diff --git a/include/types/spoe.h b/include/types/spoe.h
index 2dbf6e5..eaa0ef0 100644
--- a/include/types/spoe.h
+++ b/include/types/spoe.h
@@ -132,7 +132,7 @@
 	SPOE_CTX_ERRS,
 };
 
-/* Errors triggerd by SPOE applet */
+/* Errors triggered by SPOE applet */
 enum spoe_frame_error {
 	SPOE_FRM_ERR_NONE = 0,
 	SPOE_FRM_ERR_IO,
@@ -269,7 +269,7 @@
 		struct freq_ctr processing_per_sec;
 
 		struct freq_ctr conn_per_sec;   /* connections per second */
-		struct freq_ctr err_per_sec;    /* connetion errors per second */
+		struct freq_ctr err_per_sec;    /* connection errors per second */
 
 		struct eb_root  idle_applets;   /* idle SPOE applets available to process data */
 		struct list     applets;        /* all SPOE applets for this agent */
@@ -307,7 +307,7 @@
 	struct list        *groups;       /* List of available SPOE group */
 
 	struct buffer       buffer;       /* Buffer used to store a encoded messages */
-	struct buffer_wait  buffer_wait;  /* position in the list of ressources waiting for a buffer */
+	struct buffer_wait  buffer_wait;  /* position in the list of resources waiting for a buffer */
 	struct list         list;
 
 	enum spoe_ctx_state state;        /* SPOE_CTX_ST_* */
@@ -359,7 +359,7 @@
 #endif
 
 	struct buffer       buffer;         /* Buffer used to store a encoded messages */
-	struct buffer_wait  buffer_wait;    /* position in the list of ressources waiting for a buffer */
+	struct buffer_wait  buffer_wait;    /* position in the list of resources waiting for a buffer */
 	struct list         waiting_queue;  /* list of streams waiting for a ACK frame, in sync and pipelining mode */
 	struct list         list;           /* next spoe appctx for the same agent */
 	struct eb32_node    node;           /* node used for applets tree */
