func GetAuditMessageType()

in auparse/mk_audit_msg_types.go [128:155]


func GetAuditMessageType(name string) (AuditMessageType, error) {
	name = strings.ToUpper(name)

	typ, found := auditMessageNameToType[name]
	if found {
		return typ, nil
	}

	// Parse type from UNKNOWN[1329].
	start := strings.IndexByte(name, '[')
	if start == -1 {
		return 0, errInvalidAuditMessageTypName
	}
	name = name[start+1:]

	end := strings.IndexByte(name, ']')
	if end == -1 {
		return 0, errInvalidAuditMessageTypName
	}
	name = name[:end]

	num, err := strconv.ParseUint(name, 10, 16)
	if err != nil {
		return 0, errInvalidAuditMessageTypName
	}

	return AuditMessageType(num), nil
}