![]() |
Tani OpcPipe protocol
1.0.5
Tani OpcPipe protocol
|
General subs used in OpcPipe server and client. More...
Macros | |
| #define | TIMERRATE_NETCACHE (500 / OPCPIPE_TIMER_MS) |
| #define | CREATE_RETRY_TIMEOUT 40 |
| #define | DEBUG_WMK_ERR |
| #define | IN_BAD_SESSION 0x01 |
| #define | NETCACHE_IN_WORK_THREAD |
| #define | SERVER_HANDLE_DIFF 1 |
| #define | CLIENT_HANDLE_DIFF 1 |
| #define | OPCPIPE_HANDLE_TOPIC_SHIFT 20 |
| #define | NIL_INDEX 0 |
| #define | SEARCH_TREE_OFFSET_DIFF 1 |
| #define | SEARCH_TREE_FLAG_RED 0x0001 |
| #define | SEARCH_TREE_FLAG_IN_TREE 0x0002 |
| #define | ITEM_FROM_INDEX(index) (((index) == NIL_INDEX) ? 0 : (&(items[index - SEARCH_TREE_OFFSET_DIFF]))) |
| #define | INDEX_FROM_ITEM(item) (((item) - items) + SEARCH_TREE_OFFSET_DIFF) |
| #define | LEFT_CHILD(item) (((item)->SearchTreeLeft == NIL_INDEX) ? 0 : (&(items[(item)->SearchTreeLeft - SEARCH_TREE_OFFSET_DIFF]))) |
| #define | RIGHT_CHILD(item) (((item)->SearchTreeRight == NIL_INDEX) ? 0 : (&(items[(item)->SearchTreeRight - SEARCH_TREE_OFFSET_DIFF]))) |
| #define | PARENT(item) (((item)->SearchTreeParent == NIL_INDEX) ? 0 : (&(items[(item)->SearchTreeParent - SEARCH_TREE_OFFSET_DIFF]))) |
| #define | DEBUG_WMK |
| #define | DO_CONTINUE 1 |
Functions | |
| EXTERN_C unsigned long WENTRY_C | OpcPipeGetVersion (void) |
| char * | OpcPipeDatTime (char *text) |
| EXTERN_C int WENTRY_C | WmkProtReadDebugBuffer (char *buffer, W_UINT32 buflen) |
| query internal debug buffer More... | |
| void | DebugPrintAllItems (OPCPIPE_INTERNALS *t) |
| EXTERN_C int WENTRY_C | DatavalueReserveData (DATAVALUE *val, W_UINT32 datalen) |
| EXTERN_C W_UINT8 *WENTRY_C | DatavalueGetData (DATAVALUE *val) |
| EXTERN_C int WENTRY_C | DatavalueSetData (DATAVALUE *val, W_UINT8 *data, W_UINT32 datalen) |
| EXTERN_C int WENTRY_C | DatavalueClearData (DATAVALUE *val) |
| EXTERN_C WMK_OPCPIPE_HANDLE WENTRY_C | PipeHandleFromPointer (OPCPIPE_INTERNALS *t, OPCPIPE_TOPIC *topic, OPCPIPE_ITEM *item) |
| EXTERN_C int WENTRY_C | WmkProtHandleFromPointer (W_UINT32 handle, OPCPIPE_TOPIC *topic, OPCPIPE_ITEM *item, WMK_OPCPIPE_HANDLE *retHandle) |
| EXTERN_C W_UINT32 WENTRY_C | IndexFromPipeHandle (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE handle) |
| EXTERN_C int WENTRY_C | WmkProtIndexFromHandle (W_UINT32 handle, WMK_OPCPIPE_HANDLE topicOrItemHandle, W_UINT32 *retIndex) |
| EXTERN_C WMK_OPCPIPE_HANDLE WENTRY_C | TopicHandleFromItemHandle (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE itemHandle) |
| EXTERN_C int WENTRY_C | WmkProtTopicHandleFromItemHandle (W_UINT32 handle, WMK_OPCPIPE_HANDLE itemHandle, WMK_OPCPIPE_HANDLE *retHandle) |
| OPCPIPE_ITEM * | ItemTreeFirst (OPCPIPE_TOPIC *topic) |
| OPCPIPE_ITEM * | ItemTreeNext (OPCPIPE_TOPIC *topic, OPCPIPE_ITEM *item) |
| OPCPIPE_ITEM * | ItemTreePrefixSearch (OPCPIPE_TOPIC *topic, const char *prefix) |
| void | OpcPipeClearVariables (OPCPIPE_INTERNALS *t) |
| void | OpcPipeTerminateOne (OPCPIPE_INTERNALS *t, int disableConfirms) |
| EXTERN_C void WENTRY_C | OpcPipeRefConnection__ (OPCPIPE_INTERNALS *t, const char *file, int line) |
| EXTERN_C void WENTRY_C | OpcPipeUnRefConnection__ (OPCPIPE_INTERNALS *t, const char *file, int line) |
| EXTERN_C void WENTRY_C | OpcPipeRefTopic__ (OPCPIPE_INTERNALS *t, OPCPIPE_TOPIC *topic, const char *file, int line) |
| EXTERN_C void WENTRY_C | OpcPipeUnRefTopic__ (OPCPIPE_INTERNALS *t, OPCPIPE_TOPIC *topic, const char *file, int line) |
| OPCPIPE_INTERNALS * | OpcPipeConnError (OPCPIPE_INTERNALS *t, int who) |
| OPCPIPE_INTERNALS *WENTRY_C | OpcPipeConnStatusChange (OPCPIPE_INTERNALS *t) |
| OPCPIPE_INTERNALS *WENTRY_C | OpcPipeInternalsAlloc () |
| OPCPIPE_INTERNALS *WENTRY_C | OpcPipeInternals (int handle) |
| OPCPIPE_INTERNALS *WENTRY_C | OpcPipeInternalsFromNet (int handle) |
| OPCPIPE_INTERNALS *WENTRY_C | OpcPipeInternalsByOffset (W_UINT32 *offset) |
| EXTERN_C void WENTRY_C | OpcPipeSetEstab (OPCPIPE_INTERNALS *t, int bits) |
| EXTERN_C void WENTRY_C | OpcPipeResetEstab (OPCPIPE_INTERNALS *t, int bits) |
| HANDLE_PAIR * | OpcPipeAddElementReference (OPCPIPE_ITEM *dt, W_UINT16 handle, W_UINT32 id, int *perr) |
| int | OpcPipeFindElementReference (OPCPIPE_ITEM *it, W_UINT16 handle, HANDLE_PAIR **netref, W_UINT32 id) |
| OPCPIPE_ITEM *WENTRY_C | OpcPipeFindItemID (OPCPIPE_INTERNALS *t, OPCPIPE_ITEM *items, W_UINT32 itemsLen, W_UINT32 used, W_UINT32 rootIndex, W_UINT32 handle, WMK_OPCPIPE_HANDLE id, int add, HANDLE_PAIR **netref, const char *name) |
| OPCPIPE_TOPIC *WENTRY_C | OpcPipeFindTopicID (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE id, int add, const char *name, int nameLen) |
| int | OpcPipeFindItemIDs (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE topicHandle, WMK_OPCPIPE_HANDLE itemHandle, int lr, OPCPIPE_TOPIC **htopic, OPCPIPE_ITEM **hitem) |
| int WENTRY_C | FindItem (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE itemHandle, OPCPIPE_ITEM **item, HANDLE_PAIR **netrefItem) |
| int WENTRY_C | FindItemByNetHandle (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE netItemHandle, W_UINT32 *offset, OPCPIPE_ITEM **item, HANDLE_PAIR **netrefItem) |
| int WENTRY_C | FindItemByName (OPCPIPE_INTERNALS *t, const char *itemName, OPCPIPE_ITEM **item, HANDLE_PAIR **netrefItem, WMK_OPCPIPE_HANDLE *pipeItemHandle) |
| int WENTRY_C | FindTopicFromItem (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE itemHandle, OPCPIPE_TOPIC **topic) |
| OPCPIPE_INTERNALS * | OpcPipeBadQualityAllElements (OPCPIPE_INTERNALS *t, int quality, int markAsRecreate, int sendQuality, int *perr) |
| EXTERN_C void WENTRY_C | OpcPipeNetcacheHandling (OPCPIPE_INTERNALS *t) |
| void | TopicItemDeleteLoop (OPCPIPE_INTERNALS *t, OPCPIPE_TOPIC *topicTable, W_UINT32 availTopicTable, W_UINT32 *usedTopicTable, int force) |
| void | WorkThreadRelease (OPCPIPE_INTERNALS *t) |
| void | OpcPipeStartTimerThread () |
| void | OpcPipeStopTimerThread () |
| OPCPIPE_INTERNALS * | OpcPipeBrokenConnection (OPCPIPE_INTERNALS *t) |
| EXTERN_C int WENTRY_C | OpcPipeQueryVersion (W_UINT32 *version) |
| retrieves OpcPipe library version. More... | |
| EXTERN_C int WENTRY_C | WmkProtGetCapabilities (W_UINT32 handle, W_UINT64 *capabilities) |
| Queries the connection capabilities. This may be used for checking functionality or requested things in the partner or local configuration. More... | |
| EXTERN_C int WENTRY_C | WmkProtTopicList (W_UINT32 handle, W_UINT32 *tablen, OPCPIPE_TOPIC **table) |
| EXTERN_C int WENTRY_C | WmkProtItemList (W_UINT32 handle, W_UINT32 *tablen, OPCPIPE_ITEM **table) |
| EXTERN_C int WENTRY_C | WmkProtGetAppData (W_UINT32 handle, WMK_OPCPIPE_HANDLE pipeTopicHandle, void **appTopicData, WMK_OPCPIPE_HANDLE pipeItemHandle, void **appItemData) |
| EXTERN_C int WENTRY_C | WmkProtSetAppData (W_UINT32 handle, WMK_OPCPIPE_HANDLE pipeTopicHandle, void *appTopicData, WMK_OPCPIPE_HANDLE pipeItemHandle, void *appItemData) |
| Set application specific pointers. More... | |
| EXTERN_C int WENTRY_C | WmkProtGetItemName (W_UINT32 handle, WMK_OPCPIPE_HANDLE pipeTopicHandle, WMK_OPCPIPE_HANDLE pipeItemHandle, const char **itemName) |
| EXTERN_C int WENTRY_C | WmkProtFindTopicByName (W_UINT32 handle, const char *topicName, W_UINT32 *appTopicHandle, W_UINT32 *pipeTopicHandle) |
| EXTERN_C int WENTRY_C | WmkProtFindItemByName (W_UINT32 handle, WMK_OPCPIPE_HANDLE pipeTopicHandle, const char *itemName, W_UINT32 *appItemHandle, W_UINT32 *pipeItemHandle) |
| void | OpcPipeStopAllConnections (int server) |
| int | OpcPipeAddTopicID (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE topicHandle, int add, const char *topicName, int topicNameLen, OPCPIPE_TOPIC **topic, WMK_OPCPIPE_HANDLE *pipeTopicHandle) |
| int | OpcPipeAddItemID (OPCPIPE_INTERNALS *t, OPCPIPE_TOPIC *topic, WMK_OPCPIPE_HANDLE itemHandle, int lr, const char *itemName, OPCPIPE_ITEM **pitem, W_UINT16 itemTyp, W_UINT16 itemFlags, WMK_OPCPIPE_HANDLE *pipeItemHandle) |
| void | MarkItemDead (OPCPIPE_INTERNALS *t, OPCPIPE_TOPIC *topic, OPCPIPE_ITEM *item) |
| int | CleanupOneItemStart (OPCPIPE_INTERNALS **t, OPCPIPE_TOPIC *topic, OPCPIPE_ITEM *item, HANDLE_PAIR *netrefItem) |
| OPCPIPE_INTERNALS * | CleanupOneItemEnd (OPCPIPE_INTERNALS *t, OPCPIPE_TOPIC *topic, OPCPIPE_ITEM *item) |
| OPCPIPE_INTERNALS * | OpcPipeDeleteOneItem (OPCPIPE_INTERNALS *t, OPCPIPE_TOPIC *topic, OPCPIPE_ITEM *item, HANDLE_PAIR *nh, int doNetworkSend) |
| OPCPIPE_INTERNALS * | OpcPipeDeleteAllItems (OPCPIPE_INTERNALS *t, OPCPIPE_TOPIC *topic, int *perr) |
| int | OpcPipeDeleteItems (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE pipeTopicHandle, OPCPIPE_TOPIC *topic, WMK_OPCPIPE_HANDLE *appTopicHandle) |
| int | OpcPipeDeleteTopicID (OPCPIPE_INTERNALS *t, WMK_OPCPIPE_HANDLE pipeTopicHandle, WMK_OPCPIPE_HANDLE *appTopicHandle) |
| void | ConvertDiagTopicItemID (OPCPIPE_INTERNALS *t, W_UINT32 dataLen, void *data) |
| EXTERN_C void WENTRY_C | OpcPipeChangeNetworkHandle (OPCPIPE_INTERNALS *t, OPCPIPE_ITEM *item, WMK_OPCPIPE_HANDLE networkHandle) |
| EXTERN_C int WENTRY_C | OpcPipeNetErrToOpcPipeErr (int err) |
| EXTERN_C int WENTRY_C | WmkProtTimings (PLC_OPCPIPE_TIMINGS *timings, int func) |
| Handling of internal timings like life data ack send rate and check rate, and reset of connections. More... | |
| void | OpcPipeSetInternalCallbacks () |
Variables | |
| PLC_OPCPIPE_CONFIRMS_EX | OpcPipeServerConf |
| PLC_OPCPIPE_CONFIRMS_EX | OpcPipeClientConf |
| int | OpcPipeHasClientInit = 0 |
| int | OpcPipeHasServerInit = 0 |
| OPCPIPE_TOPIC * | GlobalTopicTable = 0 |
| W_UINT32 | UsedGlobalTopicTable = 0 |
| W_UINT32 | AvailGlobalTopicTable = 0 |
| int | DcomCaseInsensitive = 0 |
| W_UINT32 | OpcPipeNetCompatVersion = 0 |
| W_UINT32 | OpcDaCompatVersion = 0 |
| W_UINT32 | OpcUaCompatVersion = 0 |
| W_UINT32 | MqttCompatVersion = 0 |
| W_UINT32 | KNXCompatVersion = 0 |
| W_UINT32 | IEC104CompatVersion = 0 |
| W_UINT32 | OpcUaStartDelay |
General subs used in OpcPipe server and client.
Mostly the item management. Used as base in other applications, too
1.8.14