Labels

Android (1) bash (2) boost (2) C (34) C++ (2) cheatsheet (2) CLion (6) css (3) Debian (33) DL (17) Docker (1) Dreamweaver (2) Eclipse (3) fail2ban (4) git (5) GitHub (4) Hacking (3) html (8) http (1) iOS (1) iPad (1) IRC (1) Java (30) javascript (3) Linux (164) Mac (19) Machine Learning (1) mySQL (47) Netbeans (4) Networking (1) Nexus (1) OpenVMS (6) Oracle (1) Pandas (3) php (16) Postgresql (8) Python (9) raid (1) RedHat (14) Samba (2) Slackware (45) SQL (14) svn (1) tar (1) ThinkPad (1) Virtualbox (3) Visual Basic (1) Visual Studio (1) Windows (2)

Thursday 27 August 2020

DL Process Control Applications - WIP

WIP




/pcli/run/ipmview shows IPM monitoring.

provides info' as per the example below;


 or when rolling;


/pcli/run/dblogview shows database connections/queries.


/pcli/run/logview shows general process app log.



If we look at the ipmview screen (the top 2), we can note the ID's, these seem to come from pcli/include/app_ipc.h as below;

/********************************************************************
!
!      I P C      D e f i n i t i o n s
!
!
!              AUTOMATICALLY GENERATED : DO NOT EDIT
!
*********************************************************************/
#ifndef _app_ipc_h
#define _app_ipc_h
#include "sdd/sdd_types.h"
//====================================================
// Define the IDs for each application process
//====================================================
#define APP_XXXX                1
#define APP_ALARM  5
#define APP_DATALOAD  28
#define APP_DBLOG  14
#define APP_DOA  9
#define APP_DOCUGIRL  32
#define APP_FURN3LOG  13
#define APP_GASCOM  18
#define APP_GASCUT  17
#define APP_GASREC  27
#define APP_HEAP  6
#define APP_INVOICE  29
#define APP_LARC  11
#define APP_LFIL  2
#define APP_LOGSQL  3
#define APP_MAINFRAME  25
#define APP_MESLINK  16
#define APP_MFLINK  21
#define APP_MQCB  24
#define APP_MQCRONOS  15
#define APP_MQFEC  23
#define APP_MQMCC  22
#define APP_OPREQ  4
#define APP_PAINTCOM  20
#define APP_PAINTMARK  19
#define APP_RHMODBUS  26
#define APP_SDL  8
#define APP_SMS  10
#define APP_STOCKMAN  31
#define APP_TESTAPP  12
#define APP_TESTFAIL  30
#define APP_TIMER  7
#define APP_UTIL  1
#define MAX_PROCS               120
#define PROC_STATE_IDLE        0
#define PROC_STATE_BUSY        1
#define PROC_STATE_DB        2
#define SHARE_KEY_IPM_PROCDIR    2000
#define SHARE_KEY_IPM_LOOPBUF    2001

//=========================================
//          Process Directory
//
// This keeps a list of all processes
// with their pid, to enable signalling
// between them for messaging
//=========================================

typedef struct _PROCDIR
{
    unsigned long id[MAX_PROCS]; // Process id
    unsigned long pid[MAX_PROCS]; // Process task id
    unsigned long mq_id[MAX_PROCS]; // Message queue id
    unsigned long proc_state[MAX_PROCS]; // Process state - idle, busy, DB
    unsigned long msg_rx_count[MAX_PROCS]; // Count of messages received
    unsigned long msg_tx_count[MAX_PROCS]; // Count of messages transmitted
    unsigned long msg_rx_errors[MAX_PROCS]; // Count of receive errors
    unsigned long msg_tx_errors[MAX_PROCS]; // Count of transmit errors
    char name[MAX_PROCS][32]; // Process name.
    DUMMY dummy[MAX_PROCS];   //
} PROCDIR;

//=========================================
//              SHORTIPM
//
// This defines a message structure
//=========================================

typedef struct _SHORTIPM
{
    unsigned long ipm_type; // 1 = short IPM
    unsigned short ipm_size; // =sizeof(SHORTIPM)
    int sam; // param 1
    int sal; // param 2
    int sx; // param 3
    int sy; // param 4
    int sz; // param 5
    double sa; // overlayed on 4190
    char text[200]; // for slab id etc.
    unsigned long txpid; // Process task id of sender
    unsigned long rxpid; // Process task id of receiver
    char sender[20]; // Task name of sender
    int dataptr; // Address of type data
} SHORTIPM;

#endif



TBC

No comments:

Post a Comment

Note: only a member of this blog may post a comment.