diff --git a/src/mesa.h b/src/mesa.h
new file mode 100644
index 0000000000000000000000000000000000000000..a296aba7aaf5b1d0705d9247761f0bb01912e8ce
--- /dev/null
+++ b/src/mesa.h
@@ -0,0 +1,32 @@
+#ifndef H_MESA_H
+#define H_MESA_H
+
+#include "baralho.h"
+
+Carta verificaTopo (Monte deck, Baralho bar);
+void troca_periferia (Monte mesa[24], int i, int ir, int j, int jr);
+void embaralha_periferia (Monte mesa[24]);
+void inicializa_mesa (Monte mesa[24]);
+void cria_blocos_centrais (Monte mesa[24]);
+void distribui_periferia (Monte mesa[24], Baralho bar, int cartas_restantes);
+int segundos (tm* myTime);
+void imprime_tabuleiro (Monte mesa[24], Baralho bar);
+int converte_minutos (int tempo);
+int jogada_possivel_ori (Monte mesa[24], Carta busca_ori, Baralho bar);
+int posicao_ori (Monte mesa[24], Carta busca, Baralho bar);
+int jogada_possivel_dest (Monte mesa[24], Carta mao_ori, Carta busca_dest, Baralho bar);
+int posicao_dest (Monte mesa[24], Carta busca_dest, Baralho bar);
+int ganhou (Monte mesa[24], Baralho bar);
+void insere_ordenado (int *v, int a, int b);
+void ins_sort (int *v, int a, int b);
+void analiza_tempo (FILE *entrada, int inicio, int atual);
+void reseta_baralho (Carta baralho[]);
+void recolhe_periferia (Carta mesa[][24], Carta baralho[], int cartas_restantes);
+void reseta_mesa (Carta mesa[][24]);
+void imrpime_melhores_tempos (FILE *placar);
+int numero_do_save ();
+void salva_jogo (Monte mesa[23], Baralho bar, int modo, int embaralhamentos, int tempo_de_jogo, int atual, int inicio, int saveNum, int perdeu);
+void carrega_jogo (Monte mesa[23], Baralho bar, int *modo, int *embaralhamentos, int *tempo_de_jogo, int *atual, int *inicio, int saveNum, int *perdeu);
+int saves_encontrados ();
+
+#endif