--****************************************************************************
--
-- Copyright (c) 2009 Broadcom Corporation
--
-- This program is the proprietary software of Broadcom Corporation and/or
-- its licensors, and may only be used, duplicated, modified or distributed
-- pursuant to the terms and conditions of a separate, written license
-- agreement executed between you and Broadcom (an "Authorized License").
-- Except as set forth in an Authorized License, Broadcom grants no license
-- (express or implied), right to use, or waiver of any kind with respect to
-- the Software, and Broadcom expressly reserves all rights in and to the
-- Software and all intellectual property rights therein.  IF YOU HAVE NO
-- AUTHORIZED LICENSE, THEN YOU HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY,
-- AND SHOULD IMMEDIATELY NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE
-- SOFTWARE.  
--
-- Except as expressly set forth in the Authorized License,
--
-- 1.     This program, including its structure, sequence and organization,
-- constitutes the valuable trade secrets of Broadcom, and you shall use all
-- reasonable efforts to protect the confidentiality thereof, and to use this
-- information only in connection with your use of Broadcom integrated circuit
-- products.
--
-- 2.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED
-- "AS IS" AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS
-- OR WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH
-- RESPECT TO THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL
-- IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR
-- A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET
-- ENJOYMENT, QUIET POSSESSION OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME
-- THE ENTIRE RISK ARISING OUT OF USE OR PERFORMANCE OF THE SOFTWARE.
--
-- 3.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM
-- OR ITS LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL,
-- INDIRECT, OR EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY
-- RELATING TO YOUR USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM
-- HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN
-- EXCESS OF THE AMOUNT ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1,
-- WHICHEVER IS GREATER. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY
-- FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.
--
--****************************************************************************
--    Filename: brcm-ftp-mgmt.mib
--    Author:   Kevin O'Neal
--    Creation Date: 4-march-2009
--
--**************************************************************************
--    Description:
--
--    MIB for runtime management of the FTP client
--		
--**************************************************************************
--    Revision History:
--
--**************************************************************************

BRCM-FTP-MGMT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Integer32,
    Unsigned32
        FROM SNMPv2-SMI
    DisplayString,
        FROM SNMPv2-TC
    InetAddressType,
    InetAddress
        FROM INET-ADDRESS-MIB
    cableDataMgmtMIBObjects
        FROM BRCM-CABLEDATA-MGMT-MIB;
                
ftpMgmt MODULE-IDENTITY
    LAST-UPDATED "200908120000Z"
    ORGANIZATION "Broadcom Corporation"
    CONTACT-INFO
        "	BANANA-CABLEDATA
                (cableData branch of the
                Broadcom Assigned Numbers and Naming Authority)
                Broadcom Corporation

        Postal: 4385 River Green Parkway
                Duluth, GA  30096
                USA

           Tel: +1 770 232-0018

        E-mail: banana-cabledata@broadcom.com"
    DESCRIPTION
        "Broadcom proprietary MIB for runtime management and configuration
         of objects related to the FTP client."
    REVISION      "200908120000Z"
    DESCRIPTION
        "Added a value range for ftpServerPort."
    REVISION      "200903040000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { cableDataMgmtMIBObjects 12 }
    
ftpIpStackInterface OBJECT-TYPE
    SYNTAX      Integer32 (1..8)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specifies the IP stack which will be used for FTP transfers."
    DEFVAL { 1 }
    ::= { ftpMgmt 1 }

ftpServerAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of internet address used for ftpServerAddress."
    ::= { ftpMgmt 2 }
    
ftpServerAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The internet address of the FTP server used for FTP transfers."
    ::= { ftpMgmt 3 }
    
ftpServerPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The TCP port on the FTP server to which the client will attempt to 
         connect."
    DEFVAL { 20 }
    ::= { ftpMgmt 4 }
    
ftpUserName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The user name to be used when logging in to the FTP server."
    DEFVAL { "" }
    ::= { ftpMgmt 5 }

ftpPassword OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The password to be used when logging in to the FTP server."
    DEFVAL { "" }
    ::= { ftpMgmt 6 }
    
ftpFilename OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The path to the file to be transferred."
    DEFVAL { "" }
    ::= { ftpMgmt 7 }
    
ftpCommand OBJECT-TYPE
    SYNTAX      INTEGER {
                cancel(0),
                get(1)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Used to invoke an FTP command, or cancel a command which is in 
         progress.  When read, indicates the most recent command.  Note that
         the value of this object does not indicate the current transfer 
         status.  Current status should be read from ftpTransferStatus."
    ::= { ftpMgmt 8 }
    
ftpTransferStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                idle(0),
                fileStatusOk(150),
                serviceReady(200),
                sessionReady(221),
                transferComplete(226),
                passwordOk(230),
                userNameOk(331),
                serviceNotAvail(421),
                invalidLogin(530),
                fileNotFound(550),
                socketConnectFailure(600) -- This is a BRCM extension to the FTP status codes
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the status of the file transfer which is currently in 
         progress, or which most recently completed.  If no file transfer has
         been initiated, this object returns a value of idle(0)."
    ::= { ftpMgmt 9 }
    
ftpTransferPayloadBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the number of file data payload bytes transferred during the 
         file transfer which is currently in progress, or which most recently 
         completed.  For transfers which complete successfully, the value of
         this object will be equal to the size of the file transferred."
    ::= { ftpMgmt 10 }

ftpTransferTotalBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the total number of bytes transferred during the 
         file transfer which is currently in progress, or which most recently 
         completed.  This value includes file data payload as well as FTP 
         framing data and all IP and layer 2 headers.  This value should be 
         used when calculating transfer throughput."
    ::= { ftpMgmt 11 }
    
ftpTransferElapsedTime OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the total elapsed time of the file transfer which is 
         currently in progress, or which most recently completed."
    ::= { ftpMgmt 12 }
    
ftpTransferThroughput OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "bits per second"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the calculated throughput during the file transfer which is
         currently in progress, or which most recently completed.  This value
         is calculated by dividing ftpTransferTotalBytes by 
         ftpTransferElapsedTime."
    ::= { ftpMgmt 13 }
    
END
