diff --git a/include/types/connection.h b/include/types/connection.h
index 98f7638..8780590 100644
--- a/include/types/connection.h
+++ b/include/types/connection.h
@@ -253,7 +253,7 @@
 	CO_ER_SSL_TIMEOUT,      /* timeout during SSL handshake */
 	CO_ER_SSL_TOO_MANY,     /* too many SSL connections */
 	CO_ER_SSL_NO_MEM,       /* no more memory to allocate an SSL connection */
-	CO_ER_SSL_RENEG,        /* forbidden client renegociation */
+	CO_ER_SSL_RENEG,        /* forbidden client renegotiation */
 	CO_ER_SSL_CA_FAIL,      /* client cert verification failed in the CA chain */
 	CO_ER_SSL_CRT_FAIL,     /* client cert verification failed on the certificate */
 	CO_ER_SSL_MISMATCH,     /* Server presented an SSL certificate different from the configured one */
@@ -345,7 +345,7 @@
 /* mux_ops describes the mux operations, which are to be performed at the
  * connection level after data are exchanged with the transport layer in order
  * to propagate them to streams. The <init> function will automatically be
- * called once the mux is instanciated by the connection's owner at the end
+ * called once the mux is instantiated by the connection's owner at the end
  * of a transport handshake, when it is about to transfer data and the data
  * layer is not ready yet.
  */
@@ -370,7 +370,7 @@
 	void (*destroy)(void *ctx); /* Let the mux know one of its users left, so it may have to disappear */
 	void (*reset)(struct connection *conn); /* Reset the mux, because we're re-trying to connect */
 	const struct cs_info *(*get_cs_info)(struct conn_stream *cs); /* Return info on the specified conn_stream or NULL if not defined */
-	int (*ctl)(struct connection *conn, enum mux_ctl_type mux_ctl, void *arg); /* Provides informations about the mux */
+	int (*ctl)(struct connection *conn, enum mux_ctl_type mux_ctl, void *arg); /* Provides information about the mux */
 	int (*takeover)(struct connection *conn); /* Attempts to migrate the connection to the current thread */
 	unsigned int flags;                           /* some flags characterizing the mux's capabilities (MX_FL_*) */
 	char name[8];                                 /* mux layer name, zero-terminated */
@@ -426,14 +426,14 @@
 
 /*
  * This structure describes the info related to a conn_stream known by the mux
- * only but usefull for the upper layer.
+ * only but useful for the upper layer.
  * For now, only some dates and durations are reported. This structure will
  * envolved. But for now, only the bare minimum is referenced.
  */
 struct cs_info {
 	struct timeval create_date;  /* Creation date of the conn_stream in user date */
 	struct timeval tv_create;    /* Creation date of the conn_stream in internal date (monotonic) */
-	long t_handshake;            /* hanshake duration, -1 if never occurs */
+	long t_handshake;            /* handshake duration, -1 if never occurs */
 	long t_idle;                 /* idle duration, -1 if never occurs */
 };
 
@@ -452,7 +452,7 @@
 	unsigned int flags;           /* CO_FL_* */
 	const struct protocol *ctrl;  /* operations at the socket layer */
 	const struct xprt_ops *xprt;  /* operations at the transport layer */
-	const struct mux_ops  *mux;   /* mux layer opreations. Must be set before xprt->init() */
+	const struct mux_ops  *mux;   /* mux layer operations. Must be set before xprt->init() */
 	void *xprt_ctx;               /* general purpose pointer, initialized to NULL */
 	void *ctx;                    /* highest level context (usually the mux), initialized to NULL */
 	void *owner;                  /* pointer to the owner session, or NULL */
diff --git a/include/types/fd.h b/include/types/fd.h
index b4535af..178dea1 100644
--- a/include/types/fd.h
+++ b/include/types/fd.h
@@ -118,7 +118,7 @@
 
 /* info about one given fd */
 struct fdtab {
-	unsigned long running_mask;          /* mask of thread IDs currntly using the fd */
+	unsigned long running_mask;          /* mask of thread IDs currently using the fd */
 	unsigned long thread_mask;           /* mask of thread IDs authorized to process the fd */
 	unsigned long update_mask;           /* mask of thread IDs having an update for fd */
 	struct fdlist_entry update;          /* Entry in the global update list */
diff --git a/include/types/listener.h b/include/types/listener.h
index d4bc303..4b71ddb 100644
--- a/include/types/listener.h
+++ b/include/types/listener.h
@@ -190,7 +190,7 @@
 struct listener {
 	enum obj_type obj_type;         /* object type = OBJ_TYPE_LISTENER */
 	enum li_state state;            /* state: NEW, INIT, ASSIGNED, LISTEN, READY, FULL */
-	short int nice;                 /* nice value to assign to the instanciated tasks */
+	short int nice;                 /* nice value to assign to the instantiated tasks */
 	int fd;				/* the listen socket */
 	int luid;			/* listener universally unique ID, used for SNMP */
 	int options;			/* socket options : LI_O_* */
diff --git a/include/types/ssl_sock.h b/include/types/ssl_sock.h
index 7c21ae4..dbfa3d7 100644
--- a/include/types/ssl_sock.h
+++ b/include/types/ssl_sock.h
@@ -99,7 +99,7 @@
 	SETCERT_ST_FIN,
 };
 
-/* This is used to preload the certifcate, private key
+/* This is used to preload the certificate, private key
  * and Cert Chain of a file passed in via the crt
  * argument
  *
diff --git a/include/types/stream.h b/include/types/stream.h
index 39a6855..0dcc541 100644
--- a/include/types/stream.h
+++ b/include/types/stream.h
@@ -105,7 +105,7 @@
 	int level;                      /* log level to force + 1 if > 0, -1 = no log */
 	struct timeval accept_date;     /* date of the stream's accept() in user date */
 	struct timeval tv_accept;       /* date of the stream's accept() in internal date (monotonic) */
-	long t_handshake;               /* hanshake duration, -1 if never occurs */
+	long t_handshake;               /* handshake duration, -1 if never occurs */
 	long t_idle;                    /* idle duration, -1 if never occurs */
 	struct timeval tv_request;      /* date the request arrives, {0,0} if never occurs */
 	long  t_queue;                  /* delay before the stream gets out of the connect queue, -1 if never occurs */
