!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/usr/src/linux-2.4.18-xfs-1.1/drivers/net/sk98lin/h/   drwxr-xr-x
Free 318.31 GB of 458.09 GB (69.49%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     skgeinit.h (23.38 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/******************************************************************************
 *
 * Name:    skgeinit.h
 * Project:    GEnesis, PCI Gigabit Ethernet Adapter
 * Version:    $Revision: 1.51 $
 * Date:    $Date: 2001/02/09 12:26:38 $
 * Purpose:    Structures and prototypes for the GE Init Module
 *
 ******************************************************************************/

/******************************************************************************
 *
 *    (C)Copyright 1998-2001 SysKonnect GmbH.
 *
 *    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.
 *
 *    The information in this file is provided "AS IS" without warranty.
 *
 ******************************************************************************/

/******************************************************************************
 *
 * History:
 *
 *    $Log: skgeinit.h,v $
 *    Revision 1.51  2001/02/09 12:26:38  cgoos
 *    Inserted #ifdef DIAG for half duplex workaround timer.
 *    
 *    Revision 1.50  2001/02/07 07:56:40  rassmann
 *    Corrected copyright.
 *    
 *    Revision 1.49  2001/01/31 15:32:18  gklug
 *    fix: problem with autosensing an SR8800 switch
 *    add: counter for autoneg timeouts
 *    
 *    Revision 1.48  2000/11/09 11:30:10  rassmann
 *    WA: Waiting after releasing reset until BCom chip is accessible.
 *    
 *    Revision 1.47  2000/10/18 12:22:40  cgoos
 *    Added workaround for half duplex hangup.
 *    
 *    Revision 1.46  2000/08/10 11:28:00  rassmann
 *    Editorial changes.
 *    Preserving 32-bit alignment in structs for the adapter context.
 *    
 *    Revision 1.45  1999/11/22 13:56:19  cgoos
 *    Changed license header to GPL.
 *    
 *    Revision 1.44  1999/10/26 07:34:15  malthoff
 *    The define SK_LNK_ON has been lost in v1.41.
 *    
 *    Revision 1.43  1999/10/06 09:30:16  cgoos
 *    Changed SK_XM_THR_JUMBO.
 *    
 *    Revision 1.42  1999/09/16 12:58:26  cgoos
 *    Changed SK_LED_STANDY macro to be independent of HW link sync.
 *    
 *    Revision 1.41  1999/07/30 06:56:14  malthoff
 *    Correct comment for SK_MS_STAT_UNSET.
 *    
 *    Revision 1.40  1999/05/27 13:38:46  cgoos
 *    Added SK_BMU_TX_WM.
 *    Made SK_BMU_TX_WM and SK_BMU_RX_WM user-definable.
 *    Changed XMAC Tx treshold to max. values.
 *    
 *    Revision 1.39  1999/05/20 14:35:26  malthoff
 *    Remove prototypes for SkGeLinkLED().
 *    
 *    Revision 1.38  1999/05/19 11:59:12  cgoos
 *    Added SK_MS_CAP_INDETERMINATED define.
 *    
 *    Revision 1.37  1999/05/19 07:32:33  cgoos
 *    Changes for 1000Base-T.
 *    LED-defines for HWAC_LINK_LED macro.
 *    
 *    Revision 1.36  1999/04/08 14:00:24  gklug
 *    add:Port struct field PLinkResCt
 *    
 *    Revision 1.35  1999/03/25 07:43:07  malthoff
 *    Add error string for SKERR_HWI_E018MSG.
 *    
 *    Revision 1.34  1999/03/12 16:25:57  malthoff
 *    Remove PPollRxD and PPollTxD.
 *    Add SKERR_HWI_E017MSG. and SK_DPOLL_MAX.
 *    
 *    Revision 1.33  1999/03/12 13:34:41  malthoff
 *    Add Autonegotiation error codes.
 *    Change defines for parameter Mode in SkXmSetRxCmd().
 *    Replace __STDC__ by SK_KR_PROTO.
 *    
 *    Revision 1.32  1999/01/25 14:40:20  mhaveman
 *    Added new return states for the virtual management port if multiple
 *    ports are active but differently configured.
 *    
 *    Revision 1.31  1998/12/11 15:17:02  gklug
 *    add: Link partnet autoneg states : Unknown Manual and Autonegotiation
 *    
 *    Revision 1.30  1998/12/07 12:17:04  gklug
 *    add: Link Partner autonegotiation flag
 *    
 *    Revision 1.29  1998/12/01 10:54:42  gklug
 *    add: variables for XMAC Errata
 *    
 *    Revision 1.28  1998/12/01 10:14:15  gklug
 *    add: PIsave saves the Interrupt status word
 *    
 *    Revision 1.27  1998/11/26 15:24:52  mhaveman
 *    Added link status states SK_LMODE_STAT_AUTOHALF and
 *    SK_LMODE_STAT_AUTOFULL which are used by PNMI.
 *    
 *    Revision 1.26  1998/11/26 14:53:01  gklug
 *    add:autoNeg Timeout variable
 *    
 *    Revision 1.25  1998/11/26 08:58:50  gklug
 *    add: Link Mode configuration (AUTO Sense mode)
 *    
 *    Revision 1.24  1998/11/24 13:30:27  gklug
 *    add: PCheckPar to port struct
 *    
 *    Revision 1.23  1998/11/18 13:23:26  malthoff
 *    Add SK_PKT_TO_MAX.
 *    
 *    Revision 1.22  1998/11/18 13:19:54  gklug
 *    add: PPrevShorts and PLinkBroken to port struct for WA XMAC Errata #C1
 *
 *    Revision 1.21  1998/10/26 08:02:57  malthoff
 *    Add GIRamOffs.
 *    
 *    Revision 1.20  1998/10/19 07:28:37  malthoff
 *    Add prototyp for SkGeInitRamIface().
 *    
 *    Revision 1.19  1998/10/14 14:47:48  malthoff
 *    SK_TIMER should not be defined for Diagnostics.
 *    Add SKERR_HWI_E015MSG and SKERR_HWI_E016MSG.
 *    
 *    Revision 1.18  1998/10/14 14:00:03  gklug
 *    add: timer to port struct for workaround of Errata #2
 *    
 *    Revision 1.17  1998/10/14 11:23:09  malthoff
 *    Add prototype for SkXmAutoNegDone().
 *    Fix SkXmSetRxCmd() prototype statement.
 *
 *    Revision 1.16  1998/10/14 05:42:29  gklug
 *    add: HWLinkUp flag to Port struct
 *    
 *    Revision 1.15  1998/10/09 08:26:33  malthoff
 *    Rename SK_RB_ULPP_B to SK_RB_LLPP_B.
 *    
 *    Revision 1.14  1998/10/09 07:11:13  malthoff
 *    bug fix: SK_FACT_53 is 85 not 117.
 *    Rework time out init values.
 *    Add GIPortUsage and corresponding defines.
 *    Add some error log messages.
 *    
 *    Revision 1.13  1998/10/06 14:13:14  malthoff
 *    Add prototyp for SkGeLoadLnkSyncCnt().
 *
 *    Revision 1.12  1998/10/05 11:29:53  malthoff
 *    bug fix: A comment was not closed.
 *
 *    Revision 1.11  1998/10/05 08:01:59  malthoff
 *    Add default Timeout- Threshold- and
 *    Watermark constants. Add QRam start and end
 *    variables. Also add vars to store the polling
 *    mode and receive command. Add new Error Log
 *    Messages and function prototypes.
 *
 *    Revision 1.10  1998/09/28 13:34:48  malthoff
 *    Add mode bits for LED functions.
 *    Move Autoneg and Flow Ctrl bits from shgesirq.h
 *    Add the required Error Log Entries
 *    and Function Prototypes.
 *
 *    Revision 1.9  1998/09/16 14:38:41  malthoff
 *    Rework the SK_LNK_xxx defines.
 *    Add error log message defines.
 *    Add prototypes for skxmac2.c
 *
 *    Revision 1.8  1998/09/11 05:29:18  gklug
 *    add: init state of a port
 *
 *    Revision 1.7  1998/09/08 08:35:52  gklug
 *    add: defines of the Init Levels
 *
 *    Revision 1.6  1998/09/03 13:48:42  gklug
 *    add: Link strati, capabilities to Port struct
 *
 *    Revision 1.5  1998/09/03 13:30:59  malthoff
 *    Add SK_LNK_BLINK and SK_LNK_PERM.
 *
 *    Revision 1.4  1998/09/03 09:55:31  malthoff
 *    Add constants for parameters Dir and RstMode
 *    when calling SkGeStopPort().
 *    Rework the prototyp section.
 *    Add Queue Address offsets PRxQOff, PXsQOff, and PXaQOff.
 *    Remove Ioc with IoC.
 *
 *    Revision 1.3  1998/08/19 09:11:54  gklug
 *    fix: struct are removed from c-source (see CCC)
 *    add: typedefs for all structs
 *
 *    Revision 1.2  1998/07/28 12:38:26  malthoff
 *    The prototypes got the parameter 'IoC'.
 *
 *    Revision 1.1  1998/07/23 09:50:24  malthoff
 *    Created.
 *
 *
 ******************************************************************************/

#ifndef __INC_SKGEINIT_H_
#define __INC_SKGEINIT_H_

#ifdef __cplusplus
extern "C" {
#endif    /* __cplusplus */

/* defines ********************************************************************/

/*
 * defines for modifying Link LED behaviour (has been used with SkGeLinkLED())
 */
#define SK_LNK_OFF    LED_OFF
#define SK_LNK_ON    (LED_ON | LED_BLK_OFF| LED_SYNC_OFF)    
#define SK_LNK_BLINK    (LED_ON | LED_BLK_ON | LED_SYNC_ON)
#define SK_LNK_PERM    (LED_ON | LED_BLK_OFF| LED_SYNC_ON)
#define SK_LNK_TST    (LED_ON | LED_BLK_ON | LED_SYNC_OFF)

/*
 * defines for parameter 'Mode' when calling SK_HWAC_LINK_LED()
 */
#define SK_LED_OFF    LED_OFF
#define SK_LED_ACTIVE    (LED_ON | LED_BLK_OFF| LED_SYNC_OFF)
#define SK_LED_STANDBY    (LED_ON | LED_BLK_ON| LED_SYNC_OFF)

/*
 * defines for parameter 'Mode' when calling SkGeXmitLED()
 */
#define SK_LED_DIS    0
#define SK_LED_ENA    1
#define SK_LED_TST    2

/*
 * Counter and Timer constants, for a host clock of 62.5 MHz
 */
#define SK_XMIT_DUR    0x002faf08L        /*  50 ms */
#define SK_BLK_DUR    0x01dcd650L        /* 500 ms */

#define SK_DPOLL_DEF    0x00EE6B28L        /* 250 ms */
#define SK_DPOLL_MAX    0x00FFFFFFL        /* ca. 268ms */

#define SK_FACT_62    100            /* is given in percent */
#define SK_FACT_53     85

/*
 * Timeout values
 */
#define SK_MAC_TO_53    72        /* MAC arbiter timeout */
#define SK_PKT_TO_53    0x2000        /* Packet arbiter timeout */
#define SK_PKT_TO_MAX    0xffff        /* Maximum value */
#define SK_RI_TO_53    36        /* RAM interface timeout */

/*
 * RAM Buffer High Pause Threshold values
 */
#define SK_RB_ULPP    ( 8 * 1024)    /* Upper Level in kB/8 */
#define SK_RB_LLPP_S    (10 * 1024)    /* Lower Level for small Queues */
#define SK_RB_LLPP_B    (16 * 1024)    /* Lower Level for big Queues */

#ifndef SK_BMU_RX_WM
#define SK_BMU_RX_WM    0x600        /* BMU Rx Watermark */
#endif
#ifndef SK_BMU_TX_WM
#define SK_BMU_TX_WM    0x600        /* BMU Rx Watermark */
#endif

/* XMAC II Tx Threshold */
#define SK_XM_THR_REDL    0x01fb        /* .. for redundant link usage */
#define SK_XM_THR_SL    0x01fb        /* .. for single link adapters */
#define SK_XM_THR_MULL    0x01fb        /* .. for multiple link usage */
#define SK_XM_THR_JUMBO    0x03fc        /* .. for jumbo frame usage */

/* values for GIPortUsage */
#define SK_RED_LINK    1        /* redundant link usage */
#define SK_MUL_LINK    2        /* multiple link usage */
#define SK_JUMBO_LINK    3        /* driver uses jumbo frames */

/* Minimum RAM Buffer Receive Queue Size */
#define SK_MIN_RXQ_SIZE    16    /* 16 kB */
/*
 * defines for parameter 'Dir' when calling SkGeStopPort()
 */
#define    SK_STOP_TX    1    /* Stops the transmit path, resets the XMAC */
#define SK_STOP_RX    2    /* Stops the receive path */
#define SK_STOP_ALL    3    /* Stops rx and tx path, resets the XMAC */

/*
 * defines for parameter 'RstMode' when calling SkGeStopPort()
 */
#define SK_SOFT_RST    1    /* perform a software reset */
#define SK_HARD_RST    2    /* perform a hardware reset */

/*
 * Define Init Levels
 */
#define    SK_INIT_DATA    0    /* Init level 0: init data structures */
#define    SK_INIT_IO    1    /* Init level 1: init with IOs */
#define    SK_INIT_RUN    2    /* Init level 2: init for run time */

/*
 * Set Link Mode Parameter
 */
#define    SK_LMODE_HALF        1    /* Half Duplex Mode */
#define    SK_LMODE_FULL        2    /* Full Duplex Mode */
#define    SK_LMODE_AUTOHALF    3    /* AutoHalf Duplex Mode */
#define    SK_LMODE_AUTOFULL    4    /* AutoFull Duplex Mode */
#define    SK_LMODE_AUTOBOTH    5    /* AutoBoth Duplex Mode */
#define    SK_LMODE_AUTOSENSE    6    /* configured mode auto sensing */
#define SK_LMODE_INDETERMINATED    7    /* Return value for virtual port if
                     * multiple ports are differently
                     * configured.
                     */

/*
 * Autonegotiation timeout in 100ms granularity.
 */
#define    SK_AND_MAX_TO        6    /* Wait 600 msec before link comes up */

/*
 * Define Autonegotiation error codes here
 */
#define    SK_AND_OK        0    /* no error */
#define    SK_AND_OTHER        1    /* other error than below */
#define    SK_AND_DUP_CAP        2    /* Duplex capabilities error */

/*
 * Link Capability value
 */
#define    SK_LMODE_CAP_HALF    (1<<0)    /* Half Duplex Mode */
#define    SK_LMODE_CAP_FULL    (1<<1)    /* Full Duplex Mode */
#define    SK_LMODE_CAP_AUTOHALF    (1<<2)    /* AutoHalf Duplex Mode */
#define    SK_LMODE_CAP_AUTOFULL    (1<<3)    /* AutoFull Duplex Mode */
#define SK_LMODE_CAP_INDETERMINATED (1<<4) /* Return value for virtual port if
                     * multiple ports are differently
                     * configured.
                     */

/*
 * Link mode current state
 */
#define    SK_LMODE_STAT_UNKNOWN    1    /* Unknown Duplex Mode */
#define    SK_LMODE_STAT_HALF    2    /* Half Duplex Mode */
#define    SK_LMODE_STAT_FULL    3    /* Full Duplex Mode */
#define SK_LMODE_STAT_AUTOHALF    4    /* Half Duplex Mode obtained by AutoNeg */
#define SK_LMODE_STAT_AUTOFULL    5    /* Half Duplex Mode obtained by AutoNeg */
#define SK_LMODE_STAT_INDETERMINATED 6    /* Return value for virtual port if
                     * multiple ports are differently
                     * configured.
                     */
/*
 * Set Flow Control Mode Parameter (and capabilities)
 */
#define    SK_FLOW_MODE_NONE    1    /* No Flow Control */
#define    SK_FLOW_MODE_LOC_SEND    2    /* Local station sends PAUSE */
#define    SK_FLOW_MODE_SYMMETRIC    3    /* Both station may send PAUSE */
#define    SK_FLOW_MODE_SYM_OR_REM    4    /* Both station may send PAUSE or
                     * just the remote station may send
                     * PAUSE
                     */
#define SK_FLOW_MODE_INDETERMINATED 5    /* Return value for virtual port if
                     * multiple ports are differently
                     * configured.
                     */

/*
 * Flow Control Status Parameter
 */
#define    SK_FLOW_STAT_NONE    1    /* No Flow Control */
#define    SK_FLOW_STAT_REM_SEND    2    /* Remote Station sends PAUSE */
#define    SK_FLOW_STAT_LOC_SEND    3    /* Local station sends PAUSE */
#define    SK_FLOW_STAT_SYMMETRIC    4    /* Both station may send PAUSE */
#define SK_FLOW_STAT_INDETERMINATED 5    /* Return value for virtual port if
                     * multiple ports are differently
                     * configured.
                     */
/*
 * Master/Slave Mode capabilities
 */
#define    SK_MS_CAP_AUTO        (1<<0)    /* Automatic resolution */
#define    SK_MS_CAP_MASTER    (1<<1)    /* This station is master */
#define    SK_MS_CAP_SLAVE        (1<<2)    /* This station is slave */
#define    SK_MS_CAP_INDETERMINATED (1<<3)    /* Return value for virtual port if
                     * multiple ports are differently
                     * configured.
                     */

/*
 * Set Master/Slave Mode Parameter (and capabilities)
 */
#define    SK_MS_MODE_AUTO        1    /* Automatic resolution */
#define    SK_MS_MODE_MASTER    2    /* This station is master */
#define    SK_MS_MODE_SLAVE    3    /* This station is slave */
#define SK_MS_MODE_INDETERMINATED 4    /* Return value for virtual port if 
                     * multiple ports are differently
                     */

/*
 * Master/Slave Status Parameter
 */
#define    SK_MS_STAT_UNSET    1    /* The MS status is never been determ*/
#define    SK_MS_STAT_MASTER    2    /* This station is master */
#define    SK_MS_STAT_SLAVE    3    /* This station is slave */
#define    SK_MS_STAT_FAULT    4    /* MS resolution failed */
#define SK_MS_STAT_INDETERMINATED 5    /* Return value for virtual port if
                     * multiple ports are differently
                     */

/*
 * defines for parameter 'Mode' when calling SkXmSetRxCmd()
 */
#define SK_STRIP_FCS_ON        (1<<0)    /* Enable FCS stripping of rx frames */
#define SK_STRIP_FCS_OFF    (1<<1)    /* Disable FCS stripping of rx frames */
#define SK_STRIP_PAD_ON        (1<<2)    /* Enable pad byte stripping of rx f */
#define SK_STRIP_PAD_OFF    (1<<3)    /* Disable pad byte stripping of rx f */
#define SK_LENERR_OK_ON        (1<<4)    /* Don't chk fr for in range len error*/
#define SK_LENERR_OK_OFF    (1<<5)    /* Check frames for in range len error*/
#define SK_BIG_PK_OK_ON        (1<<6)    /* Don't set rcvError bit for big fr */
#define SK_BIG_PK_OK_OFF    (1<<7)    /* Set rcvError bit for big frames */    

/*
 * States of PState
 */
#define SK_PRT_RESET    0    /* the port is reset */
#define SK_PRT_STOP    1    /* the port is stopped (similar to sw reset) */
#define SK_PRT_INIT    2    /* the port is initialized */
#define SK_PRT_RUN    3    /* the port has an active link */

/*
 * Default receive frame limit for Workaround of XMAC Errata
 */
#define    SK_DEF_RX_WA_LIM    SK_CONSTU64(100)

/*
 * Define link partner Status
 */
#define    SK_LIPA_UNKNOWN    0    /* Link partner is in unknown state */
#define    SK_LIPA_MANUAL    1    /* Link partner is in detected manual state */
#define    SK_LIPA_AUTO    2    /* Link partner is in autonegotiation state */

/*
 * Define Maximum Restarts before restart is ignored (3com WA)
 */
#define    SK_MAX_LRESTART    3    /* Max. 3 times the link is restarted */

/*
 * define max. autonegotiation timeouts before link detection in sense mode is
 * reset.
 */
#define    SK_MAX_ANEG_TO    10    /* Max. 10 times the sense mode is reset */

/* structures *****************************************************************/

/*
 * Port Structure
 */
typedef    struct s_GePort {
#ifndef SK_DIAG
    SK_TIMER    PWaTimer;    /* Workaround Timer */
#endif
    SK_U64    PPrevShorts;    /* Previous short Counter checking */
    SK_U64    PPrevRx;        /* Previous RxOk Counter checking */
    SK_U64    PPrevFcs;        /* Previous FCS Error Counter checking */
    SK_U64    PRxLim;            /* Previous RxOk Counter checking */
    SK_U64    LastOctets;        /* For half duplex hang check */
#ifndef SK_DIAG
    SK_TIMER    HalfDupChkTimer;
#endif
    int        PLinkResCt;        /* Link Restart Counter */
    int        PAutoNegTimeOut;/* AutoNegotiation timeout current value */
    int        PAutoNegTOCt;    /* AutoNeg Timeout Counter */
    int        PRxQSize;        /* Port Rx Queue Size in kB */
    int        PXSQSize;        /* Port Synchronous Transmit Queue Size in kB */
    int        PXAQSize;        /* Port Asynchronous Transmit Queue Size in kB*/
    SK_U32    PRxQRamStart;    /* Receive Queue RAM Buffer Start Address */
    SK_U32    PRxQRamEnd;        /* Receive Queue RAM Buffer End Address */
    SK_U32    PXsQRamStart;    /* Sync Tx Queue RAM Buffer Start Address */
    SK_U32    PXsQRamEnd;        /* Sync Tx Queue RAM Buffer End Address */
    SK_U32    PXaQRamStart;    /* Async Tx Queue RAM Buffer Start Address */
    SK_U32    PXaQRamEnd;        /* Async Tx Queue RAM Buffer End Address */
    int        PRxQOff;        /* Rx Queue Address Offset */
    int        PXsQOff;        /* Synchronous Tx Queue Address Offset */
    int        PXaQOff;        /* Asynchronous Tx Queue Address Offset */
    int        PhyType;        /* PHY used on this port */
    SK_U16    PhyAddr;        /* MDIO/MDC PHY address */
    SK_U16    PRxCmd;            /* Port Receive Command Configuration Value */
    SK_U16    PIsave;            /* Saved Interrupt status word */
    SK_U16    PSsave;            /* Saved PHY status word */
    SK_U16    Align01;
    SK_BOOL    PHWLinkUp;        /* The hardware Link is up (wireing) */
    SK_BOOL    PState;            /* Is port initialized ? */
    SK_BOOL    PLinkBroken;    /* Is Link broken ? */
    SK_BOOL    PCheckPar;        /* Do we check for parity errors ? */
    SK_BOOL    HalfDupTimerActive;
    SK_U8    PLinkCap;        /* Link Capabilities */
    SK_U8    PLinkModeConf;    /* Link Mode configured */
    SK_U8    PLinkMode;        /* Link Mode currently used */
    SK_U8    PLinkModeStatus;/* Link Mode Status */
    SK_U8    PFlowCtrlCap;    /* Flow Control Capabilities */
    SK_U8    PFlowCtrlMode;    /* Flow Control Mode */
    SK_U8    PFlowCtrlStatus;/* Flow Control Status */
    SK_U8    PMSCap;            /* Master/Slave Capabilities */
    SK_U8    PMSMode;        /* Master/Slave Mode */
    SK_U8    PMSStatus;        /* Master/Slave Status */
    SK_U8    PAutoNegFail;    /* Autonegotiation fail flag */
    SK_U8    PLipaAutoNeg;    /* Autonegotiation possible with Link Partner */
    SK_U8    Align02;
} SK_GEPORT;

/*
 * Gigabit Ethernet Initalization Struct
 * (has to be included in the adapter context)
 */
typedef    struct s_GeInit {
    int            GIMacsFound;    /* Number of MACs found on this adapter */
    int            GIPciHwRev;        /* PCI HW Revision Number */
    SK_U32        GIRamOffs;        /* RAM Address Offset for addr calculation */
    int            GIRamSize;        /* The RAM size of the adapter in kB */
    int            GIHstClkFact;    /* Host Clock Factor (62.5 / HstClk * 100) */
    int            GIPortUsage;    /* driver port usage: SK_RED_LINK/SK_MUL_LINK */
    SK_U32        GIPollTimerVal;    /* Descriptor Poll Timer Init Val in clk ticks*/
    int            GILevel;        /* Initialization Level Completed */
    SK_GEPORT    GP[SK_MAX_MACS];/* Port Dependent Information */
    SK_BOOL        GIAnyPortAct;    /* Is True if one or more port is initialized */
    SK_U8        Align01;
    SK_U16        Align02;
} SK_GEINIT;

/*
 * Define the error numbers and messages for xmac_ii.c and skgeinit.c
 */
#define    SKERR_HWI_E001        (SK_ERRBASE_HWINIT)
#define    SKERR_HWI_E001MSG    "SkXmClrExactAddr() has got illegal parameters"
#define    SKERR_HWI_E002        (SKERR_HWI_E001+1)
#define    SKERR_HWI_E002MSG    "SkGeInit() Level 1 call missing"
#define    SKERR_HWI_E003        (SKERR_HWI_E002+1)
#define    SKERR_HWI_E003MSG    "SkGeInit() called with illegal init Level"
#define    SKERR_HWI_E004        (SKERR_HWI_E003+1)
#define    SKERR_HWI_E004MSG    "SkGeInitPort() Queue size illegal configured"
#define    SKERR_HWI_E005        (SKERR_HWI_E004+1)
#define    SKERR_HWI_E005MSG    "SkGeInitPort() cannot init running ports"
#define    SKERR_HWI_E006        (SKERR_HWI_E005+1)
#define    SKERR_HWI_E006MSG    "SkGeXmInit(): PState does not match HW state"
#define    SKERR_HWI_E007        (SKERR_HWI_E006+1)
#define    SKERR_HWI_E007MSG    "SkXmInitDupMd() called with invalid Dup Mode"
#define    SKERR_HWI_E008        (SKERR_HWI_E007+1)
#define    SKERR_HWI_E008MSG    "SkXmSetRxCmd() called with invalid Mode"
#define    SKERR_HWI_E009        (SKERR_HWI_E008+1)
#define    SKERR_HWI_E009MSG    "SkGeCfgSync() called although PXSQSize zero"
#define    SKERR_HWI_E010        (SKERR_HWI_E009+1)
#define    SKERR_HWI_E010MSG    "SkGeCfgSync() called with invalid parameters"
#define    SKERR_HWI_E011        (SKERR_HWI_E010+1)
#define    SKERR_HWI_E011MSG    "SkGeInitPort() Receive Queue Size to small"
#define    SKERR_HWI_E012        (SKERR_HWI_E011+1)
#define    SKERR_HWI_E012MSG    "SkGeInitPort() invalid Queue Size specified"
#define    SKERR_HWI_E013        (SKERR_HWI_E012+1)
#define    SKERR_HWI_E013MSG    "SkGeInitPort() cfg changed for running queue"
#define    SKERR_HWI_E014        (SKERR_HWI_E013+1)
#define    SKERR_HWI_E014MSG    "SkGeInitPort() unknown GIPortUsage specified"
#define    SKERR_HWI_E015        (SKERR_HWI_E014+1)
#define    SKERR_HWI_E015MSG    "Illegal Link mode parameter"
#define    SKERR_HWI_E016        (SKERR_HWI_E015+1)
#define    SKERR_HWI_E016MSG    "Illegal Flow control mode parameter"
#define    SKERR_HWI_E017        (SKERR_HWI_E016+1)
#define    SKERR_HWI_E017MSG    "Illegal value specified for GIPollTimerVal"
#define    SKERR_HWI_E018        (SKERR_HWI_E017+1)
#define    SKERR_HWI_E018MSG    "FATAL: SkGeStopPort() does not terminate"
#define    SKERR_HWI_E019        (SKERR_HWI_E018+1)
#define    SKERR_HWI_E019MSG    ""

/* function prototypes ********************************************************/

#ifndef    SK_KR_PROTO

/*
 * public functions in skgeinit.c
 */
extern void    SkGePollRxD(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port,
    SK_BOOL        PollRxD);

extern void    SkGePollTxD(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port,
    SK_BOOL     PollTxD);

extern void    SkGeYellowLED(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        State);

extern int    SkGeCfgSync(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port,
    SK_U32        IntTime,
    SK_U32        LimCount,
    int        SyncMode);

extern void    SkGeLoadLnkSyncCnt(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port,
    SK_U32        CntVal);

extern void    SkGeStopPort(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port,
    int        Dir,
    int        RstMode);

extern int    SkGeInit(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Level);

extern void    SkGeDeInit(
    SK_AC        *pAC,
    SK_IOC        IoC);

extern int    SkGeInitPort(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port);

extern void    SkGeXmitLED(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Led,
    int        Mode);

extern void    SkGeInitRamIface(
    SK_AC        *pAC,
    SK_IOC        IoC);

/*
 * public functions in skxmac2.c
 */
extern void    SkXmSetRxCmd(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port,
    int        Mode);

extern void    SkXmClrExactAddr(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port,
    int        StartNum,
    int        StopNum);

extern void    SkXmFlushTxFifo(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port);

extern void    SkXmFlushRxFifo(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port);

extern void    SkXmSoftRst(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port);

extern void    SkXmHardRst(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port);

extern void    SkXmInitMac(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port);

extern void    SkXmInitDupMd(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port);

extern void    SkXmInitPauseMd(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port);

extern int    SkXmAutoNegDone(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port);

extern void    SkXmAutoNegLipaXmac(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port,
    SK_U16        IStatus);

extern void    SkXmAutoNegLipaBcom(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port,
    SK_U16        IStatus);

extern void    SkXmAutoNegLipaLone(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port,
    SK_U16        IStatus);

extern void    SkXmIrq(
    SK_AC        *pAC,
    SK_IOC        IoC,
    int        Port,
    SK_U16        IStatus);

#else    /* SK_KR_PROTO */

/*
 * public functions in skgeinit.c
 */
extern void    SkGePollRxD();
extern void    SkGePollTxD();
extern void    SkGeYellowLED();
extern int    SkGeCfgSync();
extern void    SkGeLoadLnkSyncCnt();
extern void    SkGeStopPort();
extern int    SkGeInit();
extern void    SkGeDeInit();
extern int    SkGeInitPort();
extern void    SkGeXmitLED();
extern void    SkGeInitRamIface();

/*
 * public functions in skxmac2.c
 */
extern void    SkXmSetRxCmd();
extern void    SkXmClrExactAddr();
extern void    SkXmFlushTxFifo();
extern void    SkXmFlushRxFifo();
extern void    SkXmSoftRst();
extern void    SkXmHardRst();
extern void    SkXmInitMac();
extern void    SkXmInitDupMd();
extern void    SkXmInitPauseMd();
extern int    SkXmAutoNegDone();
extern void    SkXmAutoNegLipa();
extern void    SkXmIrq();

#endif    /* SK_KR_PROTO */

#ifdef __cplusplus
}
#endif    /* __cplusplus */

#endif    /* __INC_SKGEINIT_H_ */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0309 ]--