00001
00004 #ifndef RAZORBACK_UUIDS_H
00005 #define RAZORBACK_UUIDS_H
00006
00007 #include <uuid/uuid.h>
00008
00009 #include <razorback/visibility.h>
00010 #include <razorback/types.h>
00011 #ifdef __cplusplus
00012 extern "C" {
00013 #endif
00014
00015 struct UUIDListNode
00016 {
00017 uuid_t uuid;
00018 char *sName;
00019 char *sDescription;
00020 struct UUIDListNode *pNext;
00021 };
00025 #define UUID_TYPE_DATA_TYPE 1 ///< Data Type
00026 #define UUID_TYPE_INTEL_TYPE 2 ///< Intel Type
00027 #define UUID_TYPE_NTLV_TYPE 3 ///< NTLV Type
00028 #define UUID_TYPE_NUGGET 4 ///< Nugget
00029 #define UUID_TYPE_NUGGET_TYPE 5 ///< Nugget Type
00030 #define UUID_TYPE_NTLV_NAME 6 ///< NTLV Name
00031
00032
00033
00034
00038 #define NUGGET_TYPE_CORRELATION "CORRELATION"
00039 #define NUGGET_TYPE_INTEL "INTEL"
00040 #define NUGGET_TYPE_DEFENSE "DEFENSE"
00041 #define NUGGET_TYPE_OUTPUT "OUTPUT"
00042 #define NUGGET_TYPE_COLLECTION "COLLECTION"
00043 #define NUGGET_TYPE_INSPECTION "INSPECTION"
00044 #define NUGGET_TYPE_MASTER "MASTER"
00045 #define NUGGET_TYPE_DISPATCHER "DISPATCHER"
00046
00047 #define DATA_TYPE_ANY_DATA "ANY_DATA"
00048 #define DATA_TYPE_FLASH_FILE "FLASH_FILE"
00049 #define DATA_TYPE_JAVASCRIPT "JAVASCRIPT"
00050 #define DATA_TYPE_OLE_FILE "OLE_FILE"
00051 #define DATA_TYPE_PAR2_FILE "PAR2_FILE"
00052 #define DATA_TYPE_PAR_FILE "PAR_FILE"
00053 #define DATA_TYPE_PDF_FILE "PDF_FILE"
00054 #define DATA_TYPE_PE_FILE "PE_FILE"
00055 #define DATA_TYPE_RAR_FILE "RAR_FILE"
00056 #define DATA_TYPE_SHELL_CODE "SHELL_CODE"
00057 #define DATA_TYPE_SMTP_CAPTURE "SMTP_CAPTURE"
00058 #define DATA_TYPE_TAR_FILE "TAR_FILE"
00059 #define DATA_TYPE_ZIP_FILE "ZIP_FILE"
00060 #define DATA_TYPE_BZ2_FILE "BZ2_FILE"
00061 #define DATA_TYPE_GZIP_FILE "GZIP_FILE"
00062 #define DATA_TYPE_COMPRESSION_FILE "COMPRESSION_FILE"
00063 #define DATA_TYPE_LZMA_FILE "LZMA_FILE"
00064 #define DATA_TYPE_XZ_FILE "XZ_FILE"
00065
00066 #define DATA_TYPE_AR_FILE "AR_FILE"
00067 #define DATA_TYPE_CPIO_FILE "CPIO_FILE"
00068 #define DATA_TYPE_ISO9660_FILE "ISO9660_FILE"
00069 #define DATA_TYPE_ELF_FILE "ELF_FILE"
00070
00071 #define NTLV_NAME_SOURCE "SOURCE"
00072 #define NTLV_NAME_DEST "DEST"
00073 #define NTLV_NAME_FILENAME "FILENAME"
00074 #define NTLV_NAME_HOSTNAME "HOSTNAME"
00075 #define NTLV_NAME_PATH "PATH"
00076 #define NTLV_NAME_MALWARENAME "MALWARENAME"
00077 #define NTLV_NAME_REPORT "REPORT"
00078 #define NTLV_NAME_CVE "CVE"
00079 #define NTLV_NAME_BID "BID"
00080 #define NTLV_NAME_OSVDB "OSVDB"
00081 #define NTLV_NAME_URI "URI"
00082 #define NTLV_NAME_HTTP_REQUEST "HTTP_REQUEST"
00083 #define NTLV_NAME_HTTP_RESPONSE "HTTP_RESPONSE"
00084
00085 #define NTLV_TYPE_IPv6_ADDR "IPv6_ADDR"
00086 #define NTLV_TYPE_IPv4_ADDR "IPv4_ADDR"
00087 #define NTLV_TYPE_PORT "PORT"
00088 #define NTLV_TYPE_STRING "STRING"
00089 #define NTLV_TYPE_IPPROTO "IPPROTO"
00090
00092
00099 SO_PUBLIC extern bool UUID_Get_UUID (const char *p_sName, int p_iType, uuid_t r_uuid);
00100
00107 SO_PUBLIC extern char *UUID_Get_Description (const char *p_sName, int p_iType);
00108
00116 SO_PUBLIC extern char *UUID_Get_NameByUUID (uuid_t p_uuid, int p_iType);
00123 SO_PUBLIC extern char *UUID_Get_DescriptionByUUID (uuid_t p_uuid, int p_iType);
00124
00131 SO_PUBLIC extern char *UUID_Get_UUIDAsString (const char *p_sName, int p_iType);
00132
00133 SO_PUBLIC extern struct List * UUID_Create_List (void);
00134 SO_PUBLIC extern bool UUID_Add_List_Entry(struct List *list, uuid_t uuid, const char *name, const char *desc);
00135
00136 SO_PUBLIC extern struct List * UUID_Get_List(int type);
00137 SO_PUBLIC extern size_t UUIDList_BinarySize(struct List *list);
00138
00139 #ifdef __cplusplus
00140 }
00141 #endif
00142 #endif