-pptp_result_code_print(const u_int8_t *result_code, int ctrl_msg_type)
-{
- printf(" RESULT_CODE(%u", *result_code);
- if (vflag) {
- switch (ctrl_msg_type) {
- case PPTP_CTRL_MSG_TYPE_SCCRP:
- switch (*result_code) {
- case 1:
- printf(":Successful channel establishment");
- break;
- case 2:
- printf(":General error");
- break;
- case 3:
- printf(":Command channel already exists");
- break;
- case 4:
- printf(":Requester is not authorized to establish a command channel");
- break;
- case 5:
- printf(":The protocol version of the requester is not supported");
- break;
- default:
- printf(":?");
- break;
- }
- break;
- case PPTP_CTRL_MSG_TYPE_StopCCRP:
- case PPTP_CTRL_MSG_TYPE_ECHORP:
- switch (*result_code) {
- case 1:
- printf(":OK");
- break;
- case 2:
- printf(":General Error");
- break;
- default:
- printf(":?");
- break;
- }
- break;
- case PPTP_CTRL_MSG_TYPE_OCRP:
- switch (*result_code) {
- case 1:
- printf(":Connected");
- break;
- case 2:
- printf(":General Error");
- break;
- case 3:
- printf(":No Carrier");
- break;
- case 4:
- printf(":Busy");
- break;
- case 5:
- printf(":No Dial Tone");
- break;
- case 6:
- printf(":Time-out");
- break;
- case 7:
- printf(":Do Not Accept");
- break;
- default:
- printf(":?");
- break;
- }
- break;
- case PPTP_CTRL_MSG_TYPE_ICRP:
- switch (*result_code) {
- case 1:
- printf(":Connect");
- break;
- case 2:
- printf(":General Error");
- break;
- case 3:
- printf(":Do Not Accept");
- break;
- default:
- printf(":?");
- break;
- }
- break;
- case PPTP_CTRL_MSG_TYPE_CDN:
- switch (*result_code) {
- case 1:
- printf(":Lost Carrier");
- break;
- case 2:
- printf(":General Error");
- break;
- case 3:
- printf(":Admin Shutdown");
- break;
- case 4:
- printf(":Request");
- default:
- printf(":?");
- break;
- break;
- }
- default:
- /* assertion error */
- break;
- }
+pptp_result_code_print(netdissect_options *ndo,
+ const nd_uint8_t result_code, int ctrl_msg_type)
+{
+ ND_PRINT(" RESULT_CODE(%u", GET_U_1(result_code));
+ if (ndo->ndo_vflag) {
+ const struct tok *dict =
+ ctrl_msg_type == PPTP_CTRL_MSG_TYPE_SCCRP ? pptp_scrrp_str :
+ ctrl_msg_type == PPTP_CTRL_MSG_TYPE_StopCCRP ? pptp_echorp_str :
+ ctrl_msg_type == PPTP_CTRL_MSG_TYPE_ECHORP ? pptp_echorp_str :
+ ctrl_msg_type == PPTP_CTRL_MSG_TYPE_OCRP ? pptp_ocrp_str :
+ ctrl_msg_type == PPTP_CTRL_MSG_TYPE_ICRP ? pptp_icrp_str :
+ ctrl_msg_type == PPTP_CTRL_MSG_TYPE_CDN ? pptp_cdn_str :
+ NULL; /* assertion error */
+ if (dict != NULL)
+ ND_PRINT(":%s",
+ tok2str(dict, "?", GET_U_1(result_code)));