#-MIBFILE: HH3C-FLASH-MAN-MIB.mib

HH3C-FLASH-MAN-MIB DEFINITIONS ::= BEGIN


PhysicalIndex ::=
	INTEGER (1..2147483647)

PhysicalIndexOrZero ::=
	INTEGER (0..2147483647)

PhysicalClass ::=
	INTEGER {
	other(1),
	unknown(2),
	chassis(3),
	backplane(4),
	container(5),
	powerSupply(6),
	fan(7),
	sensor(8),
	module(9),
	port(10),
	stack(11),
	cpu(12)
	}

SnmpEngineIdOrNone ::=
	OCTET STRING (SIZE(0..32))

hh3c OBJECT IDENTIFIER ::= { enterprises 25506 }
hh3cCommon OBJECT IDENTIFIER ::= { hh3c 2 }
InetAddressType ::=
	INTEGER {
	unknown(0),
	ipv4(1),
	ipv6(2),
	ipv4z(3),
	ipv6z(4),
	dns(16)
	}

InetAddress ::=
	OCTET STRING (SIZE(0..255))

InetAddressIPv4 ::=
	OCTET STRING (SIZE(4))

InetAddressIPv6 ::=
	OCTET STRING (SIZE(16))

InetAddressIPv4z ::=
	OCTET STRING (SIZE(8))

InetAddressIPv6z ::=
	OCTET STRING (SIZE(20))

InetAddressDNS ::=
	OCTET STRING (SIZE(1..255))

InetAddressPrefixLength ::=
	OCTET STRING

InetPortNumber ::=
	OCTET STRING

InetAutonomousSystemNumber ::=
	OCTET STRING

InetScopeType ::=
	INTEGER {
	interfaceLocal(1),
	linkLocal(2),
	subnetLocal(3),
	adminLocal(4),
	siteLocal(5),
	organizationLocal(8),
	global(14)
	}

InetZoneIndex ::=
	OCTET STRING

InetVersion ::=
	INTEGER {
	unknown(0),
	ipv4(1),
	ipv6(2)
	}

DisplayString ::=
	OCTET STRING (SIZE(0..255))

PhysAddress ::=
	OCTET STRING

MacAddress ::=
	OCTET STRING (SIZE(6))

TruthValue ::=
	INTEGER {
	true(1),
	false(2)
	}

TestAndIncr ::=
	INTEGER (0..2147483647)

AutonomousType ::=
	OBJECT IDENTIFIER

InstancePointer ::=
	OBJECT IDENTIFIER

VariablePointer ::=
	OBJECT IDENTIFIER

RowPointer ::=
	OBJECT IDENTIFIER

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

TimeStamp ::=
	TimeTicks

TimeInterval ::=
	INTEGER (0..2147483647)

DateAndTime ::=
	OCTET STRING (SIZE(8|11))

StorageType ::=
	INTEGER {
	other(1),
	volatile(2),
	nonVolatile(3),
	permanent(4),
	readOnly(5)
	}

TDomain ::=
	OBJECT IDENTIFIER

TAddress ::=
	OCTET STRING (SIZE(1..255))

Hh3cFlashOperationStatus ::=
	INTEGER {
	opInProgress(1),
	opSuccess(2),
	opInvalid(3),
	opInvalidProtocol(4),
	opInvalidSourceName(5),
	opInvalidDestName(6),
	opInvalidServerAddress(7),
	opDeviceBusy(8),
	opDeviceOpenError(9),
	opDeviceError(10),
	opDeviceNotProgrammable(11),
	opDeviceFull(12),
	opFileOpenError(13),
	opFileTransferError(14),
	opFileChecksumError(15),
	opNoMemory(16),
	opAuthFail(17),
	opTimeout(18),
	opUnknownFailure(19),
	opDeleteFileOpenError(20),
	opDeleteInvalidDevice(21),
	opDeleteInvalidFunction(22),
	opDeleteOperationError(23),
	opDeleteInvalidFileName(24),
	opDeleteDeviceBusy(25),
	opDeleteParaError(26),
	opDeleteInvalidPath(27),
	opDeleteFileNotExistInSlave(28),
	opDeleteFileFailedInSlave(29),
	opSlaveFull(30),
	opCopyToSlaveFailure(31)
	}

Hh3cFlashPartitionUpgradeMode ::=
	INTEGER {
	unknown(1),
	rxbootFLH(2),
	direct(3)
	}

Hh3cFlashPartitionStatus ::=
	INTEGER {
	readOnly(1),
	runFromFlash(2),
	readWrite(3)
	}

hh3cFlash OBJECT IDENTIFIER ::= { hh3cCommon 5 }

hh3cFlashManMIBObjects OBJECT IDENTIFIER ::= { hh3cFlash 1 }

hh3cFlashDevice OBJECT IDENTIFIER ::= { hh3cFlashManMIBObjects 1 }

hh3cFlhSupportNum OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Specifies the total number of flash which the
system supported.

The MIB should not be loaded if there is no flash
in the system and so the value here will be a
minimum of 1.
"
	::= { hh3cFlashDevice 1 }


hh3cFlashTable OBJECT-TYPE
	SYNTAX SEQUENCE OF Hh3cFlashEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         This table gives the properties of all the flashes on
the system.
"
	::= { hh3cFlashDevice 2 }


hh3cFlashEntry OBJECT-TYPE
	SYNTAX Hh3cFlashEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The entry of hh3cFlashTable."
	INDEX { hh3cFlhIndex  }

	::= { hh3cFlashTable 1 }

hh3cFlashEntry ::=
	SEQUENCE {
		hh3cFlhIndex Integer32,
		hh3cFlhSize Integer32,
		hh3cFlhPos PhysicalIndex,
		hh3cFlhName DisplayString,
		hh3cFlhChipNum Integer32,
		hh3cFlhDescr DisplayString,
		hh3cFlhInitTime TimeStamp,
		hh3cFlhRemovable TruthValue,
		hh3cFlhPartitionBool TruthValue,
		hh3cFlhMinPartitionSize Integer32,
		hh3cFlhMaxPartitions Integer32,
		hh3cFlhPartitionNum Integer32,
		hh3cFlhKbyteSize Integer32
		}

hh3cFlhIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The index of hh3cFlashTable.  There are two parts for this index
depicted as follows:
31                  15                  0
+++++++++++++++++++++++++++++++++++++++++
+   entity index    +    random index   +
+   ( bit 16..31 )       ( bit 0..15 )  +
+++++++++++++++++++++++++++++++++++++++++

From bit0 to bit15 (two bytes), it has a minimum value of 1, and
maximum value of the same as the value of hh3cFlhSupportNum.

From bit16 to bit31 (two bytes), it is the physical index the same as the
entPhysicalIndex specified in ENTITY-MIB.
"
	::= { hh3cFlashEntry 1 }


hh3cFlhSize OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Specifies the total size of the flash device indexed
by hh3cFlhIndex. The value should be zero if the flash is
removed for a removable device.
"
	::= { hh3cFlashEntry 2 }


hh3cFlhPos OBJECT-TYPE
	SYNTAX PhysicalIndex
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The position of the flash device in system. This object is
an index of entPhysicalTable in ENTITY-MIB.
If the value of this object is 0,
the main processor is indicated.
"
	::= { hh3cFlashEntry 3 }


hh3cFlhName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The flash name within the system."
	::= { hh3cFlashEntry 4 }


hh3cFlhChipNum OBJECT-TYPE
	SYNTAX INTEGER (1..64)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The chip numbers in the flash."
	::= { hh3cFlashEntry 5 }


hh3cFlhDescr OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..64))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Description of the purpose of the flash in the system."
	::= { hh3cFlashEntry 6 }


hh3cFlhInitTime OBJECT-TYPE
	SYNTAX TimeStamp
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The initialization time for the flash component or partition,
recorded using the system time. This will be the boot time for
a fixed device. For a removable component or a partition,
it will be the initialization time.
"
	::= { hh3cFlashEntry 8 }


hh3cFlhRemovable OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The value indicates whether the flash indexed can be removed
or not.
The true(1) value indicates the flash device CAN be removed.
"
	::= { hh3cFlashEntry 9 }


hh3cFlhPartitionBool OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The value indicates whether the flash indexed can be partitioned
or not.
The true(1) value indicates the flash CAN be partitioned.
"
	::= { hh3cFlashEntry 11 }


hh3cFlhMinPartitionSize OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Minimum partition size supported.
If hh3cFlhDevicePartitionBool is false, the value
of this object is the same as hh3cFlhSize.
"
	::= { hh3cFlashEntry 12 }


hh3cFlhMaxPartitions OBJECT-TYPE
	SYNTAX INTEGER (1..8)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The maximum count of partitions which the system supports
for this flash. If hh3cFlhPartitionBool is false,
the object value is 1.
"
	::= { hh3cFlashEntry 13 }


hh3cFlhPartitionNum OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The actual number of partitions supported by the system for
this flash. If hh3cFlhPartitionBool is false, this value is 1.
"
	::= { hh3cFlashEntry 14 }


hh3cFlhKbyteSize OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Specifies the total size of the flash device indexed
by hh3cFlhIndex. The value should be zero if the flash is
removed for a removable device.
"
	::= { hh3cFlashEntry 15 }


hh3cFlashChips OBJECT IDENTIFIER ::= { hh3cFlashDevice 3 }

hh3cFlhChipTable OBJECT-TYPE
	SYNTAX SEQUENCE OF Hh3cFlhChipEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Table of properties for all flash chips.
Used mainly for diagnostics.
"
	::= { hh3cFlashChips 1 }


hh3cFlhChipEntry OBJECT-TYPE
	SYNTAX Hh3cFlhChipEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The entry of hh3cFlhChipTable"
	INDEX { hh3cFlhIndex , hh3cFlhChipSerialNo }

	::= { hh3cFlhChipTable 1 }

hh3cFlhChipEntry ::=
	SEQUENCE {
		hh3cFlhChipSerialNo Integer32,
		hh3cFlhChipID DisplayString,
		hh3cFlhChipDescr DisplayString,
		hh3cFlhChipWriteTimesLimit Integer32,
		hh3cFlhChipWriteTimes Counter32,
		hh3cFlhChipEraseTimesLimit Integer32,
		hh3cFlhChipEraseTimes Counter32
		}

hh3cFlhChipSerialNo OBJECT-TYPE
	SYNTAX INTEGER (1..64)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Index of hh3cFlhChipTable."
	::= { hh3cFlhChipEntry 1 }


hh3cFlhChipID OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..5))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The manufacturer code (the upper byte) and
device code (the lower byte) for a chip.
Unknown chip code is presented as 00:00.
"
	::= { hh3cFlhChipEntry 2 }


hh3cFlhChipDescr OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..32))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The description of the flash chip.
"
	::= { hh3cFlhChipEntry 3 }


hh3cFlhChipWriteTimesLimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The limit for the number of write times (retries)
for a flash chip. If the limit
is exceeded an error should be reported by the management
station.
"
	::= { hh3cFlhChipEntry 4 }


hh3cFlhChipWriteTimes OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         A count of write times (retries) for the flash chip since
initialization.
A count of 25 or more for a single chip indicates a write error.
Management stations should note the value of this MIB before and
after a write operation,
and report any errors accordingly.
"
	::= { hh3cFlhChipEntry 5 }


hh3cFlhChipEraseTimesLimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The limit for the number of erase times (retries) for a flash
chip.
If the limit is exceeded an error should be reported by the
management station.
"
	::= { hh3cFlhChipEntry 6 }


hh3cFlhChipEraseTimes OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         A count of erase times (retries) for the flash chip since
initialization.
A count of 2000 or more for a single chip indicates a write
error.
Management stations should note the value of this MIB before and
after an erase operation, and report any errors accordingly.
"
	::= { hh3cFlhChipEntry 7 }


hh3cFlashPartitions OBJECT IDENTIFIER ::= { hh3cFlashDevice 4 }

hh3cFlhPartitionTable OBJECT-TYPE
	SYNTAX SEQUENCE OF Hh3cFlhPartitionEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Properties for the flash partitions. Minimum of one entry in
this table.
"
	::= { hh3cFlashPartitions 1 }


hh3cFlhPartitionEntry OBJECT-TYPE
	SYNTAX Hh3cFlhPartitionEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         An entry of the hh3cFlhPartitionTable.Indexed by flash
number and partition number.
"
	INDEX { hh3cFlhIndex , hh3cFlhPartIndex }

	::= { hh3cFlhPartitionTable 1 }

hh3cFlhPartitionEntry ::=
	SEQUENCE {
		hh3cFlhPartIndex Integer32,
		hh3cFlhPartFirstChip Integer32,
		hh3cFlhPartLastChip Integer32,
		hh3cFlhPartSpace Integer32,
		hh3cFlhPartSpaceFree Gauge32,
		hh3cFlhPartFileNum Integer32,
		hh3cFlhPartChecksumMethod INTEGER,
		hh3cFlhPartStatus Hh3cFlashPartitionStatus,
		hh3cFlhPartUpgradeMode Hh3cFlashPartitionUpgradeMode,
		hh3cFlhPartName DisplayString,
		hh3cFlhPartRequireErase TruthValue,
		hh3cFlhPartFileNameLen Integer32,
		hh3cFlhPartBootable TruthValue,
		hh3cFlhPartPathForGlobalOpt TruthValue
		}

hh3cFlhPartIndex OBJECT-TYPE
	SYNTAX INTEGER (1..8)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         An index which specifies a sequenced partition in the system.
"
	::= { hh3cFlhPartitionEntry 1 }


hh3cFlhPartFirstChip OBJECT-TYPE
	SYNTAX INTEGER (1..64)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The first chip's sequence number in the
partition, by which a chip can be indexed in
chip table.
"
	::= { hh3cFlhPartitionEntry 2 }


hh3cFlhPartLastChip OBJECT-TYPE
	SYNTAX INTEGER (1..64)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The last chip's sequence number in the
partition, by which a chip can be indexed in
chip table.
"
	::= { hh3cFlhPartitionEntry 3 }


hh3cFlhPartSpace OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The total space of the flash partition.
The following should be satisfied:
hh3cFlhPartSpace = n*hh3cFlhMinPartitionSize
"
	::= { hh3cFlhPartitionEntry 4 }


hh3cFlhPartSpaceFree OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The flash partition's free space."
	::= { hh3cFlhPartitionEntry 5 }


hh3cFlhPartFileNum OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of all the files in the flash partition."
	::= { hh3cFlhPartitionEntry 6 }


hh3cFlhPartChecksumMethod OBJECT-TYPE
	SYNTAX INTEGER {
	simpleChecksum(1),
	undefined(2),
	simpleCRC(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Checksum method which the file system uses."
	::= { hh3cFlhPartitionEntry 7 }


hh3cFlhPartStatus OBJECT-TYPE
	SYNTAX INTEGER {
	readOnly(1),
	runFromFlash(2),
	readWrite(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The flash partition status."
	::= { hh3cFlhPartitionEntry 8 }


hh3cFlhPartUpgradeMode OBJECT-TYPE
	SYNTAX INTEGER {
	unknown(1),
	rxbootFLH(2),
	direct(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The upgrade mode of the Flash partition"
	::= { hh3cFlhPartitionEntry 9 }


hh3cFlhPartName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The name of the flash partition given by the system."
	::= { hh3cFlhPartitionEntry 10 }


hh3cFlhPartRequireErase OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Shows whether a write operation is conditional on partition
erase.
"
	::= { hh3cFlhPartitionEntry 11 }


hh3cFlhPartFileNameLen OBJECT-TYPE
	SYNTAX INTEGER (1..256)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The maximum length of file name supported in the system."
	::= { hh3cFlhPartitionEntry 12 }


hh3cFlhPartBootable OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The value indicates whether the partition is a bootable partition.
The true(1) value indicates a bootable partition.
"
	::= { hh3cFlhPartitionEntry 13 }


hh3cFlhPartPathForGlobalOpt OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The value indicates whether the partition is used in a global file
operation.  The true(1) value indicates that in one global file
operation files will be copied to or deleted from this partition.
When hh3cFlhPartPathForGlobalOpt in one entry is set to true(1),
hh3cFlhPartPathForGlobalOpt in other entries with the same entity
index will be set to false(0).
"
	::= { hh3cFlhPartitionEntry 14 }


hh3cFlhFiles OBJECT IDENTIFIER ::= { hh3cFlashPartitions 2 }

hh3cFlhFileTable OBJECT-TYPE
	SYNTAX SEQUENCE OF Hh3cFlhFileEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Table of file information."
	::= { hh3cFlhFiles 1 }


hh3cFlhFileEntry OBJECT-TYPE
	SYNTAX Hh3cFlhFileEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         An entry representing a file. Indexed using flash number,
partition number, and file number.
"
	INDEX { hh3cFlhIndex , hh3cFlhPartIndex, hh3cFlhFileIndex }

	::= { hh3cFlhFileTable 1 }

hh3cFlhFileEntry ::=
	SEQUENCE {
		hh3cFlhFileIndex Integer32,
		hh3cFlhFileName DisplayString,
		hh3cFlhFileSize Integer32,
		hh3cFlhFileStatus INTEGER,
		hh3cFlhFileChecksum OCTET STRING
		}

hh3cFlhFileIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Index of the table, whose range is from 1 to 2147483647"
	::= { hh3cFlhFileEntry 1 }


hh3cFlhFileName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(1..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A valid file name supported by the file system."
	::= { hh3cFlhFileEntry 2 }


hh3cFlhFileSize OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The file size in bytes excluding the file
header of file system. The value should be greater than zero.
"
	::= { hh3cFlhFileEntry 3 }


hh3cFlhFileStatus OBJECT-TYPE
	SYNTAX INTEGER {
	deleted(1),
	invalidChecksum(2),
	valid(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         The status should be as follows:
deleted(1):  The file is in recycle bin.
invalidChecksum(2):  The checksum of file is invalid;
valid(3):  A valid file.
"
	::= { hh3cFlhFileEntry 4 }


hh3cFlhFileChecksum OBJECT-TYPE
	SYNTAX OCTET STRING
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The file checksum in the header of file."
	::= { hh3cFlhFileEntry 5 }


hh3cFlashOperate OBJECT IDENTIFIER ::= { hh3cFlashManMIBObjects 2 }

hh3cFlhOpTable OBJECT-TYPE
	SYNTAX SEQUENCE OF Hh3cFlhOpEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Table used to operate flash."
	::= { hh3cFlashOperate 1 }


hh3cFlhOpEntry OBJECT-TYPE
	SYNTAX Hh3cFlhOpEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Note an operation can not be stopped until it is finished.

If notification is configured, NMS will receive a notification
at the end of the operation.

Entries in the table will be removed automatically in 5 minutes.
It can also be deleted by NMS directly.
"
	INDEX { hh3cFlhOperIndex  }

	::= { hh3cFlhOpTable 1 }

hh3cFlhOpEntry ::=
	SEQUENCE {
		hh3cFlhOperIndex Integer32,
		hh3cFlhOperType INTEGER,
		hh3cFlhOperProtocol INTEGER,
		hh3cFlhOperServerAddress IpAddress,
		hh3cFlhOperServerUser DisplayString,
		hh3cFlhOperPassword DisplayString,
		hh3cFlhOperSourceFile DisplayString,
		hh3cFlhOperDestinationFile DisplayString,
		hh3cFlhOperStatus Hh3cFlashOperationStatus,
		hh3cFlhOperEndNotification TruthValue,
		hh3cFlhOperProgress TimeTicks,
		hh3cFlhOperRowStatus RowStatus,
		hh3cFlhOperServerPort Integer32,
		hh3cFlhOperFailReason DisplayString,
		hh3cFlhOperSrvAddrType InetAddressType,
		hh3cFlhOperSrvAddrRev InetAddress,
		hh3cFlhOperSrvVPNName DisplayString
		}

hh3cFlhOperIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Specifies the index of an entry. It is a
random value when creating an entry.
"
	::= { hh3cFlhOpEntry 1 }


hh3cFlhOperType OBJECT-TYPE
	SYNTAX INTEGER {
	net2FlashWithErase(1),
	net2FlashWithoutErase(2),
	flash2Net(3),
	delete(4),
	rename(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Specifies the operation to be executed.

net2FlashWithErase  Copy a file to flash; erase
flash beforehand.

net2FlashWithoutErase   Copy a file to flash; do not erase flash
beforehand.

flash2Net           Copy a file from flash.

delete          Delete a file from flash, the file name is
specified by hh3cFlhOperSourceFile;

rename          Change a file's name.
"
	::= { hh3cFlhOpEntry 2 }


hh3cFlhOperProtocol OBJECT-TYPE
	SYNTAX INTEGER {
	ftp(1),
	tftp(2),
	clusterftp(3),
	clustertftp(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Specifies the protocol used to transfer file.
The default protocol is ftp.

when 'clusterftp' or 'clustertftp' is selected,
the hh3cFlhOperServerAddress needn't be set,
the server address can be acquired automatically, the value of
hh3cFlhOperServerAddress is uncertain during operation.
Both member switch and commander switch can use them if they
support HGMP v2.
"
	::= { hh3cFlhOpEntry 3 }


hh3cFlhOperServerAddress OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS optional
	DESCRIPTION "         The address of remote host acting as server for operation.

The default value is 255.255.255.255

This object is replaced by hh3cFlhOperSrvAddrRev for it only support IPv4.
"
	::= { hh3cFlhOpEntry 4 }


hh3cFlhOperServerUser OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         When using ftp to transfer files, the user name must be
specified through this node.
"
	::= { hh3cFlhOpEntry 5 }


hh3cFlhOperPassword OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Remote user password for copying via ftp protocol. Optionally,
This object may be ignored for protocols other than ftp. "
	::= { hh3cFlhOpEntry 6 }


hh3cFlhOperSourceFile OBJECT-TYPE
	SYNTAX DisplayString (SIZE(1..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Specifies the source file name to be transferred.
It may be located on flash or remote server.
It may include the file path if it is applicable.
It must be specified.
"
	::= { hh3cFlhOpEntry 7 }


hh3cFlhOperDestinationFile OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         Specifies the destination file name.
It may be located on flash or remote server.
It may include the file path if it is applicable.
If it is not specified, the destination file name
is the same as source file name for application.
"
	::= { hh3cFlhOpEntry 8 }


hh3cFlhOperStatus OBJECT-TYPE
	SYNTAX INTEGER {
	opInProgress(1),
	opSuccess(2),
	opInvalid(3),
	opInvalidProtocol(4),
	opInvalidSourceName(5),
	opInvalidDestName(6),
	opInvalidServerAddress(7),
	opDeviceBusy(8),
	opDeviceOpenError(9),
	opDeviceError(10),
	opDeviceNotProgrammable(11),
	opDeviceFull(12),
	opFileOpenError(13),
	opFileTransferError(14),
	opFileChecksumError(15),
	opNoMemory(16),
	opAuthFail(17),
	opTimeout(18),
	opUnknownFailure(19),
	opDeleteFileOpenError(20),
	opDeleteInvalidDevice(21),
	opDeleteInvalidFunction(22),
	opDeleteOperationError(23),
	opDeleteInvalidFileName(24),
	opDeleteDeviceBusy(25),
	opDeleteParaError(26),
	opDeleteInvalidPath(27),
	opDeleteFileNotExistInSlave(28),
	opDeleteFileFailedInSlave(29),
	opSlaveFull(30),
	opCopyToSlaveFailure(31)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The status of operation."
	::= { hh3cFlhOpEntry 9 }


hh3cFlhOperEndNotification OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "         If the value of it is specified 'true', a notification
will be generated at the end of the operation.
Else no notification will be generated.
"
	::= { hh3cFlhOpEntry 10 }


hh3cFlhOperProgress OBJECT-TYPE
	SYNTAX TimeTicks
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The progress described as the time taken for the operation.
"
	::= { hh3cFlhOpEntry 11 }


hh3cFlhOperRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The row status of this table entry."
	::= { hh3cFlhOpEntry 12 }


hh3cFlhOperServerPort OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The port of remote host acting as server for operation.
If the value of this object is not specified, the server
port is the known protocol port."
	::= { hh3cFlhOpEntry 13 }


hh3cFlhOperFailReason OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The failure reasons of operation."
	::= { hh3cFlhOpEntry 14 }


hh3cFlhOperSrvAddrType OBJECT-TYPE
	SYNTAX InetAddressType
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The type of IP address for hh3cFlhOperSrvAddrRev."
	::= { hh3cFlhOpEntry 15 }


hh3cFlhOperSrvAddrRev OBJECT-TYPE
	SYNTAX InetAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The address of remote host acting as server for operation."
	::= { hh3cFlhOpEntry 16 }


hh3cFlhOperSrvVPNName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The VPN instance of this operation uses."
	::= { hh3cFlhOpEntry 17 }


hh3cFlashNotification OBJECT IDENTIFIER ::= { hh3cFlashManMIBObjects 3 }

hh3cFlashMIBConformance OBJECT IDENTIFIER ::= { hh3cFlash 2 }

hh3cFlhMIBCompliances OBJECT IDENTIFIER ::= { hh3cFlashMIBConformance 1 }

hh3cFlashMIBGroups OBJECT IDENTIFIER ::= { hh3cFlashMIBConformance 2 }

hh3cFlhGroup OBJECT IDENTIFIER ::= { hh3cFlashMIBGroups 1 }

hh3cFlhChipGroup OBJECT IDENTIFIER ::= { hh3cFlashMIBGroups 3 }

hh3cFlhPartitionGroup OBJECT IDENTIFIER ::= { hh3cFlashMIBGroups 4 }

hh3cFlhFileGroup OBJECT IDENTIFIER ::= { hh3cFlashMIBGroups 5 }

hh3cFlhOperationGroup OBJECT IDENTIFIER ::= { hh3cFlashMIBGroups 6 }

hh3cFlhNotificationGroup OBJECT IDENTIFIER ::= { hh3cFlashMIBGroups 7 }

hh3cFlhOperNotification TRAP-TYPE
	ENTERPRISE hh3cFlashNotification
	VARIABLES { hh3cFlhOperStatus }
DESCRIPTION "         A hh3cFlhOperNotification is sent at the completion of a flash
copy operation if hh3cFlhOperEndNotification is true.
"
	::= 1


END

