+ /* parse service value */
+ case COND_TYPE_HLC:
+ if (!strncasecmp("telephony", p, 9)) {
+ cond->integer_value = INFO_HLC_TELEPHONY;
+ p += 9;
+ } else if (!strncasecmp("faxg2g3", p, 7)) {
+ cond->integer_value = INFO_HLC_FAXG2G3;
+ p += 7;
+ } else if (!strncasecmp("faxg4", p, 5)) {
+ cond->integer_value = INFO_HLC_FAXG4;
+ p += 5;
+ } else if (!strncasecmp("teletex1", p, 8)) {
+ cond->integer_value = INFO_HLC_TELETEX1;
+ p += 8;
+ } else if (!strncasecmp("teletex2", p, 8)) {
+ cond->integer_value = INFO_HLC_TELETEX2;
+ p += 8;
+ } else if (!strncasecmp("teletex3", p, 8)) {
+ cond->integer_value = INFO_HLC_TELETEX3;
+ p += 8;
+ } else if (!strncasecmp("videotex1", p, 9)) {
+ cond->integer_value = INFO_HLC_VIDEOTEX1;
+ p += 9;
+ } else if (!strncasecmp("videotex2", p, 9)) {
+ cond->integer_value = INFO_HLC_VIDEOTEX2;
+ p += 9;
+ } else if (!strncasecmp("telex", p, 5)) {
+ cond->integer_value = INFO_HLC_TELEX;
+ p += 5;
+ } else if (!strncasecmp("mhs", p, 3)) {
+ cond->integer_value = INFO_HLC_MHS;
+ p += 3;
+ } else if (!strncasecmp("osi", p, 3)) {
+ cond->integer_value = INFO_HLC_OSI;
+ p += 3;
+ } else if (!strncasecmp("maintenance", p, 11)) {
+ cond->integer_value = INFO_HLC_MAINTENANCE;
+ p += 11;
+ } else if (!strncasecmp("management", p, 10)) {
+ cond->integer_value = INFO_HLC_MANAGEMENT;
+ p += 10;
+ } else if (!strncasecmp("audiovisual", p, 11)) {
+ cond->integer_value = INFO_HLC_AUDIOVISUAL;
+ p += 11;
+ } else {
+ SPRINT(failure, "Given HLC type is invalid or misspelled.");
+ goto parse_error;
+ }
+ cond->value_type = VALUE_TYPE_INTEGER;
+ break;
+