#[doc = " \\brief Maps the ALPROTO_*, to its string equivalent.\n\n \\param alproto App layer protocol id.\n\n \\retval String equivalent for the alproto."]
pub fn AppProtoToString(alproto: AppProto) -> *const ::std::os::raw::c_char;
}
+extern "C" {
+ pub fn AppProtoNewProtoFromString(proto_name: *const ::std::os::raw::c_char) -> AppProto;
+}
extern "C" {
pub fn AppProtoRegisterProtoString(
alproto: AppProto, proto_name: *const ::std::os::raw::c_char,
return ALPROTO_UNKNOWN;
}
+AppProto AppProtoNewProtoFromString(const char *proto_name)
+{
+ AppProtoRegisterProtoString(g_alproto_max, proto_name);
+ return g_alproto_max - 1;
+}
+
void AppProtoRegisterProtoString(AppProto alproto, const char *proto_name)
{
if (alproto < ALPROTO_MAX_STATIC) {
*/
AppProto StringToAppProto(const char *proto_name);
+AppProto AppProtoNewProtoFromString(const char *proto_name);
+
void AppProtoRegisterProtoString(AppProto alproto, const char *proto_name);
#endif /* SURICATA_APP_LAYER_PROTOS_H */
int SCPluginRegisterAppLayer(SCAppLayerPlugin *plugin)
{
- AppProto alproto = g_alproto_max;
- AppProtoRegisterProtoString(alproto, plugin->name);
+ AppProto alproto = AppProtoNewProtoFromString(plugin->name);
if (plugin->Register) {
if (AppLayerParserPreRegister(plugin->Register) != 0) {
return 1;