--  3Com Switching Systems Management Information Base
--  Version 1.0.0
--  February 13, 1998

--  3Com Corporation
--  80 Central Street
--  Boxborough, MA 01719
--  (508) 264-1400

----------------------------------------------------------------------------------------
--  04/27/99 - tmeiczin moved a3ComSysFt into 3cSysFt.mib file
----------------------------------------------------------------------------------------

A3COM-SWITCHING-SYSTEMS-FILE-TRANSFER-MIB DEFINITIONS ::= BEGIN

IMPORTS
    enterprises, Counter, IpAddress
         FROM RFC1155-SMI
    DisplayString
                 FROM RFC1213-MIB
    OBJECT-TYPE
                 FROM RFC-1212
    TRAP-TYPE
                 FROM RFC-1215;
--        RowStatus
--                 FROM SNMPv2-TC;

                RowStatus ::= INTEGER {
                active(1),
                notInService(2),
                notReady(3),
                createAndGo(4),
                createAndWait(5),
                destroy(6)
}

-- Switching Systems Storage Type

A3ComSysStorageType ::= INTEGER (1..3)
        --storageTypeUnknown(1), (not settable)
        --storageNonVolatileMemory(2),
            --storageFlashMemory(3)

-- Switching Systems Address Type

A3ComSysAddressType ::= INTEGER ( 1..2 )
        --addrTypeUnknown(1), (not settable)
        --addrIp(2)

-- Switching Systems Resource Type

A3ComSysResourceType ::= INTEGER ( 1..3 )
        --resourceTypeUnknown(1), (not settable)
        --resourceSystem(2)
        --resourceBridge(3)

-- Switching Systems Resource Bit Mask
--
-- This type represents a variable length bit mask
-- encoded as an octet string in which the bits are
-- numbered from left-to-right.
--
-- Example: For an octet string with a length of 4:
--
--                Byte 0    Byte 1    Byte 2    Byte 3
-- Bits:         76543210  76543210  76543210  76543210
--
-- Bit String Indices:
--
--           Byte         Bit         Index
--           ====         ====        =====
--            0            7            1
--            0            6            2
--            0            5            3
--            .            .            .
--            .            .            .
--            1            7            9
--            1            6            10
--            1            5            11
--            .            .            .
--            .            .            .
--            4            7            25
--            4            6            26
--            4            5            27
--            .            .            .
--            .            .            .

A3ComSysResourceBitMask ::= OCTET STRING (SIZE(4))
--
-- Object identifiers
--

a3Com                               OBJECT IDENTIFIER ::= { enterprises 43 }
switchingSystemsMibs                OBJECT IDENTIFIER ::= { a3Com 29 }
a3ComSwitchingSystemsMib            OBJECT IDENTIFIER ::= { switchingSystemsMibs 4 }

-- a3ComSwitchingSystemsMib groups.
a3ComSysFtGroup                     OBJECT IDENTIFIER ::= { a3ComSwitchingSystemsMib 14 }
 
--
-- a3ComSysFtGroup file transfer mib
--  
-- The Switching Systems MIB file transfer table.
--

a3ComSysFtTable  OBJECT-TYPE
    SYNTAX  SEQUENCE OF A3ComSysFtTableEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of entries which describe file transfers."
::= { a3ComSysFtGroup 1 }

a3ComSysFtTableEntry  OBJECT-TYPE
    SYNTAX  A3ComSysFtTableEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A description of a particular file transfer entry."
    INDEX  { a3ComSysFtIndex }
::= { a3ComSysFtTable 1 }

A3ComSysFtTableEntry ::=
    SEQUENCE {
        a3ComSysFtIndex         INTEGER,
        a3ComSysFtDirection     INTEGER,
        a3ComSysFtLocalStorageType  A3ComSysStorageType,
        a3ComSysFtLocalResourceType A3ComSysResourceType,
        a3ComSysFtLocalResourceMask A3ComSysResourceBitMask,
        a3ComSysFtLocalResourceAttribute    OBJECT IDENTIFIER,
        a3ComSysFtRemoteAddressType A3ComSysAddressType,
        a3ComSysFtRemoteAddress     OCTET STRING,
        a3ComSysFtRemoteFileName    DisplayString,
        a3ComSysFtRemoteUserName    DisplayString,
        a3ComSysFtRemoteUserPassword    OCTET STRING,
        a3ComSysFtForceTransfer     INTEGER,
        a3ComSysFtBytesTransferred  Counter,
        a3ComSysFtStatus        INTEGER,
        a3ComSysFtDetailedStatus    OBJECT IDENTIFIER,
        a3ComSysFtDetailedStatusString  DisplayString,
        a3ComSysFtOwnerString       DisplayString,
        a3ComSysFtRowStatus     RowStatus,
        a3ComSysFtProtocol      INTEGER
        }

a3ComSysFtIndex  OBJECT-TYPE
    SYNTAX  INTEGER (1..65535)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique index used to identifying this entry."
::= { a3ComSysFtTableEntry 1 }

a3ComSysFtDirection  OBJECT-TYPE
    SYNTAX  INTEGER {
              localToRemote(1),
              remoteToLocal(2)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "Specifies the direction of the file transfer."
    DEFVAL  { remoteToLocal }
::= { a3ComSysFtTableEntry 2 }

a3ComSysFtLocalStorageType  OBJECT-TYPE
    SYNTAX  A3ComSysStorageType
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "The type of storage on the local system to be
            used as the source/destination for the file transfer."
    DEFVAL  { 3 }   --storageFlashMemory
::= { a3ComSysFtTableEntry 3 }

a3ComSysFtLocalResourceType  OBJECT-TYPE
    SYNTAX  A3ComSysResourceType
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "The type of resource on the local system to be
            used as the source/destination for the file transfer."
    DEFVAL  { 2 }    -- resourceSystem
::= { a3ComSysFtTableEntry 4 }

a3ComSysFtLocalResourceMask  OBJECT-TYPE
    SYNTAX  A3ComSysResourceBitMask
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "The indices of the resources on the local system to
            be used as the source/destination for the file transfer.
            The type of resource to which these indices apply is
            specified by the corresponding value of
            a3ComSysFtLocalResourceType. If resourceBridge is used,
            a3ComSysFtLocalResourceMask indicates the bridge slot
            number the filter code will be downloaded.
            For instance, a3ComSysFtLocalResourceMask value of 0x03
            indicates bridge slot number 1 and 2."
    DEFVAL  { '00000080'h }
::= { a3ComSysFtTableEntry 5 }

a3ComSysFtLocalResourceAttribute  OBJECT-TYPE
    SYNTAX  OBJECT IDENTIFIER
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "An identifier which specifies the particular resource
            attribute on the local system which is the source/destination
            of the file transfer. The resource(s) to which this attribute
            applies is specified by the corresponding values of
            a3ComSysFtLocalResourceType and a3ComSysFtLocalResourceMask."
    DEFVAL  { a3ComSysFtSystemOperationalCode }
::= { a3ComSysFtTableEntry 6 }

a3ComSysFtRemoteAddressType  OBJECT-TYPE
    SYNTAX  A3ComSysAddressType
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "The type of address which is specified by the corresponding
            value of a3ComSysFtRemoteAddress."
    DEFVAL  { 2 }  --addrIp
::= { a3ComSysFtTableEntry 7 }

a3ComSysFtRemoteAddress  OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE (0..32))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "The address of the source/destination file on the remote
            system."
::= { a3ComSysFtTableEntry 8 }

a3ComSysFtRemoteFileName  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..128))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "The full path name of the source/destination file on the
            remote system."
::= { a3ComSysFtTableEntry 9 }

a3ComSysFtRemoteUserName  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..128))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "The user name to be used when requesting the file transfer
            to/from the remote system."
::= { a3ComSysFtTableEntry 10 }

a3ComSysFtRemoteUserPassword  OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE (0..128))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "The password to be used when requesting the file transfer
            to/from the remote system. When read, this object returns
            a zero length string. Note that, for security reasons,
            some ftp servers may insist on a non-zero length user password."
::= { a3ComSysFtTableEntry 11 }

a3ComSysFtForceTransfer  OBJECT-TYPE
    SYNTAX  INTEGER {
              true(1),
              false(2)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "Setting this object to true makes the agent ignore
            non-fatal (i.e. version/id mismatch) errors encountered
            during a file transfer request."
    DEFVAL  { false }
::= { a3ComSysFtTableEntry 12 }

a3ComSysFtBytesTransferred  OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of bytes successfully transferred."
::= { a3ComSysFtTableEntry 13 }

a3ComSysFtStatus  OBJECT-TYPE
    SYNTAX  INTEGER {
              statusSuccessfulCompletion(1),
              statusInProgress(2),
              statusLocalInvalid(3),
              statusRemoteInvalid(4),
              statusRemoteUnreachable(5),
              statusUserAuthFailed(6),
              statusFileNotFound(7),
              statusFileTooBig(8),
              statusFileIncompatible(9),
              statusError(10)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The status of the file transfer."
::= { a3ComSysFtTableEntry 14 }

a3ComSysFtDetailedStatus  OBJECT-TYPE
    SYNTAX  OBJECT IDENTIFIER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "Detailed status for the transfer for the particular
            local resource attribute specified by the corresponding
            values of a3ComSysFtLocalStorageType, a3ComSysFtLocalResourceType,
            a3ComSysFtLocalResourceMask, and a3ComSysFtLocalResourceAttribute.

            Note that this object is only valid in the case where
            a3ComSysFtStatus indicates an error."
::= { a3ComSysFtTableEntry 15 }

a3ComSysFtDetailedStatusString  OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "Detailed status description for the requested transfer."
::= { a3ComSysFtTableEntry 16 }

a3ComSysFtOwnerString  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..128))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "A string describing the creator/owner of this entry."
::= { a3ComSysFtTableEntry 17 }

a3ComSysFtRowStatus  OBJECT-TYPE
    SYNTAX  RowStatus
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "The row status object controls the creation/deletion of rows
            in this table. Its semantics are the same as those for the
            RowStatus textual convention specified for SNMPv2.

            Setting this object to createAndGo(4) is not allowed.

            Setting this object to createAndWait(5) causes an entry
            to be created with a3ComSysFtRowStatus value of notReady(3).

            Setting this object to active(1) causes the transfer to
            start for the given row. Objects within the row cannot
            be modified once a row has been set to active(1),

            Setting this object to destroy(6) causes the corresponding
            row to be deleted.

            Note that a request to set a row to notInService(2) or
            destroy(6) will fail if the current rowStatus value is active(1)
            (i.e. a file transfer is currently in progress). This is
            necessary since aborting a file transfer may leave the
            system in an inconsistent state.

            Note that, currently, only a single instance of a row
            can be created in this table."
::= { a3ComSysFtTableEntry 18 }

a3ComSysFtProtocol  OBJECT-TYPE
    SYNTAX  INTEGER {
              ftProtocolTftp(1),
              ftProtocolFtp(2)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "Specifies the file transfer protocol type."
    DEFVAL  { ftProtocolTftp }
::= { a3ComSysFtTableEntry 19 }


 -- File transfer resource attributes.

a3ComSysFtResourceAttributes        OBJECT IDENTIFIER ::= { a3ComSysFtGroup 2 }


-- File transfer resource attributes groups.

a3ComSysFtSystemAttributes          OBJECT IDENTIFIER ::= { a3ComSysFtResourceAttributes 1 }


-- File transfer system resource attributes.

a3ComSysFtSystemOperationalCode     OBJECT IDENTIFIER ::= { a3ComSysFtSystemAttributes 1 }
a3ComSysFtSystemConfiguration       OBJECT IDENTIFIER ::= { a3ComSysFtSystemAttributes 2 }

-- File transfer bridge resource attributes

a3ComSysFtSystemBridgeFilterCode    OBJECT IDENTIFIER ::= { a3ComSysFtSystemAttributes 3 }

-- File transfer detailed resource status.

a3ComSysFtDetailedResourceStatus    OBJECT IDENTIFIER ::= { a3ComSysFtGroup 3 }


-- File transfer detailed resource status groups.

a3ComSysFtSystemDetailedStatus      OBJECT IDENTIFIER ::= { a3ComSysFtDetailedResourceStatus 1 }

-- File transfer system detailed status.

a3ComSysFtSysStatusNotApplicable    OBJECT IDENTIFIER ::= { a3ComSysFtSystemDetailedStatus 1 }
a3ComSysFtSysStatusNoImageLabel     OBJECT IDENTIFIER ::= { a3ComSysFtSystemDetailedStatus 2 }
a3ComSysFtSysStatusConfigIdMismatch OBJECT IDENTIFIER ::= { a3ComSysFtSystemDetailedStatus 3 }
a3ComSysFtSysStatusChecksumError    OBJECT IDENTIFIER ::= { a3ComSysFtSystemDetailedStatus 4 }
a3ComSysFtSysStatusNvRamError       OBJECT IDENTIFIER ::= { a3ComSysFtSystemDetailedStatus 5 }
a3ComSysFtSysStatusFlashError       OBJECT IDENTIFIER ::= { a3ComSysFtSystemDetailedStatus 6 }
a3ComSysFtSysStatusNoRoom           OBJECT IDENTIFIER ::= { a3ComSysFtSystemDetailedStatus 7 }

-- File transfer bridge detailed status

a3ComSysFtSysBridgeFilterNotApplicable          OBJECT IDENTIFIER ::= { a3ComSysFtSystemDetailedStatus 8 }
a3ComSysFtSysBridgeFilterSyntaxError            OBJECT IDENTIFIER ::= { a3ComSysFtSystemDetailedStatus 9 }
a3ComSysFtSysBridgeFilterdownloadError          OBJECT IDENTIFIER ::= { a3ComSysFtSystemDetailedStatus 10 }
a3ComSysFtSysBridgeFilterNoRoom     OBJECT IDENTIFIER ::= { a3ComSysFtSystemDetailedStatus 11 }

END


















