Tani OpcPipe protocol  1.0.5
Tani OpcPipe protocol
Macros | Functions | Variables
PlcOpcPipeServer.c File Reference

Server part of OpcPipe. More...

Macros

#define DEBUG_WMK_ERR
 
#define CALLMODE_ACTIVATEITEM   1
 
#define CALLMODE_DEACTIVATEITEM   2
 
#define CALLMODE_REFRESHITEM   3
 
#define CALLMODE_GET_SYNCDATA_FROM_DEVICE   4
 
#define CALLMODE_SYNCDATA_FROM_DEVICE   5
 
#define CALLMODE_DATA_FROM_DEVICE   6
 
#define CALLMODE_HISTORY_DATA_FROM_DEVICE   7
 

Functions

OPCPIPE_INTERNALS * MaybeDeleteTopic (OPCPIPE_INTERNALS *t, OPCPIPE_TOPIC *topic)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopCreateItem (OPCPIPE_INTERNALS *t, W_UINT32 count, INTERNAL_CREATE_ITEM_DATA *ptr, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopActivateItem (OPCPIPE_INTERNALS *t, W_UINT32 count, INTERNAL_HANDLE_ITEM_DATA *ptr, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopDeactivateItem (OPCPIPE_INTERNALS *t, W_UINT32 count, INTERNAL_HANDLE_ITEM_DATA *ptr, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopDeleteItem (OPCPIPE_INTERNALS *t, W_UINT32 count, INTERNAL_HANDLE_ITEM_DATA *ptr, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopRefreshItem (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE readHandle, W_UINT32 count, INTERNAL_RW_ITEM_DATA *ptr, WMK_OPCPIPE_HANDLE *ackHandle, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopSyncReadItem (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE readHandle, W_UINT32 count, INTERNAL_RW_ITEM_DATA *ptr, WMK_OPCPIPE_HANDLE *ackHandle, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopHistoryReadItem (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE readHandle, INTERNAL_HISTORY_ITEM_DATA *ptr, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopHistoryEnabled (OPCPIPE_INTERNALS *t, const char *symbol, W_UINT8 *result, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopHistoryReadEvent (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE readHandle, INTERNAL_HISTORY_EVENT_DATA *ptr, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopWriteItem (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE writeHandle, W_UINT32 count, INTERNAL_RW_ITEM_DATA *ptr, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopStopWriteItems (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE writeHandle, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopStopSyncReadItems (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE readHandle, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopStopHistoryReadItem (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE readHandle, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopQueryItemInformation (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE topicHandle, WMK_OPCPIPE_HANDLE itemHandle, WMK_OPCPIPE_ITEM_INFO *itemInfo, int *perr)
 
OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopEventFieldsChanged (OPCPIPE_INTERNALS *t, EVENT_FIELD *eventFields, W_UINT32 noOfEventFields, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopDataAck (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE ackHandle, W_UINT32 count, INTERNAL_RW_ITEM_DATA *ptr, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopBrowseGeneric (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE browseHandle, W_UINT32 browseOpcode, W_UINT32 startOffset, const char *path, OPCPIPE_BROWSE_REQUEST_PARAMS *browseParams, W_UINT16 typ, W_UINT8 browseFlags, W_UINT32 *len, void **resultData, WMK_PTR_CONFIRM *confirm, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopBrowseItems (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE browseHandle, W_UINT32 startOffset, const char *path, OPCPIPE_BROWSE_REQUEST_PARAMS *browseParams, W_UINT16 typ, W_UINT8 browseFlags, W_UINT32 *len, void **resultData, WMK_PTR_CONFIRM *confirm, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopBrowseOneItem (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE browseHandle, const char *item, W_UINT8 browseFlags, W_UINT32 *len, void **resultData, WMK_PTR_CONFIRM *confirm, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopStopBrowseItems (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE browseHandle, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopDiagnostics (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE diagHandle, WMK_OPCPIPE_HANDLE *topicHandles, W_UINT32 noTopicHandles, W_UINT32 *plen, void **resultData, WMK_PTR_CONFIRM *confirm, int *perr)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopSamplerateChanged (OPCPIPE_INTERNALS *t)
 
EXTERN_C OPCPIPE_INTERNALS *WENTRY_C OpcPipeServerLoopRpcCall (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE callHandle, W_UINT32 rpcId, const char *name, W_UINT32 paramCount, RPC_PARAMETER *params, W_UINT32 *resultCount, RPC_PARAMETER **results, RpcParamConfirm *confirm, int *perr)
 
EXTERN_C int WENTRY_C WmkProtServerInit (PLC_OPCPIPE_CONFIRMS *confirm)
 
EXTERN_C int WENTRY_C WmkProtServerInitEx (PLC_OPCPIPE_CONFIRMS_EX *confirm)
 
EXTERN_C int WENTRY_C WmkProtServerTerminate (void)
 
EXTERN_C int WENTRY_C WmkProtServerValidateLibVersions ()
 
EXTERN_C int WENTRY_C WmkProtServerConnection (IP_CONNECT_PARAMS *ip, W_UINT8 *adapter, W_UINT32 *rethandle, const char *pwd, W_UINT32 options, ACCESS_VALUES *access)
 
EXTERN_C int WENTRY_C WmkProtOpcServerConnection (W_UINT32 *rethandle, OPC_DA_PARAMS *da, ACCESS_VALUES *access)
 
EXTERN_C int WENTRY_C WmkProtOpcUaServerConnection (PLC_OPCUA_CONNECTION_PARAMS *cr, UINT32 *rethandle, W_UINT32 options, ACCESS_VALUES *access)
 
EXTERN_C int WENTRY_C WmkProtMqttBrokerConnection (PLC_MQTT_CONNECTION_PARAMS *cr, UINT32 *rethandle)
 
EXTERN_C int WENTRY_C WmkProtServerStopConnection (W_UINT32 handle, int disableConfirms)
 Stops one server connection. There is no housekeeping on this function, only the connection is closed and internal memory is freed. More...
 
EXTERN_C int WENTRY_C WmkProtBrowseItemData (W_UINT32 handle, WMK_OPCPIPE_HANDLE browseHandle, W_UINT32 dataLen, PLC_OPCPIPE_BROWSEITEMDATA *data, WMK_PTR_CONFIRM confirm)
 
int InternalCreateItemData (OPCPIPE_INTERNALS **t, W_UINT32 itemCount, INTERNAL_CREATE_ITEM_DATA *data, int createErr)
 
EXTERN_C int WENTRY_C WmkProtCreateItemData (W_UINT32 handle, int createErr, W_UINT32 itemsCount, WMK_PROT_CREATE_ITEM_DATA *items)
 
int FillItemReadData (OPCPIPE_INTERNALS *t, WMK_PROT_RW_ITEM_DATA *appReadData, INTERNAL_RW_ITEM_DATA *readData, OPCPIPE_ITEM *item, HANDLE_PAIR *netrefItem)
 
int SendValueIntern (W_UINT32 handle, WMK_OPCPIPE_HANDLE readHandle, WMK_OPCPIPE_HANDLE ackHandle, W_UINT32 itemsCount, WMK_PROT_RW_ITEM_DATA *items, int isSyncRead)
 
EXTERN_C int WENTRY_C WmkProtCyclicReadData (W_UINT32 handle, WMK_OPCPIPE_HANDLE ackHandle, W_UINT32 itemsCount, WMK_PROT_RW_ITEM_DATA *items)
 
EXTERN_C int WENTRY_C WmkProtSyncReadData (W_UINT32 handle, WMK_OPCPIPE_HANDLE readHandle, WMK_OPCPIPE_HANDLE ackHandle, W_UINT32 itemsCount, WMK_PROT_RW_ITEM_DATA *items)
 
int FillHistoryItemReadData (OPCPIPE_INTERNALS *t, WMK_PROT_HISTORY_ITEM_DATA *appReadData, INTERNAL_HISTORY_ITEM_DATA *readData, OPCPIPE_ITEM *item, HANDLE_PAIR *netrefItem)
 
int SendHistoryValueIntern (W_UINT32 handle, WMK_OPCPIPE_HANDLE readHandle, WMK_PROT_HISTORY_ITEM_DATA *items)
 
EXTERN_C int WENTRY_C WmkProtHistoryReadData (W_UINT32 handle, WMK_OPCPIPE_HANDLE readHandle, WMK_PROT_HISTORY_ITEM_DATA *items)
 
int FillHistoryEventReadData (OPCPIPE_INTERNALS *t, WMK_PROT_HISTORY_EVENT_DATA *appReadData, INTERNAL_HISTORY_EVENT_DATA *readData)
 
int SendEventHistoryValueIntern (W_UINT32 handle, WMK_OPCPIPE_HANDLE readHandle, WMK_PROT_HISTORY_EVENT_DATA *event)
 
EXTERN_C int WENTRY_C WmkProtEventHistoryReadData (W_UINT32 handle, WMK_OPCPIPE_HANDLE readHandle, WMK_PROT_HISTORY_EVENT_DATA *event)
 
EXTERN_C int WENTRY_C WmkProtWriteComplete (W_UINT32 handle, WMK_OPCPIPE_HANDLE writeHandle, W_UINT32 itemsCount, WMK_PROT_RW_ITEM_DATA *items)
 
EXTERN_C int WENTRY_C WmkProtSetSecurity (W_UINT32 handle, WMK_OPCPIPE_HANDLE pipeTopicHandle, ACCESS_VALUES *access)
 Set access rights per topic. More...
 
EXTERN_C int WENTRY_C WmkProtRpcData (W_UINT32 handle, W_UINT32 callHandle, W_UINT32 errorCode, W_UINT32 resultCount, RPC_PARAMETER *results)
 
EXTERN_C int WENTRY_C WmkProtEventData (W_UINT32 handle, EVENT_RESULT *event)
 
EXTERN_C int WENTRY_C WmkProtSymbolsChanged (W_UINT32 handle, const char *browsePath)
 
EXTERN_C int WENTRY_C WmkProtServerDiagnostics (W_UINT32 handle, PLC_OPCPIPE_DIAG_REQUEST *request, PLC_OPCPIPE_DIAG_RESPONSE *response, W_UINT32 responseMemlen)
 query extended server diagnostics More...
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessInit (UA_INT_ACCESS_CONFIRMS *confirms)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessWrite (const char *nodeId, W_UINT16 type, W_UINT16 typeFlags, W_UINT32 len, void *data)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessRead (const char *nodeId, W_UINT16 *type, W_UINT16 *typeFlags, W_UINT32 *len, void **data, WMK_PTR_CONFIRM *confirm)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowse (const char *connectionName, const char *nodeId, W_UINT32 startOffset, PLC_OPCPIPE_BROWSEITEMDATA *result, W_UINT32 *resultlen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowsePath (const char *connectionName, const char *path, W_UINT32 startOffset, PLC_OPCPIPE_BROWSEITEMDATA *result, W_UINT32 *resultlen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowseOne (const char *connectionName, const char *path, PLC_OPCPIPE_BROWSEITEMDATA *result, W_UINT32 *resultlen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowseCallParams (const char *connectionName, const char *nodeId, int getOutput, W_UINT32 startOffset, PLC_OPCPIPE_BROWSEITEMDATA *result, W_UINT32 *resultlen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowseStructures (const char *connectionName, const char *nodeId, W_UINT32 startOffset, PLC_OPCPIPE_BROWSEITEMDATA *result, W_UINT32 *resultLen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowseOneStruct (const char *connectionName, const char *name, STRUCT_HEADER **result, W_UINT32 *resultLen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowseEnumerations (const char *connectionName, const char *nodeId, W_UINT32 startOffset, PLC_OPCPIPE_BROWSEITEMDATA *result, W_UINT32 *resultLen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowseOneEnumeration (const char *connectionName, const char *name, STRUCT_HEADER **result, W_UINT32 *resultLen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowseEventTypes (const char *connectionName, const char *path, W_UINT32 startOffset, PLC_OPCPIPE_BROWSEITEMDATA *result, W_UINT32 *resultLen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowseEvents (const char *connectionName, const char *path, W_UINT32 startOffset, PLC_OPCPIPE_BROWSEITEMDATA *result, W_UINT32 *resultLen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowseEventFields (const char *connectionName, const char *path, W_UINT32 startOffset, PLC_OPCPIPE_BROWSEITEMDATA *result, W_UINT32 *resultLen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessBrowseEventFieldsEx (const char *connectionName, const char *path, W_UINT32 startOffset, int includeParents, PLC_OPCPIPE_BROWSEITEMDATA *result, W_UINT32 *resultLen)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAddXml (const char *path)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalRemoveXml (const char *path)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalReloadXml (const char *additionalXmlLoadPath)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessAddObjectNode (PLC_OPCUA_NODE_ADD_DATA *data)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessAddVariableNode (PLC_OPCUA_NODE_ADD_DATA *data)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessAddMethodNode (PLC_OPCUA_NODE_ADD_DATA *data)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessAddViewNode (PLC_OPCUA_NODE_ADD_DATA *data)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessAddObjectTypeNode (PLC_OPCUA_NODE_ADD_DATA *data)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessAddVariableTypeNode (PLC_OPCUA_NODE_ADD_DATA *data)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessAddDataTypeNode (PLC_OPCUA_NODE_ADD_DATA *data)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessAddReferenceTypeNode (PLC_OPCUA_NODE_ADD_DATA *data)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessDeleteNode (const char *node)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessDeleteAllNodes ()
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessAddReference (const char *sourceNode, const char *targetNode, const char *referenceTypeId)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessDeleteReference (const char *sourceNode, const char *targetNode, const char *referenceTypeId)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessStopCondition (const char *conditionNode)
 
EXTERN_C int WENTRY_C WmkProtOpcUaInternalAccessResumeCondition (const char *conditionNode, int forceEvent)
 

Variables

W_UINT32 OpcUaStartDelay
 

Detailed Description

Server part of OpcPipe.

Th item management included is used in other applications, too

Author
MN
Version
8004
Date
Tue Oct 28 09:02:35 2025 !

Function Documentation

◆ WmkProtServerConnection()

EXTERN_C int WENTRY_C WmkProtServerConnection ( IP_CONNECT_PARAMS *  ip,
W_UINT8 *  adapter,
W_UINT32 *  rethandle,
const char *  pwd,
W_UINT32  options,
ACCESS_VALUES access 
)

Starts one OpcPipe server connection. The server must be initialized before.

Returns
error values
See also
WmkProtServerStopConnection
Parameters
[in]ipIP connect params for the connection
[in]adapter0 or the adapter id to use
[out]rethandleAddress to the returned server connection handle . The handle is valid if no error returns.
[in]pwdThe password string. Internally this is handled in MD5 manner. The password is case sensitive, it can contain all letters and is null terminated ("C" string).
[in]optionsBitwise options. values for the options and OPCPIPE_PARAMS::Options in starting a connection, bitwise
[in]accessaccess levels