diff options
Diffstat (limited to 'src/analysis/db/protocol.h')
-rw-r--r-- | src/analysis/db/protocol.h | 64 |
1 files changed, 53 insertions, 11 deletions
diff --git a/src/analysis/db/protocol.h b/src/analysis/db/protocol.h index 4bef28e..17263c8 100644 --- a/src/analysis/db/protocol.h +++ b/src/analysis/db/protocol.h @@ -47,15 +47,6 @@ -/* Comportement vis à vis des éléments */ -typedef enum _DBStorage -{ - DBS_ALL_LOCAL = 0x00, /* Enregistrements locaux */ - DBS_ALL_REMOTE = 0x01, /* Enregistrements distants */ - - DBS_MAX = 0x01 - -} DBStorage; @@ -71,17 +62,36 @@ typedef enum _ClientRole } ClientRole; +/* Niveaux de privilèges */ +typedef enum _ServerPrivLevels +{ + SPV_UNDEFINED = 0, /* Rôle non défini */ + SPV_ADMINISTRATOR = 1, /* Pleins pouvoirs */ + SPV_MANAGER = 2, /* Gestionnaire de comptes */ + SPV_CREATOR = 3, /* Gestionnaire d'analyses */ + SPV_ANALYST = 4, /* Analyste de binaires */ +} ServerPrivLevels; -/** - * Une fois la connexion établie, les paquets ont tous la forme suivante : + +/* Eléments de base nécessaires */ +typedef enum _RequiredBasics +{ + RBS_NONE = 0x0, /* (Plus) rien n'est requis */ + RBS_CONTENT = 0x1, /* Contenu binaire à analyser */ + RBS_LOADED = 0x2, /* Contenu binaire analysé */ + +} RequiredBasics; + +/** + * Une fois la connexion établie, les paquets ont tous la forme suivante : * * [ type de collection visée ; cf. DBFeatures ] * [ action à mener ; cf. DBAction ] @@ -166,6 +176,37 @@ typedef enum _DBCommand /* ------------------------ Commandes pour analyste ------------------------ */ /** + * Gestion de la commande 'DBC_SET_CONTENT'. + * + * Le client connecté envoie un paquet de la forme suivante : + * + * [ Ordre de sauvegarde : DBC_SET_CONTENT ] + * [ Quantité des données suivantes ] + * [ Position du contenu + données de stockage ] + * + * Le serveur s'exécute et renvoie un bilan : + * + * [ Ordre de sauvegarde : DBC_SET_CONTENT ] + * [ Statut d'exécution ; cf. DBError ] + * + */ + + DBC_SET_CONTENT, + + + + + + + + + + + + + + + /** * Gestion de la commande 'DBC_SAVE'. * * Le client connecté envoie un paquet de la forme suivante : @@ -377,6 +418,7 @@ typedef enum _DBError DBE_XML_VERSION_ERROR, /* Vieille archive présente */ DBE_DB_LOADING_ERROR, /* Erreur pendant le chargement*/ + DBE_WRONG_HASH, /* Empreinte inattendue */ DBE_XML_ERROR, /* Erreur lors d'une définition*/ DBE_SNAPSHOT_NOT_FOUND, /* Instantané non trouvé */ DBE_SNAPSHOT_RESTORE_FAILURE, /* Echec d'une restauration */ |