diff options
Diffstat (limited to 'epan/dissectors/packet-ses.h')
-rw-r--r-- | epan/dissectors/packet-ses.h | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/epan/dissectors/packet-ses.h b/epan/dissectors/packet-ses.h new file mode 100644 index 00000000..876cc917 --- /dev/null +++ b/epan/dissectors/packet-ses.h @@ -0,0 +1,211 @@ +/* packet-ses.h + * + * Routine to dissect ISO 8327-1 OSI Session Protocol packets + * + * Yuriy Sidelnikov <YSidelnikov@hotmail.com> + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef PACKET_SES_H +#define PACKET_SES_H + +#define PROTO_STRING_SES "ISO 8327-1 OSI Session Protocol" +#define PROTO_STRING_SES_INFO "ISO 8327-1 OSI Session Protocol." + + + +/* +* Dissect ses-encapsulated data in a TCP stream. +*/ + +/* session parms */ +#define SES_EXT_CONT 0x01 + +/* protocol versions */ +#define PROTOCOL_VERSION_1 0x01 +#define PROTOCOL_VERSION_2 0x02 + +/* enclosure item */ +#define BEGINNING_SPDU 0x01 +#define END_SPDU 0x02 + +#define DATA_TOKEN 0x01 +#define RELEASE_TOKEN 0x40 +#define SYNCHRONIZE_MINOR_TOKEN 0x04 +#define MAJOR_ACTIVITY_TOKEN 0x10 + +/* session user req flag */ +#define HALF_DUPLEX_FUNCTION_UNIT 0x0001 +#define DUPLEX_FUNCTION_UNIT 0x0002 +#define EXPEDITED_DATA_FUNCTION_UNIT 0x0004 +#define MINOR_SYNCHRONIZE_FUNCTION_UNIT 0x0008 +#define MAJOR_SYNCHRONIZE_FUNCTION_UNIT 0x0010 +#define RESYNCHRONIZE_FUNCTION_UNIT 0x0020 +#define ACTIVITY_MANAGEMENT_FUNCTION_UNIT 0x0040 +#define NEGOTIATED_RELEASE_FUNCTION_UNIT 0x0080 +#define CAPABILITY_DATA_FUNCTION_UNIT 0x0100 +#define EXCEPTION_FUNCTION_UNIT 0x0200 +#define TYPED_DATA_FUNCTION_UNIT 0x0400 +#define SYMMETRIC_SYNCHRONIZE_FUNCTION_UNIT 0x0800 +#define DATA_SEPARATION_FUNCTION_UNIT 0x1000 + +#define SES_EXCEPTION_REPORT 0x2000 +/*define SES_EXCEPTION_REPORT 0 */ +#define SES_DATA_TRANSFER 1 +#define SES_GIVE_TOKENS 1 +#define SES_PLEASE_TOKENS 2 +#define SES_EXPEDITED 5 +#define SES_PREPARE 7 +#define SES_NOT_FINISHED 8 +#define SES_FINISH 9 +#define SES_DISCONNECT 10 +#define SES_REFUSE 12 +#define SES_CONNECTION_REQUEST 13 +#define SES_CONNECTION_ACCEPT 14 +#define SES_CONNECTION_DATA_OVERFLOW 15 +#define SES_OVERFLOW_ACCEPT 16 +#define SES_GIVE_TOKENS_CONFIRM 21 +#define SES_GIVE_TOKENS_ACK 22 +#define SES_ABORT 25 +#define SES_ABORT_ACCEPT 26 +/*#define SES_ACTIVITY_INTERRUPT 25 +#define SES_ACTIVITY_INTERRUPT_ACK 26 */ +#define SES_ACTIVITY_RESUME 29 +#define SES_TYPED_DATA 33 +#define SES_RESYNCHRONIZE_ACK 34 +#define SES_MAJOR_SYNC_POINT 41 +/*#define SES_MAJOR_SYNC_POINT 41 +#define SES_ACTIVITY_END 41 */ +#define SES_MAJOR_SYNC_ACK 42 +#define SES_ACTIVITY_START 45 +#define SES_EXCEPTION_DATA 48 +#define SES_MINOR_SYNC_POINT 49 +#define SES_MINOR_SYNC_ACK 50 +#define SES_RESYNCHRONIZE 53 +#define SES_ACTIVITY_DISCARD 57 +#define SES_ACTIVITY_DISCARD_ACK 58 +#define SES_CAPABILITY 61 +#define SES_CAPABILITY_DATA_ACK 62 +#define CLSES_UNIT_DATA 64 + +/* +reason code + 0: Rejection by called SS-user; reason not specified. + 1: Rejection by called SS-user due to temporary congestion. + 2: Rejection by called SS-user. Subsequent octets may be used + for user data up to a length of 512 octets if Protocol + Version 1 has been selected, and up to a length such that + the total length (including SI and LI) of the SPDU does + not exceed 65 539 octets if Protocol Version 2 has been + selected. + 128 + 1: Session Selector unknown. + 128 + 2: SS-user not attached to SSAP. + 128 + 3: SPM congestion at connect time. + 128 + 4: Proposed protocol versions not supported. + 128 + 5: Rejection by the SPM; reason not specified. + 128 + 6: Rejection by the SPM; implementation restriction stated in the + PICS. +*/ +#define reason_not_specified 0 +#define temporary_congestion 1 +#define Subsequent 2 +#define Session_Selector_unknown 128+1 +#define SS_user_not_attached_to_SSAP 128+2 +#define SPM_congestion_at_connect_time 128+3 +#define versions_not_supported 128+4 +#define SPM_reason_not_specified 128+5 +#define SPM_implementation_restriction 128+6 + +#define NON_TOKENS_SPDU FALSE +#define TOKENS_SPDU TRUE + +#define TWO_BYTE_LEN 0xff + +/* PGI's */ + +#define Connection_Identifier 1 +#define Connect_Accept_Item 5 +#define Linking_Information 33 +#define User_Data 193 +#define Extended_User_Data 194 + +/* PI's */ + +#define Called_SS_user_Reference 9 +#define Calling_SS_user_Reference 10 +#define Common_Reference 11 +#define Additional_Reference_Information 12 + +#define Sync_Type_Item 15 +#define Token_Item 16 +#define Transport_Disconnect 17 + +#define Protocol_Options 19 +#define Session_Requirement 20 +#define TSDU_Maximum_Size 21 +#define Version_Number 22 +#define Initial_Serial_Number 23 +#define Prepare_Type 24 +#define EnclosureItem 25 +#define Token_Setting_Item 26 +#define Resync_Type 27 + +#define Activity_Identifier 41 +#define Serial_Number 42 + +#define Reflect_Parameter 49 + +#define Reason_Code 50 +#define Calling_Session_Selector 51 +#define Called_Session_Selector 52 +#define Second_Resync_Type 53 +#define Second_Serial_Number 54 +#define Second_Initial_Serial_Number 55 +#define Upper_Limit_Serial_Number 56 +#define Large_Initial_Serial_Number 57 +#define Large_Second_Initial_Serial_Number 58 + +#define Data_Overflow 60 + +/* transport disconnect values */ +#define transport_connection_is_released 0x01 +#define user_abort 0x02 +#define protocol_error 0x04 +#define no_reason 0x08 +#define implementation_restriction 0x10 + +#define SESSION_NO_ABORT 0 +#define SESSION_USER_ABORT 1 +#define SESSION_PROVIDER_ABORT 2 + +/* data for presentation selector */ +struct SESSION_DATA_STRUCTURE +{ + guint8 spdu_type; + guint8 abort_type; + guint8 pres_ctx_id; + guint32 ros_op; + gboolean rtse_reassemble; +}; + +extern value_string_ext ses_vals_ext; + +#endif + +/* + * Editor modelines - https://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ |