--
-- comIpFtpClient.mib
-- MIB generated by MG-SOFT Visual MIB Builder Version 2.1 Build 205
-- Thursday, January 11, 2001 at 13:25:37
--

    ZHONE-COM-IP-FTP-CLIENT-MIB DEFINITIONS ::= BEGIN

        IMPORTS 
            Integer32, OBJECT-TYPE, MODULE-IDENTITY, OBJECT-IDENTITY            
                FROM SNMPv2-SMI            
            TimeStamp            
                FROM SNMPv2-TC            
            zhoneIp, zhoneModules            
                FROM Zhone            
            ZhoneFileName, ZhoneAdminString, ZhoneRowStatus            
                FROM Zhone-TC;
    
    
-- 
-- 
        comIpFtpClient MODULE-IDENTITY
            LAST-UPDATED "200101081559Z"
            ORGANIZATION
                "Zhone Technologies, Inc."
            CONTACT-INFO
                "Postal: 
                Zhone Technologies, Inc.
                @ Zhone Way
                7001 Oakport Street
                Oakland, CA  94621
                USA
                Toll-Free: +1 877-ZHONE20 (+1 877-946-6320)
                Tel: +1-510-777-7000
                Fax: +1-510-777-7001
                E-mail: support@zhone.com"
            DESCRIPTION
                "This MIB defines the fields use by a manager to create
                a ftp request. The mib equates those fields in the command
                line request to an equivalent table entry. The system 
                allows for up to 20 FTP requests to be concurrently 
                executing."
            REVISION "200101111559Z"
            DESCRIPTION
                "V01.01.00 - Added zhoneModules and markup language"
            REVISION "200009181113Z"
            DESCRIPTION
                "V01.00.00 - Initial Release"
            ::= { zhoneModules 68 }
        
    
    
--
-- Node definitions
--
    
-- Zhone FTP Client Management Information Base
        ftpClient OBJECT-IDENTITY
            STATUS current
            DESCRIPTION
                "FTP Client Objects."
            ::= { zhoneIp 18 }
        
        ftpClientNextIndex OBJECT-TYPE
            SYNTAX Integer32 (0..20)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The next available index to be used for an FTP request.
                The manager performs a get on this variable to determine
                which index to utilize for its request. The agent
                controls this value and tracks which are in use and how
                many current requests are outstanding.
                
                An okay return is indicated by a value of 1-20 for which the
                manager can use for creating an ftp row/request. A value of
                0 indicates there are no entries available (20 ftp requests
                are currently in progress. When this occurs, the 
                ftpClientIndexFailures is incremented."
            ::= { ftpClient 1 }
        
        ftpClientHighRequests OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The highest number of requests that the agent has
                processed at one time. Because it is up to the manager
                to delete a ftp request, even after completion, 
                this number may be artificially high as it only tracks 
                the number of index values in use."
            ::= { ftpClient 2 }
        
        ftpClientAutoRemovals OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of times a manager tried to initiate an
                ftp request (get of ftpClientNextIndex), and there were 
                not available indexes. In this case, the agent deletes 
                the oldest completed ftp request and increments this object
                by 1."
            ::= { ftpClient 3 }
        
        ftpClientIndexFailures OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of times a get was performed on the
                ftpClientNextIndex field and all indexes were in 
                use (all had ftp requests in progress)"
            ::= { ftpClient 4 }
        
        ftpClientRequestTable OBJECT-TYPE
            SYNTAX SEQUENCE OF FtpClientRequestEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The table of ftp requests. An FTP request is initiated
                by a manager by setting the required values and setting
                the ftpClientRequestRowStatus to 'createAndGo'. 
                
                An FTP request is stopped and deleted by setting the 
                ftpClientRequestRowStatus to 'destroy'.  
                
                The manager obtains the index to utilize by getting the 
                next available index (get to ftpClientNextIndex)."
            ::= { ftpClient 5 }
        
        ftpClientRequestEntry OBJECT-TYPE
            SYNTAX FtpClientRequestEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Each row of this table represents an ftp request that
                may either be in progress or completed (see 
                ftpClientRequestResult). The manager both creates and 
                deletes entries utilizing the ftpClientRequestRowStatus field.
                Entries are not deleted by the agent unless a new request
                is made (get to ftpClientNextIndex) and all indexes are
                utilized. In this case, the oldest completed request
                is auto-deleted and then made available for the manager."
            INDEX { ftpClientRequestIndex }
            ::= { ftpClientRequestTable 1 }
        
        FtpClientRequestEntry ::=
            SEQUENCE { 
                ftpClientRequestIndex
                    Integer32,
                ftpClientRequestCode
                    INTEGER,
                ftpClientRequestLocalFileName
                    ZhoneFileName,
                ftpClientRequestRemoteFileName
                    ZhoneFileName,
                ftpClientRequestServerAddress
                    ZhoneAdminString,
                ftpClientRequestUserName
                    ZhoneAdminString,
                ftpClientRequestPassword
                    ZhoneAdminString,
                ftpClientRequestResult
                    INTEGER,
                ftpClientRequestAction
                    INTEGER,
                ftpClientRequestCompletionTime
                    TimeStamp,
                ftpClientRequestRowStatus
                    ZhoneRowStatus
             }

        ftpClientRequestIndex OBJECT-TYPE
            SYNTAX Integer32 (1..20)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of this FTP request in this table. There is
                a maximum number of 20 outstanding requests in the
                system."
            ::= { ftpClientRequestEntry 1 }
        
        ftpClientRequestCode OBJECT-TYPE
            SYNTAX INTEGER
                {
                putBinary(1),
                putAscii(2),
                getBinary(3),
                getAscii(4)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The operation requested by the manager with the default
                being a 'put' of a file in binary mode. These are the 
                normal ftp operations allowed in being able to transfer a
                file in either binary or ASCII modes."
            DEFVAL { putBinary }
            ::= { ftpClientRequestEntry 2 }
        
        ftpClientRequestLocalFileName OBJECT-TYPE
            SYNTAX ZhoneFileName
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The local file name to be used in the ftp operation.
                
                No default value is specified and this field must be
                specified on a row creation."
            ::= { ftpClientRequestEntry 3 }
        
        ftpClientRequestRemoteFileName OBJECT-TYPE
            SYNTAX ZhoneFileName
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The remote filename used in the ftp operation. This value
                must be specified when the row is created and there is
                no default value."
            ::= { ftpClientRequestEntry 4 }
        
        ftpClientRequestServerAddress OBJECT-TYPE
            SYNTAX ZhoneAdminString
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Either the ip address or name specifying the location
                of the FTP server. This value must be specified on the
                row create and there is no default value."
            ::= { ftpClientRequestEntry 5 }
        
        ftpClientRequestUserName OBJECT-TYPE
            SYNTAX ZhoneAdminString
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The user name to be used during the authentication process
                with the FTP server.
                
                This field must be specified on the row create and there is
                no default value."
            ::= { ftpClientRequestEntry 6 }
        
        ftpClientRequestPassword OBJECT-TYPE
            SYNTAX ZhoneAdminString
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The password associated with this user named which is
                used during the authentication process with the FTP
                server.
                
                This value must be present during the row create and there 
                is no default value.
                
                When this variable is read (get), a null string is always
                returned."
            ::= { ftpClientRequestEntry 7 }
        
        ftpClientRequestResult OBJECT-TYPE
            SYNTAX INTEGER
                {
                inProgress(1),
                success(2),
                stoppedByUser(3),
                localFileNameError(4),
                remoteFileNameError(5),
                unreachableDestination(6),
                invalidUserNamePassword(7),
                tooManyOpenFiles(8),
                readError(9),
                writeError(10)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The results of the FTP operation. The possible values are:
                
                inProgress - currently executing the request
                success - file has been transferred
                stoppedByUser - operation was aborted
                localFileNameError - File could not be read or written
                                     on the local system.
                remoteFileNameError - File could not be read or written
                                     on the remote system
                unreachableDestination - the ip address or server name
                                     could not be reached.
                invalidUserNamePassword - The user name/password 
                                     combination could not be 
                                     authenticated by the ftp server.
                tooManyOpenFiles - File could not be opened due to 
                                   too many files already opened.
                readError - Transfer not completed due to a file read error.
                writeError - Transfer not completed due to a file write error.
                "
            ::= { ftpClientRequestEntry 8 }
        
        ftpClientRequestAction OBJECT-TYPE
            SYNTAX INTEGER
                {
                start(1),
                stop(2)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The action requested by the user. The normal operation
                is for a 'start' to be specified and this is the default
                value. Specifying 'stop' aborts the current operation
                in the current state.
                
                Specifying 'stop' with 'createAndGo' rowStatus results
                in the creation of the row.  But the ftp transfer does
                not start until the row is specified to 'start'.
                
                Specifying multiple successive mstops or starts has no 
                impact on the current operation.  When read, the value 
                returned is the last action requested."
            DEFVAL { start }
            ::= { ftpClientRequestEntry 9 }
        
        ftpClientRequestCompletionTime OBJECT-TYPE
            SYNTAX TimeStamp
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The time when the operation completed. This includes if
                the operation was aborted.
                
                While the operation is in progress, a value of 0 is
                returned."
            ::= { ftpClientRequestEntry 10 }
        
        ftpClientRequestRowStatus OBJECT-TYPE
            SYNTAX ZhoneRowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The rowstatus is used by the manager to create or 
                destroy a ftp request. 
                
                Required fields on a create_and_go are:
                
                      - local and remote filenames
                      - server address or name
                      - user name
                      - password
                
                A get on this field always return 'active'."
            ::= { ftpClientRequestEntry 11 }
        
    
    END

--
-- comIpFtpClient.mib
--
