src/win32/CanFestival-3.def
author Robert Lehmann <robert.lehmann@sitec-systems.de>
Tue, 28 Jul 2015 16:36:55 +0200
changeset 793 72e9e1064432
parent 700 23df92154894
child 801 32d146b64a35
permissions -rw-r--r--
timers_unix: Fix termination problem of WaitReceiveTaskEnd

The function pthread_kill sends the Signal thread and to the own process.
If you use this construct than the application which calls uses the
canfestival api will terminate at the call of canClose. To avoid that
use pthread_cancel instead of pthread_kill. To use the pthread_cancel call
you need to set the cancel ability in the thread function. That means
you need to call pthread_setcancelstate and pthread_setcanceltype.
For the termination of the thread at any time it is important to set the
cancel type to PTHREAD_CANCEL_ASYNCHRONOUS.
; This file is part of CanFestival, a library implementing CanOpen Stack. 
;
; CanFestival Copyright (C): Edouard TISSERANT and Francis DUPIN
; CanFestival Win32 port Copyright (C) 2007 Leonid Tochinski, ChattenAssociates, Inc.
;
; See COPYING file for copyrights details.
; 
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2.1 of the License, or (at your option) any later version.
;
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
; Lesser General Public License for more details.
;
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

; CanFestival-3.def : Declares DLL exports.

LIBRARY      "CanFestival-3.DLL"

EXPORTS

        ; dcf.h
        check_and_start_node

        ; lifegrd.h
        _heartbeatError
        _post_SlaveBootup
        _post_SlaveStateChange
        getNodeState
        heartbeatInit
        heartbeatStop
        proceedNODE_GUARD
        
        ; nmtMaster.h
        masterSendNMTstateChange
        masterSendNMTnodeguard
        masterRequestNodeState
        
        ; nmtSlave.h
        proceedNMTstateChange
        slaveSendBootUp
        
        ; objacces.h
        _storeODSubIndex
        accessDictionaryError
        _getODentry
        _setODentry
        scanIndexOD
        RegisterSetODentryCallBack
        
        ; pdo.h
        buildPDO
        sendPDOrequest
        proceedPDO
        sendPDOevent
        _sendPDOevent
        sendOnePDOevent
        PDOInit
        PDOStop
        PDOEventTimerAlarm
        PDOInhibitTimerAlarm
        CopyBits
        _RxPDO_EventTimers_Handler

        ; sdo.h
        SDOTimeoutAlarm
        resetSDO
        SDOlineToObjdict
        objdictToSDOline
        lineToSDO
        SDOtoLine
        failedSDO
        resetSDOline
        initSDOline
        getSDOfreeLine
        getSDOlineOnUse
        closeSDOtransfer
        getSDOlineRestBytes
        setSDOlineRestBytes
        sendSDO
        sendSDOabort
        proceedSDO
        writeNetworkDict
        writeNetworkDictCallBack
        readNetworkDict
        readNetworkDictCallback
        getReadResultNetworkDict
        getWriteResultNetworkDict
        
        ; states.h
        _operational
        _preOperational
        _initialisation
        _stopped
        canDispatch
        getState
        setState
        getNodeId
        setNodeId
        ;initPreOperationalMode

        ; sync.h
        startSYNC
        stopSYNC
        _post_sync
        _post_TPDO
        sendSYNC
        proceedSYNC
        
        ; emcy.h
        emergencyInit
        emergencyStop
        EMCY_setError
        EMCY_errorRecovered
        _post_emcy
        
        ; timer.h
        SetAlarm
        DelAlarm
        TimeDispatch
        setTimer
        getElapsedTime
        
        ; timers_driver.h
        TimerInit
        TimerCleanup
        StartTimerLoop
        StopTimerLoop
        CreateReceiveTask
        
        ; win32/canfestival.h
		LoadCanDriver
		canSend
		canOpen
		canClose
		
		LeaveMutex
		EnterMutex