📄 dbcmd.c
字号:
print_queue((T_NODE*)&g_sFlgcb[i-1]);
}
tmpbuf.size ++; /* ++ is null */
return (int*)&tmpbuf;
}
tmpbuf.size = 0; /* init size */
for(i = stano; i <= endno; i++){
if(chk_prtbuf(256) < 0) break;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"*** FLGID = %d\n", i);
tmpbuf.size += cnt;
pFlgcb = (T_FLGCB*)&g_sFlgcb[i-1];
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"flgcb adr. :%08x\n", pFlgcb);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"wait queue :");
tmpbuf.size += cnt;
print_queue((T_NODE*)&g_sFlgcb[i-1]);
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"flag pattern:%04x\n",
pFlgcb->uhFlgPtn);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"wait pattern:%04x\n",
pFlgcb->uhWaiPtn);
tmpbuf.size += cnt;
waimod = (int)pFlgcb->bWaiMode; /* get flgChar */
switch(waimod){
case TWF_ANDW: strcpy(flgchar, "ANDW"); break;
case TWF_ANDW | TWF_CLR: strcpy(flgchar, "ANDW | CLR"); break;
case TWF_ORW: strcpy(flgchar, "ORW"); break;
case TWF_ORW | TWF_CLR: strcpy(flgchar, "ORW | CLR"); break;
}
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"wait mode :%s\n", flgchar);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"\n");
tmpbuf.size += cnt;
}
tmpbuf.size ++; /* ++ is null */
return (int*)&tmpbuf;
}
//***********************************************************************
// 3.7 Control Block Data (call mbf)
// This function is called from db33.This iprint_mbf command prints
// ROS33 message buffer control block data.
//***********************************************************************
int *iprint_mbf(int arg1, int arg2, int arg3)
{
T_MSGBUFCB* pMsgbufcb;
int i;
char msgmark[2];
char msgchar[13];
rtncode = chk_param(arg1, arg2, MSGBUF_NUM);
if(rtncode < 0){
cnt = sprintf(tmpbuf.buf,"NONE\n");
tmpbuf.size = cnt+1; /* +1 is null */
return (int*)&tmpbuf;
}
if(rtncode == 0){
cnt = sprintf(tmpbuf.buf,"ID MSG QUEUE\n");
tmpbuf.size = cnt;
for(i = stano; i <= endno; i++){
if(chk_prtbuf(80) < 0) break;
pMsgbufcb = (T_MSGBUFCB*)&g_sMsgbufcb[i-1];
if(pMsgbufcb->maxmsz == 0){ /* not vcre_mbf */
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"%-3d (NONE)\n", i);
tmpbuf.size += cnt;
}else{
if(pMsgbufcb->ubEmpty == 1){ /* set message mark(-,*) */
strcpy(msgmark, "-");
}else{
strcpy(msgmark, "*");
}
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"%-3d %s rcv ", i, msgmark);
tmpbuf.size += cnt;
print_queue((T_NODE*)&g_sMsgbufcb[i-1]);
cnt = sprintf(tmpbuf.buf+tmpbuf.size," snd ");
tmpbuf.size += cnt;
print_queue((T_NODE*)&(g_sMsgbufcb[i-1].pNxtSndTsk));
}
}
tmpbuf.size ++; /* ++ is null */
return (int*)&tmpbuf;
}
tmpbuf.size = 0; /* init size */
for(i = stano; i <= endno; i++){
if(chk_prtbuf(384) < 0) break;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"*** MBFID = %d\n", i);
tmpbuf.size += cnt;
pMsgbufcb = (T_MSGBUFCB*)&g_sMsgbufcb[i-1];
if(pMsgbufcb->maxmsz == 0){ /* not vcre_mbf */
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"(NONE)\n");
tmpbuf.size += cnt;
}else{
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"msgbufcb adr:%08x\n", pMsgbufcb);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"wait rcv que:");
tmpbuf.size += cnt;
print_queue((T_NODE*)&g_sMsgbufcb[i-1]);
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"wait snd que:");
tmpbuf.size += cnt;
print_queue((T_NODE*)&(g_sMsgbufcb[i-1].pNxtSndTsk));
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"start adr. :%08x\n",
pMsgbufcb->bufst);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"end adr. :%08x\n",
pMsgbufcb->bufend);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"head point :%08x\n",
pMsgbufcb->head);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"tail point :%08x\n",
pMsgbufcb->tail);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"max msgsize :%08x\n",
pMsgbufcb->maxmsz);
tmpbuf.size += cnt;
if(pMsgbufcb->ubEmpty == 1){ /* set message char */
strcpy(msgchar, "NONE MESSAGE");
}else{
strcpy(msgchar, "MESSAGE");
}
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"empty flag :%s\n", msgchar);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"\n");
tmpbuf.size += cnt;
}
}
tmpbuf.size ++; /* ++ is null */
return (int*)&tmpbuf;
}
//***********************************************************************
// 3.8 Control Block Data (call mpl)
// This function is called from db33.This iprint_mbf command prints
// ROS33 variable memory pool control block data.
//***********************************************************************
int *iprint_mpl(int arg1, int arg2, int arg3)
{
T_MPLCB* pMplcb;
int i;
rtncode = chk_param(arg1, arg2, MPLBLK_NUM);
if(rtncode < 0){
cnt = sprintf(tmpbuf.buf,"NONE\n");
tmpbuf.size = cnt+1; /* +1 is null */
return (int*)&tmpbuf;
}
if(rtncode == 0){
cnt = sprintf(tmpbuf.buf,"ID ROW QUEUE\n");
tmpbuf.size = cnt;
for(i = stano; i <= endno; i++){
if(chk_prtbuf(80) < 0) break;
pMplcb = (T_MPLCB*)&g_sMplcb[i-1];
if(pMplcb->StartAlloc == 0){ /* not vcre_mpl */
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"%-3d (NONE)\n", i);
tmpbuf.size += cnt;
}else{
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"%-3d %-3u ",
i, pMplcb->ulRow);
tmpbuf.size += cnt;
print_queue((T_NODE*)&g_sMplcb[i-1]);
}
}
tmpbuf.size ++; /* ++ is null */
return (int*)&tmpbuf;
}
tmpbuf.size = 0; /* init size */
for(i = stano; i <= endno; i++){
if(chk_prtbuf(512) < 0) break;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"*** MPLID = %d\n", i);
tmpbuf.size += cnt;
pMplcb = (T_MPLCB*)&g_sMplcb[i-1];
if(pMplcb->StartAlloc == 0){ /* not vcre_mpl */
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"(NONE)\n");
tmpbuf.size += cnt;
}else{
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"mplcb adr. :%08x\n", pMplcb);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"wait queue :");
tmpbuf.size += cnt;
print_queue((T_NODE*)&g_sMplcb[i-1]);
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"start adr. :%08x\n",
pMplcb->StartAlloc);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"end adr. :%08x\n",
pMplcb->EndAlloc);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"next point :%08x\n",
pMplcb->NxtAlcp);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"next table :%08x\n",
pMplcb->TblPtr);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"row counter :%u\n",
pMplcb->ulRow);
tmpbuf.size += cnt;
if(pMplcb->ulRow > 0){
/* print memory block */
print_memblk(pMplcb);
}
}
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"\n");
tmpbuf.size += cnt;
}
tmpbuf.size ++; /* ++ is null */
return (int*)&tmpbuf;
}
//***********************************************************************
// 3.9 Control Block Data (call mpf)
// This function is called from db33.This iprint_mbf command prints
// ROS33 fixed memory pool control block data.
//***********************************************************************
int *iprint_mpf(int arg1, int arg2, int arg3)
{
T_MPLCB* pMpfcb;
int i;
rtncode = chk_param(arg1, arg2, MPFBLK_NUM);
if(rtncode < 0){
cnt = sprintf(tmpbuf.buf,"NONE\n");
tmpbuf.size = cnt+1; /* +1 is null */
return (int*)&tmpbuf;
}
if(rtncode == 0){
cnt = sprintf(tmpbuf.buf,"ID ROW QUEUE\n");
tmpbuf.size = cnt;
for(i = stano; i <= endno; i++){
if(chk_prtbuf(80) < 0) break;
pMpfcb = (T_MPLCB*)&g_sMpfcb[i-1];
if(pMpfcb->StartAlloc == 0){ /* not vcre_mpf */
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"%-3d (NONE)\n", i);
tmpbuf.size += cnt;
}else{
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"%-3d %-3u", i,
pMpfcb->ulRow);
tmpbuf.size += cnt;
print_queue((T_NODE*)&g_sMpfcb[i-1]);
}
}
tmpbuf.size ++; /* ++ is null */
return (int*)&tmpbuf;
}
tmpbuf.size = 0; /* init size */
for(i = stano; i <= endno; i++){
if(chk_prtbuf(512) < 0) break;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"*** MPFID = %d\n", i);
tmpbuf.size += cnt;
pMpfcb = (T_MPLCB*)&g_sMpfcb[i-1];
if(pMpfcb->StartAlloc == 0){ /* not vcre_mpf */
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"(NONE)\n");
tmpbuf.size += cnt;
}else{
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"mpfcb adr. :%08x\n",
pMpfcb);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"wait queue :");
tmpbuf.size += cnt;
print_queue((T_NODE*)&g_sMpfcb[i-1]);
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"start adr. :%08x\n",
pMpfcb->StartAlloc);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"end adr. :%08x\n",
pMpfcb->EndAlloc);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"next point :%08x\n",
pMpfcb->NxtAlcp);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"next table :%08x\n",
pMpfcb->TblPtr);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"row counter :%u\n",
pMpfcb->ulRow);
tmpbuf.size += cnt;
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"block size :%u\n",
pMpfcb->ulBlksz);
tmpbuf.size += cnt;
if(pMpfcb->ulRow > 0){
/* print memory block */
print_memblk(pMpfcb);
}
}
cnt = sprintf(tmpbuf.buf+tmpbuf.size,"\n");
tmpbuf.size += cnt;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -