master/device.h
changeset 197 b9a6e2c22745
parent 195 674071846ee3
child 199 04ecf40fc2e9
equal deleted inserted replaced
196:f8a1e9f364a3 197:b9a6e2c22745
     3  *  d e v i c e . h
     3  *  d e v i c e . h
     4  *
     4  *
     5  *  EtherCAT device structure.
     5  *  EtherCAT device structure.
     6  *
     6  *
     7  *  $Id$
     7  *  $Id$
       
     8  *
       
     9  *  Copyright (C) 2006  Florian Pose, Ingenieurgemeinschaft IgH
       
    10  *
       
    11  *  This file is part of the IgH EtherCAT Master.
       
    12  *
       
    13  *  The IgH EtherCAT Master is free software; you can redistribute it
       
    14  *  and/or modify it under the terms of the GNU General Public License
       
    15  *  as published by the Free Software Foundation; version 2 of the License.
       
    16  *
       
    17  *  The IgH EtherCAT Master is distributed in the hope that it will be
       
    18  *  useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    19  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    20  *  GNU General Public License for more details.
       
    21  *
       
    22  *  You should have received a copy of the GNU General Public License
       
    23  *  along with the IgH EtherCAT Master; if not, write to the Free Software
       
    24  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     8  *
    25  *
     9  *****************************************************************************/
    26  *****************************************************************************/
    10 
    27 
    11 #ifndef _EC_DEVICE_H_
    28 #ifndef _EC_DEVICE_H_
    12 #define _EC_DEVICE_H_
    29 #define _EC_DEVICE_H_
    14 #include <linux/interrupt.h>
    31 #include <linux/interrupt.h>
    15 
    32 
    16 #include "../include/ecrt.h"
    33 #include "../include/ecrt.h"
    17 #include "../devices/ecdev.h"
    34 #include "../devices/ecdev.h"
    18 #include "globals.h"
    35 #include "globals.h"
       
    36 
       
    37 /*****************************************************************************/
       
    38 
       
    39 /**
       
    40    \defgroup Device EtherCAT device
       
    41    Data types and functions for EtherCAT devices.
       
    42    An EtherCAT device is the connection from an EtherCAT master to a network
       
    43    interface card.
       
    44    \{
       
    45 */
    19 
    46 
    20 /*****************************************************************************/
    47 /*****************************************************************************/
    21 
    48 
    22 /**
    49 /**
    23    EtherCAT device.
    50    EtherCAT device.
    35     ec_isr_t isr; /**< pointer to the device's interrupt service routine */
    62     ec_isr_t isr; /**< pointer to the device's interrupt service routine */
    36     struct module *module; /**< pointer to the device's owning module */
    63     struct module *module; /**< pointer to the device's owning module */
    37     uint8_t link_state; /**< device link state */
    64     uint8_t link_state; /**< device link state */
    38 };
    65 };
    39 
    66 
       
    67 /** \} */
       
    68 
    40 /*****************************************************************************/
    69 /*****************************************************************************/
    41 
    70 
    42 int ec_device_init(ec_device_t *, ec_master_t *, struct net_device *,
    71 int ec_device_init(ec_device_t *, ec_master_t *, struct net_device *,
    43                    ec_isr_t, struct module *);
    72                    ec_isr_t, struct module *);
    44 void ec_device_clear(ec_device_t *);
    73 void ec_device_clear(ec_device_t *);