diff options
author | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2004-03-23 19:51:06 +0000 |
---|---|---|
committer | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2004-03-23 19:51:06 +0000 |
commit | 83eea317696851f5456c7fb9b27789ba4cc2c017 (patch) | |
tree | 634a45a948d5a88160fb8cb0352a7b5a906380e5 /packet-ftam.h | |
parent | e190b54dcc18f7cedf1a444eb151fe2d6b08d4f2 (diff) |
From Yuri Sidelnikov: FTAM support.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@10469 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-ftam.h')
-rw-r--r-- | packet-ftam.h | 430 |
1 files changed, 430 insertions, 0 deletions
diff --git a/packet-ftam.h b/packet-ftam.h new file mode 100644 index 0000000000..4a166f9513 --- /dev/null +++ b/packet-ftam.h @@ -0,0 +1,430 @@ +/* packet-ftam.h +* +* Routine to dissect OSI ISO 8571 FTAM Protocol packets +* +* $Id: packet-ftam.h,v 1.1 2004/03/23 19:51:06 guy Exp $ +* +* Yuriy Sidelnikov <YSidelnikov@hotmail.com> +* +* Ethereal - Network traffic analyzer +* By Gerald Combs <gerald@ethereal.com> +* Copyright 1998 Gerald Combs +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; either version 2 +* of the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +#define PROTO_STRING_FTAM "OSI ISO 8571 FTAM Protocol" +#define PROTO_STRING_FTAM_INFO "OSI ISO 8571 FTAM Protocol" + +/* asn.1 definitions */ +#define ASN1_CLASS_UNIVERSAL 0x00 +#define ASN1_CLASS_APPLICATION 0x40 +#define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 +#define ASN1_CLASS_Private 0xc0 +#define ASN1_CLASS_PC 0x20 + +#define INTEGER_ITEM 0x01 +#define BOOLEAN_ITEM 0x01 + +#define NBS9_OID 0x2b + +#define SEQUENCE 0x30 + +/* sequence top */ +#define TAG_00 0 +#define TAG_01 1 + +enum +{ +FTAM_F_INITIALIZE_REQUEST = 0xa0, +FTAM_F_INITIALIZE_RESPONSE, +FTAM_F_TERMINATE_REQUEST, +FTAM_F_TERMINATE_RESPONSE, +FTAM_F_U_ABORT_REQUEST, +FTAM_F_P_ABORT_REQUEST, +FTAM_F_SELECT_REQUEST, +FTAM_F_SELECT_RESPONSE, +FTAM_F_DESELECT_REQUEST, +FTAM_F_DESELECT_RESPONSE, +FTAM_F_CREATE_REQUEST, +FTAM_F_CREATE_RESPONSE, +FTAM_F_DELETE_REQUEST, +FTAM_F_DELETE_RESPONSE, +FTAM_F_READ_ATTRIB_REQUEST, +FTAM_F_READ_ATTRIB_RESPONSE, +FTAM_F_CHANGE_ATTRIB_REQUEST, +FTAM_F_CHANGE_ATTRIB_RESPONSE, +FTAM_F_OPEN_REQUEST, +FTAM_F_OPEN_RESPONSE, +FTAM_F_CLOSE_REQUEST, +FTAM_F_CLOSE_RESPONSE, +FTAM_F_BEGIN_GROUP_REQUEST, +FTAM_F_BEGIN_GROUP_RESPONSE, +FTAM_F_END_GROUP_REQUEST, +FTAM_F_END_GROUP_RESPONSE, +FTAM_F_RECOVER_REQUEST, +FTAM_F_RECOVER_RESPONSE, +FTAM_F_LOCATE_REQUEST, +FTAM_F_LOCATE_RESPONSE, +FTAM_F_ERASE_REQUEST, +FTAM_F_ERASE_RESPONSE +}; +enum +{ +FTAM_F_READ_REQUEST=0x20, +FTAM_F_WRITE_REQUEST, +FTAM_F_DATA_END_REQUEST, +FTAM_F_TRANSFER_END_REQUEST, +FTAM_F_TRANSFER_END_RESPONSE, +FTAM_F_CANCEL_REQUEST, +FTAM_F_CANCEL_RESPONSE, +FTAM_F_REASTART_REQUEST, +FTAM_F_REASTART_RESPONSE +}; +enum +{ +FTAM_PROTOCOL_VERSION, +FTAM_IMPLEMENTATION_INFORMATION, +FTAM_PRESENTATION_CONTEXT_MANAGEMENT, +FTAM_SERVICE_CLASS, +FTAM_FUNCTIONAL_UNITS, +FTAM_ATTRIBUTE_GROUPS, +FTAM_QUALITY_OF_SERVICE, +FTAM_CONTENTS_TYPE_LIST +}; +/* pseudo value */ +#define FTAM_CHECKPOINT_WINDOW 55 +#define FTAM_CHARGING 9 +enum +{ +FTAM_DIAGNOSTIC_TYPE=0x80, +FTAM_ERROR_IDENTIFIER, +FTAM_ERROR_OBSERVER, +FTAM_ERROR_SOURCE, +FTAM_SUGGESTED_DELAY, +FTAM_FURTHER_DETAILS +}; +enum +{ +FTAM_NO_CATEGORIZATION_POSSIBLE, +FTAM_INITIATING_FILE_SERVICE_USER, +FTAM_INITIATING_FILE_PROTOCOL_MASHINE, +FTAM_SERVICE_SUPPORTING_THE_FILE_PROTOCOL_MACHINE, +FTAM_RESPONDING_FILE_PROTOCOL_MASHINE, +FTAM_RESPONDING_FILE_SERVICE_USER +}; +enum +{ +FTAM_DIAGNOSTIC_INFORMATIVE, +FTAM_DIAGNOSTIC_TRANSIENT, +FTAM_DIAGNOSTIC_PERMANENT +}; +enum +{ +FTAM_RESPONSE_STATE_SUCCESS, +FTAM_RESPONSE_STATE_FAILURE +}; +enum +{ +FTAM_RESPONSE_ACTION_RESULT_SUCCESS, +FTAM_RESPONSE_ACTION_RESULT_TRANSIENT_ERROR, +FTAM_RESPONSE_ACTION_RESULT_PERMANENT_ERROR +}; +enum +{ +FTAM_PROCESSING_MODE, +FTAM_CONTENTS_TYPE, +FTAM_CONCURENCY_CONTROL, +FTAM_ENABLE_FADU_LOCKING, +FTAM_ACTIVITY_IDENTIFIER, +FTAM_RECOVERY_MODE, +FTAM_REMOTE_CONTEXTS, +FTAM_DEFINE_CONTEXTS +}; +enum +{ +FTAM_CONTENTS_TYPE_UNKNOWN, +FTAM_CONTENTS_TYPE_PROPOSED +}; +enum +{ +FTAM_CONTENTS_TYPE_PROPOSED_DOCUMENT_TYPE, +FTAM_CONTENTS_TYPE_PROPOSED_CONSTRAINT_SET +}; +enum +{ +FTAM_CREATE_FAILURE, +FTAM_SELECT_OLD_FILE, +FTAM_DELETE_AND_CREATE_WITH_OLD_ATTRIBUTES, +FTAM_DELETE_AND_CREATE_WITH_NEW_ATTRIBUTES +}; +enum +{ +FTAM_FADU_FIRST_LAST, +FTAM_FADU_RELATIVE, +FTAM_FADU_BEGIN_END, +FTAM_FADU_SINGLE_NAME, +FTAM_FADU_NAME_LIST, +FTAM_FADU_FADU_NUMBER +}; +enum +{ +FTAM_FADU_FIRST, +FTAM_FADU_LAST +}; +enum +{ +FTAM_FADU_PREVIOUS, +FTAM_FADU_CURRENT, +FTAM_FADU_NEXT +}; +enum +{ +FTAM_FADU_BEGIN, +FTAM_FADU_END +}; +enum +{ +FTAM_HIERARCHICAL_ALL_DATA_UNITS, +FTAM_HIERARCHICAL_NO_DATA_UNITS, +FTAM_ALL_DATA_UNITS, +FTAM_ONE_LEVEL_DATA_UNITS, +FTAM_SINGLE_DATA_UNITS, +FTAM_UNSTRUCTURED_ALL_DATA_UNITS, +FTAM_UNSTRUCTURED_SINGLE_DATA_UNITS +}; +enum +{ +FTAM_ACCESS_INSERT, +FTAM_ACCESS_REPLACE, +FTAM_ACCESS_EXTEND +}; +enum +{ +FTAM_UNIVERSAL_CLASS_NUMBER, +FTAM_MAXIMUM_STRING_LENGTH, +FTAM_STRING_SIGNIFICANCE +}; +enum +{ +FTAM_VARIABLE, +FTAM_FIXED, +FTAM_NOT_SIGNIFICANT +}; +enum +{ +FTAM_READ_ATTRIBUTE_FILENAME, +FTAM_READ_ATTRIBUTE_PERMITTED_ACTIONS, +FTAM_READ_ATTRIBUTE_CONTENTS_TYPE, +FTAM_READ_ATTRIBUTE_STORAGE_ACCOUNT, +FTAM_READ_ATTRIBUTE_DATA_AND_TIME_OF_CREATION, +FTAM_READ_ATTRIBUTE_DATA_AND_TIME_OF_LAST_MODIFICATION, +FTAM_READ_ATTRIBUTE_DATA_AND_TIME_OF_LAST_READ_ACCESS, +FTAM_READ_ATTRIBUTE_DATA_AND_TIME_OF_LAST_ATTRIBUTE_MODIFICATION, +FTAM_READ_ATTRIBUTE_IDENTITY_OF_CREATOR, +FTAM_READ_ATTRIBUTE_IDENTITY_OF_LAST_MODIFIER, +FTAM_READ_ATTRIBUTE_IDENTITY_OF_LAST_READER, +FTAM_READ_ATTRIBUTE_IDENTITY_OF_LAST_ATTRIBUTE_MODIFIER, +FTAM_READ_ATTRIBUTE_FILE_AVAILABILITY, +FTAM_READ_ATTRIBUTE_FILESIZE, +FTAM_READ_ATTRIBUTE_FUTURE_FILESIZE, +FTAM_READ_ATTRIBUTE_ACCESS_CONTROL, +FTAM_READ_ATTRIBUTE_LEGAL_QUALIFICATION, +FTAM_READ_ATTRIBUTE_PRIVATE_USE +}; + + +#define FTAM_DATE_AND_TIME_NO_VALUE_AVAILABLE 0x00 +#define FTAM_DATE_AND_TIME_ACTUAL_VALUE 0x01 + +#define FTAM_DATE_IDENTITY_NO_VALUE_AVAILABLE 0x00 +#define FTAM_DATE_IDENTITY_ACTUAL_VALUE 0x01 + + +#define FTAM_USER_IDENTITY 22 + +#define FTAM_PRINTABLE_LENGTH 19 +#define FTAM_GRAPHIC_STRING 25 +#define FTAM_TELEX_STRING 20 +#define FTAM_VIDEO_STRING 21 +#define FTAM_IA5_STRING 22 +#define FTAM_VISIBLE_STRING 26 +#define FTAM_GENERAL_STRING 27 +#define FTAM_OCTET_STRING 04 +#define FTAM_PRINTABLE_STRING 05 +#define FTAM_NODE_DESCRIPTOR_DATA_ELEMENT 0xa0 +#define FTAM_ENTER_SUBTREE_DATA_ELEMENT 0xa1 +#define FTAM_EXIT_SUBTREE_DATA_ELEMENT 0xa2 +#define FTAM_DATATYPE_NBS9 0xe2 + +#define FTAM_CONTENTS_TYPE_PROPOSED_DOCUMENT_TYPE_NAME 14 +#define FTAM_CONTENTS_TYPE_PROPOSED_DOCUMENT_TYPE_PARAMETER 0 + +#define FTAM_PROCESSING_MODE_READ 0x0080 +#define FTAM_PROCESSING_MODE_REPLACE 0x0040 +#define FTAM_PROCESSING_MODE_INSERT 0x0020 +#define FTAM_PROCESSING_MODE_EXTEND 0x0010 +#define FTAM_PROCESSING_MODE_ERASE 0x0008 + + +#define FTAM_NBS9_READ_FILENAME 0x8000 +#define FTAM_NBS9_READ_PERMITTED_ACTIONS 0x4000 +#define FTAM_NBS9_READ_CONTENTS_TYPE 0x2000 +#define FTAM_NBS9_READ_STORAGE_ACCOUNT 0x1000 +#define FTAM_NBS9_READ_DATE_AND_TIME_OF_CREATION 0x0800 +#define FTAM_NBS9_READ_DATE_AND_TIME_OF_LAST_MODIFICATION 0x0400 +#define FTAM_NBS9_READ_DATE_AND_TIME_OF_LAST_READ_ACCESS 0x0200 +#define FTAM_NBS9_READ_DATE_AND_TIME_OF_LAST_ATTRIBUTE_MODIFICATION 0x0100 +#define FTAM_NBS9_READ_IDENTITY_OF_CREATOR 0x0080 +#define FTAM_NBS9_READ_IDENTITY_OF_LAST_MODIFIER 0x0040 +#define FTAM_NBS9_READ_IDENTITY_OF_LAST_READER 0x0020 +#define FTAM_NBS9_READ_IDENTITY_OF_LAST_ATTRIBUTE_MODIFIER 0x0010 +#define FTAM_NBS9_READ_FILE_AVAILABILITY 0x0008 +#define FTAM_NBS9_READ_FILESIZE 0x0004 +#define FTAM_NBS9_READ_FUTURE_FILESIZE 0x0002 +#define FTAM_NBS9_READ_ACCESS_CONTROL 0x0001 +#define FTAM_NBS9_READ_LEGAL_QUALIFICATIONS 0x80 +#define FTAM_NBS9_READ_PRIVATE_USE 0x40 + + + +#define FTAM_SELECT_ATTRIBUTES 19 +#define FTAM_CREATE_ATTRIBUTES 12 +#define FTAM_ACCESS_REQUEST 3 +#define FTAM_ACCSESS_PASSWORDS 2 +#define FTAM_OVERRIDE 0 + +#define FTAM_ACCSESS_PASSWORDS 2 + +#define FTAM_READ_ATTRIBUTES 18 + + + +#define FTAM_CREATE_FILENAME_ATTRIBUTES 0 +#define FTAM_CREATE_PERMITTED_ACTIONS_ATTRIBUTE 1 +#define FTAM_CREATE_CONTENTS_TYPE 2 +#define FTAM_CREATE_ACCOUNT_ATTRIBUTE 3 +#define FTAM_CREATE_FILE_AVAILABILITY_ATTRIBUTE 12 +#define FTAM_CREATE_FILESIZE_ATTRIBUTE 14 +#define FTAM_CREATE_ACCESS_CONTROL_ATTRIBUTE 15 +#define FTAM_CREATE_ACCESS_LEGAL_AUALIFICATION_ATTRIBUTE 16 +#define FTAM_CREATE_ACCESS_PRIVATE_USE_ATTRIBUTE 17 + +#define FTAM_FILE_ACCESS_DATA_UNIT_IDENTITY 15 +#define FTAM_FILE_ACCESS_CONTEXT 1 +#define FTAM_FILE_FADU_LOCK 16 +#define FTAM_FILE_ACCESS_DATA_UNIT_OPERATION 0 +#define FTAM_PERMITTED_ACTION_ATTRIBUTE_READ 0x8000 +#define FTAM_PERMITTED_ACTION_ATTRIBUTE_INSERT 0x4000 +#define FTAM_PERMITTED_ACTION_ATTRIBUTE_REPLACE 0x2000 +#define FTAM_PERMITTED_ACTION_ATTRIBUTE_EXTEND 0x1000 +#define FTAM_PERMITTED_ACTION_ATTRIBUTE_ERASE 0x0800 +#define FTAM_PERMITTED_ACTION_ATTRIBUTE_READ_ATTRIBUTE 0x0400 +#define FTAM_PERMITTED_ACTION_ATTRIBUTE_CHANGE_ATTRIBUTE 0x0200 +#define FTAM_PERMITTED_ACTION_ATTRIBUTE_DELETE_FILE 0x0100 +#define FTAM_PERMITTED_ACTION_ATTRIBUTE_TRAVERSAL 0x0080 +#define FTAM_PERMITTED_ACTION_ATTRIBUTE_REVERSE_TRAVERSAL 0x0040 +#define FTAM_PERMITTED_ACTION_ATTRIBUTE_RANDOM_ORDER 0x0020 + + +#define FTAM_ACCOUNT 8 +#define FTAM_FILESTORE_PASSWORD 17 +#define FTAM_SHARED_ASE_INFORMATION 20 +#define FTAM_INITIATOR_IDENTIFY 22 +#define FTAM_DOCUMENT_TYPE 0x4e + +#define FTAM_ABSTRACT_SYNTAX_NAME 0x40 + + +/* filename attributes */ +#define FTAM_FILENAME_ATTRIBUTE_READ 0x0080 +#define FTAM_FILENAME_ATTRIBUTE_INSERT 0x0040 +#define FTAM_FILENAME_ATTRIBUTE_REPLACE 0x0020 +#define FTAM_FILENAME_ATTRIBUTE_EXTEND 0x0010 +#define FTAM_FILENAME_ATTRIBUTE_ERASE 0x0008 +#define FTAM_FILENAME_ATTRIBUTE_READ_ATTRIBUTE 0x0004 +#define FTAM_FILENAME_ATTRIBUTE_CHANGE_ATTRIBUTE 0x0002 +#define FTAM_FILENAME_ATTRIBUTE_DELETE_FILE 0x0001 + + + +#define IMPLEMENTATION_INFORMATION 29 +#define USER_INFORMATION 30 + +#define ftam_EXTERNAL 8 + +#define FTAM_RESPONSE_STATE_RESULT 21 +/* dummy entry */ +#define FTAM_RESPONSE_ACTION_RESULT 555 +#define FTAM_RESPONSE_SHARED_ASE_INFORMATION 20 +#define FTAM_RESPONSE_DIAGNOSTIC 13 + +/* definition list **/ +#define PRESENTATION_CONTEXT_IDENTIFIER 2 +#define ABSTRACT_SYNTAX_NAME 6 +#define TRANSFER_SYNTAX_NAMES 0x30 +/* result list */ +#define PRESENTATION_RESULT 0x80 +#define PRESENTATION_RESULT_TRANSFER_SYNTAX_NAME 0x81 +#define PRESENTATION_RESULT_INTEGER 0x82 + +/* result values */ +#define PRESENTATION_RESULT_ACCEPTANCE 0 +#define PRESENTATION_RESULT_USER_REJECTION 1 +#define PRESENTATION_RESULT_PROVIDER_REJECTION 2 + + +/* user data */ +#define SIMPLY_ENCODED_DATA 0x60 +#define FULLY_ENCODED_DATA 0x61 + + + +#define FTAM_PROTOCOL_VERGION 0x0080 + +/* functional units */ +#define FTAM_FUNCTIONAL_UNIT_READ 0x2000 +#define FTAM_FUNCTIONAL_UNIT_WRITE 0x1000 +#define FTAM_FUNCTIONAL_UNIT_FILE_ACCESS 0x0800 +#define FTAM_FUNCTIONAL_UNIT_LIMITED_FILE_MANAGEMENT 0x0400 +#define FTAM_FUNCTIONAL_UNIT_ENHANCED_FILE_MANAGEMENT 0x0200 +#define FTAM_FUNCTIONAL_UNIT_GROUPING 0x0100 +#define FTAM_FUNCTIONAL_FADU_LOCKING 0x0080 +#define FTAM_FUNCTIONAL_UNIT_RECOVERY 0x0040 +#define FTAM_FUNCTIONAL_UNIT_RESTART_DATA_TRANSFER 0x0020 + +/* service classes */ +#define FTAM_FUNCTIONAL_UNIT_UNCONSTRAINED_CLASS 0x80 +#define FTAM_FUNCTIONAL_UNIT_MANAGEMENT_CLASS 0x40 +#define FTAM_FUNCTIONAL_UNIT_TRANSFER_CLASS 0x20 +#define FTAM_FUNCTIONAL_UNIT_TRANSFER_AND_MANAGEMENT_CLASS 0x10 +#define FTAM_FUNCTIONAL_UNIT_ACESS_CLASS 0x08 + +/* attribute group */ +#define FTAM_ATTRIBUTE_GROUPS_STORAGE 0x80 +#define FTAM_ATTRIBUTE_GROUPS_SECURITY 0x40 +#define FTAM_ATTRIBUTE_GROUPS_PRIVATE 0x20 + +#define DATA_BULK_PDU 0xbf +#define MAXSTRING 256 +#define ABORT_REASON_LEN 3 + + + +#define GRAPHIC_STRING "Graphic string" + + + + |