summaryrefslogtreecommitdiff
path: root/src/analysis/db/protocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/db/protocol.h')
-rw-r--r--src/analysis/db/protocol.h42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/analysis/db/protocol.h b/src/analysis/db/protocol.h
index f673c4b..41e3ae7 100644
--- a/src/analysis/db/protocol.h
+++ b/src/analysis/db/protocol.h
@@ -29,8 +29,12 @@
/**
* Version de la définition courante du protocole.
*/
-#define CDB_PROTOCOL_VERSION 0xc0de0004
+#define CDB_PROTOCOL_VERSION 0xc0de0005
+/**
+ * 0xc0de0005 :
+ * - création des rôles d'aministrateur et d'analyste
+ */
@@ -58,7 +62,14 @@ typedef enum _DBStorage
+/* Rôle à envoyer lors des présentations */
+typedef enum _ClientRole
+{
+ CRL_UNDEFINED = 0, /* Rôle non défini */
+ CRL_ADMIN = 1, /* Rôle d'administrateur */
+ CRL_ANALYST = 2, /* Rôle d'analyste */
+} ClientRole;
@@ -114,9 +125,38 @@ typedef enum _DBAction
*/
typedef enum _DBCommand
{
+ /**
+ * Gestion des commandes 'DBC_HELO' et 'DBC_WELCOME'.
+ *
+ * Le client envoie un tout premier paquet de la forme suivante :
+ *
+ * [ Ordre de sauvegarde : DBC_HELO ]
+ * [ Protocole supporté : CDB_PROTOCOL_VERSION ]
+ * [ Rôle visé ; cf ClientRole ]
+ * [ Compléments selon le rôle visé ]
+ *
+ * Le serveur effectue les validations et renvoie un bilan :
+ *
+ * [ Ordre de sauvegarde : DBC_WELCOME ]
+ * [ Statut d'exécution ; cf. DBError ]
+ *
+ */
+
DBC_HELO, /* Connexion initiale C -> S */
DBC_WELCOME, /* Réponse initiale S -> C */
+
+ /* ------------------------ Commandes pour administrateur ------------------------ */
+
+
+
+ DBC_LIST_ARCHIVES, /* Fourniture des identifiants */
+
+
+
+
+ /* ------------------------ Commandes pour analyste ------------------------ */
+
/**
* Gestion de la commande 'DBC_SAVE'.
*