nicdrv.h

Go to the documentation of this file.
00001 /*
00002  * Simple Open EtherCAT Master Library 
00003  *
00004  * File    : nicdrv.h
00005  * Version : 1.2.5
00006  * Date    : 09-04-2011
00007  * Copyright (C) 2005-2011 Speciaal Machinefabriek Ketels v.o.f.
00008  * Copyright (C) 2005-2011 Arthur Ketels
00009  * Copyright (C) 2008-2009 TU/e Technische Universiteit Eindhoven 
00010  *
00011  * SOEM is free software; you can redistribute it and/or modify it under
00012  * the terms of the GNU General Public License version 2 as published by the Free
00013  * Software Foundation.
00014  *
00015  * SOEM is distributed in the hope that it will be useful, but WITHOUT ANY
00016  * WARRANTY; without even the implied warranty of MERCHANTABILITY or
00017  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00018  * for more details.
00019  *
00020  * As a special exception, if other files instantiate templates or use macros
00021  * or inline functions from this file, or you compile this file and link it
00022  * with other works to produce a work based on this file, this file does not
00023  * by itself cause the resulting work to be covered by the GNU General Public
00024  * License. However the source code for this file must still be made available
00025  * in accordance with section (3) of the GNU General Public License.
00026  *
00027  * This exception does not invalidate any other reasons why a work based on
00028  * this file might be covered by the GNU General Public License.
00029  *
00030  * The EtherCAT Technology, the trade name and logo “EtherCAT” are the intellectual
00031  * property of, and protected by Beckhoff Automation GmbH. You can use SOEM for
00032  * the sole purpose of creating, using and/or selling or otherwise distributing
00033  * an EtherCAT network master provided that an EtherCAT Master License is obtained
00034  * from Beckhoff Automation GmbH.
00035  *
00036  * In case you did not receive a copy of the EtherCAT Master License along with
00037  * SOEM write to Beckhoff Automation GmbH, Eiserstraße 5, D-33415 Verl, Germany
00038  * (www.beckhoff.com).
00039  */
00040 
00041 /** \file 
00042  * \brief
00043  * Headerfile for nicdrv.c 
00044  */
00045 
00046 #ifndef _nicdrvh_
00047 #define _nicdrvh_
00048 
00049 extern ec_bufT ec_rxbuf[EC_MAXBUF];
00050 extern ec_bufT ec_txbuf[EC_MAXBUF];
00051 extern ec_bufT ec_txbuf2;
00052 extern int ec_txbuflength[EC_MAXBUF];
00053 extern int ec_txbuflength2;
00054 extern int ec_incnt;
00055 extern int ec_errcnt;
00056 extern int ec_redstate;
00057 
00058 extern int hlp_txtime;
00059 extern int hlp_rxtime;
00060 
00061 extern int sockhandle, sockhandle2;
00062 
00063 extern const uint16 priMAC[3];
00064 extern const uint16 secMAC[3];
00065 
00066 int ec_setupnic(const char * ifname, int secondary);
00067 int ec_closenic(void);
00068 void ec_setupheader(void *p);
00069 void ec_setbufstat(uint8 idx, int bufstat);
00070 uint8 ec_getindex(void);
00071 int ec_outframe(uint8 idx, int sock);
00072 int ec_outframe_red(uint8 idx);
00073 int ec_waitinframe(uint8 idx, int timeout);
00074 int ec_srconfirm(uint8 idx,int timeout);
00075 
00076 #endif
Generated by  doxygen 1.6.3