Hi,Pathway except errors. Can you tell me what am I doing wrong?
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting from
This is the code that I'm working on: ----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist #include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
} ----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,
Uros
On Friday, May 28, 2021 at 12:06:19 AM UTC-7, uros kusar wrote:Pathway except errors. Can you tell me what am I doing wrong?
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting from
you about what went wrong with the SERVERCLASS_SEND_ call.This is the code that I'm working on: ----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist #include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
} ----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,I see two coding errors in the program you included, but I cannot say whether either of them explains why the program is not working.
Uros
One coding error is that you do not check the error return from SERVERCLASS_SEND_INFO_. If something was wrong with that call to SERVERCLASS_SEND_INFO_, the values you are displaying for pathsend error and fs error might not be true, thereby misleading
Assuming that nothing went wrong in the SERVERCLASS_SEND_INFO_ call, the errors were 904 and 12. The 904 says that there was an error when making the link to the server. Filesystem error 12 is the generic 'file in use' error when returned from an openof a disk file, but I'm not sure how to interpret it for a failure of a link request. If we dug into the description of link management, maybe there would be a description of what error 12 means in that context, but I did not take the time to do that
The other coding error is in the SERVERCLASS_SEND_ call. I am not sure it is the cause of the SERVERCLASS_SEND_ failure, but the first thing I would do is fix it and see whether that changes how the program works.destroy the supposedly constant value of that string. It might not be able to write into that storage if the compiler sets up string constants in a read-only memory segment. If the compiler sets up the string constant in a writable memory segment,
The problem is that the SERVERCLASS_SEND_ call says that the buffer argument can accept a reply of 200 characters, but that is not how you declared buffer. You declared buffer to be a char*, then initialized it to point to the string constant
"STATUS PROCESS P1A^BICUNI1"
SERVERCLASS_SEND_ puts the reply into the same buffer from which it took the outgoing message. So in your program, if it actually got a reply, it would try to store it into the memory where "STATUS PROCESS P1A^BICUNI1" is. At the very least, that will
So change your program to declare buffer to be a 200-byte array, and put the string constant into it using strcpy(). Then see whether you get a more sensible result. If you still get an error, post again and we can dig into how filesystem error 12 on alink request is supposed to be interpreted.
Hi,except errors. Can you tell me what am I doing wrong?
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting from Pathway
This is the code that I'm working on: >----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist >#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
} >----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,
Uros
On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:Pathway except errors. Can you tell me what am I doing wrong?
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting from
This is the code that I'm working on: >----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist >#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
} >----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,Uros,
Uros
Keith and Randall gave very valuable responses.
Also one other possibility is that, in creating the link, the PATHMON tried to start a server process.
If that server process has a fixed PROCESS NAME for each isntance, and if there is already a running process with that name,
the attempt to start the process would get an error 12. Look at the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and
check what is in the "PROCESS". If it's present, there will either be one process name, or a list in paraentheses.
From a TACL prompt, issue a status command for each process in the list.
Bill
On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote:Pathway except errors. Can you tell me what am I doing wrong?
On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting from
duplicate process name is likely to be the explanation for this problem. Perhaps Uros has set up a test environment by duplicating the configuration of an existing environment and did not know to change the configured fixed server process names.This is the code that I'm working on: >----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist >#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
} >----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,Uros,
Uros
Keith and Randall gave very valuable responses.
Also one other possibility is that, in creating the link, the PATHMON tried to start a server process.
If that server process has a fixed PROCESS NAME for each isntance, and if there is already a running process with that name,
the attempt to start the process would get an error 12. Look at the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and
check what is in the "PROCESS". If it's present, there will either be one process name, or a list in paraentheses.
From a TACL prompt, issue a status command for each process in the list.
BillBill,
Very good remembering that filesystem error 12 is used for attempting to start a process with a name that already exists. I should have remembered that myself. Unless Pathway's link management also uses filesystem error 12 for other problems, I'd say a
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napisala:Pathway except errors. Can you tell me what am I doing wrong?
On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote:
On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting from
a duplicate process name is likely to be the explanation for this problem. Perhaps Uros has set up a test environment by duplicating the configuration of an existing environment and did not know to change the configured fixed server process names.This is the code that I'm working on: >----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist >#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
} >----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,Uros,
Uros
Keith and Randall gave very valuable responses.
Also one other possibility is that, in creating the link, the PATHMON tried to start a server process.
If that server process has a fixed PROCESS NAME for each isntance, and if there is already a running process with that name,
the attempt to start the process would get an error 12. Look at the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and
check what is in the "PROCESS". If it's present, there will either be one process name, or a list in paraentheses.
From a TACL prompt, issue a status command for each process in the list.
BillBill,
Very good remembering that filesystem error 12 is used for attempting to start a process with a name that already exists. I should have remembered that myself. Unless Pathway's link management also uses filesystem error 12 for other problems, I'd say
Hi,server SERVER-NCP, which sees all "node" servers.
Thank you all for your help.
I changed the code:
1) I added SERVERCLASS_SEND_INFO output error number to see if command was succsesfully processed.
2) I changed the buffer to a 200-byte array.
3) I find some tal example of a similar program and I noticed that this tal program, sends the command to a different pathway server. I send it to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal program sends the command to the
It is interesting because if I send a command to SERVER-NCP I get a different error code.
SERVER-NCP:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21
SERVER-NCP-1A:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
I think that the correct server is a SERVER-NCP.
---------------------------------------------------------------------------------------------------------------------------------------------
Pahway server configuration:
MAXLINKMONS 20 [CURRENTLY 2]
SERVER SERVER-NCPI-1A
LINKDEPTH 1
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1AU (ASSOCIATIVE ON)
SERVER SERVER-NCP
LINKDEPTH 32
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1C1
PROCESS $D1C2
PROCESS $D1C3 ---------------------------------------------------------------------------------------------------------------------------------------------
code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <tal.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist
main()
{
short error, error2, pserror, fserror,countread;
char *pmon;
char buffer [200]={0};
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCP";
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror); printf("\nSERVERCLASS_SEND_INFO error = %d \nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n",error2, error, pserror, fserror);
printf("\nBuffer size = %d\n", strlen(buffer));
int i;
for(i=0; i<strlen(buffer); i++)
{
printf("%c",buffer[i]);
}
printf("\n\n\n");
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
On Monday, May 31, 2021 at 4:07:06 AM UTC-7, uros kusar wrote:Pathway except errors. Can you tell me what am I doing wrong?
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napisala:
On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote:
On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting from
say a duplicate process name is likely to be the explanation for this problem. Perhaps Uros has set up a test environment by duplicating the configuration of an existing environment and did not know to change the configured fixed server process names.This is the code that I'm working on: >----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist
#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
} >----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,Uros,
Uros
Keith and Randall gave very valuable responses.
Also one other possibility is that, in creating the link, the PATHMON tried to start a server process.
If that server process has a fixed PROCESS NAME for each isntance, and if there is already a running process with that name,
the attempt to start the process would get an error 12. Look at the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and
check what is in the "PROCESS". If it's present, there will either be one process name, or a list in paraentheses.
From a TACL prompt, issue a status command for each process in the list.
BillBill,
Very good remembering that filesystem error 12 is used for attempting to start a process with a name that already exists. I should have remembered that myself. Unless Pathway's link management also uses filesystem error 12 for other problems, I'd
server SERVER-NCP, which sees all "node" servers.Hi,
Thank you all for your help.
I changed the code:
1) I added SERVERCLASS_SEND_INFO output error number to see if command was succsesfully processed.
2) I changed the buffer to a 200-byte array.
3) I find some tal example of a similar program and I noticed that this tal program, sends the command to a different pathway server. I send it to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal program sends the command to the
anything about XPNET.It is interesting because if I send a command to SERVER-NCP I get a different error code.
SERVER-NCP:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21
SERVER-NCP-1A:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
I think that the correct server is a SERVER-NCP.
---------------------------------------------------------------------------------------------------------------------------------------------
Pahway server configuration:
MAXLINKMONS 20 [CURRENTLY 2]
SERVER SERVER-NCPI-1A
LINKDEPTH 1
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1AU (ASSOCIATIVE ON)
SERVER SERVER-NCP
LINKDEPTH 32
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1C1
PROCESS $D1C2
PROCESS $D1C3 ---------------------------------------------------------------------------------------------------------------------------------------------
code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <tal.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist main()
{
short error, error2, pserror, fserror,countread;
char *pmon;
char buffer [200]={0};
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCP";
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror); printf("\nSERVERCLASS_SEND_INFO error = %d \nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n",error2, error, pserror, fserror);
printf("\nBuffer size = %d\n", strlen(buffer));
int i;Filesystem error 21 usually means an illegal count was specified. That might mean that either the length of the buffer you are sending is wrong or the maximum reply size (200 in this case) is wrong. It might mean something else, since I don't know
for(i=0; i<strlen(buffer); i++)
{
printf("%c",buffer[i]);
}
printf("\n\n\n");
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
Pathway servers usually take input as data structures with fixed-length fields, not a text string like you would type to a command interpreter. Are you sure that the server you are sending to is expected a text string as its input? Do you have anydocumentation of what this server's interface is?
I notice that, although you show a new program that displays the value of error2, the output that you show does not include the line that would show the value of error2. Did you omit showing it because its value was 0, or are you showing output from adifferent version of your program?
On Monday, May 31, 2021 at 9:57:15 a.m. UTC-4, rkd...@gmail.com wrote:from Pathway except errors. Can you tell me what am I doing wrong?
On Monday, May 31, 2021 at 4:07:06 AM UTC-7, uros kusar wrote:
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napisala:
On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote:
On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting
say a duplicate process name is likely to be the explanation for this problem. Perhaps Uros has set up a test environment by duplicating the configuration of an existing environment and did not know to change the configured fixed server process names.This is the code that I'm working on: >----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist
#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
} >----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,Uros,
Uros
Keith and Randall gave very valuable responses.
Also one other possibility is that, in creating the link, the PATHMON tried to start a server process.
If that server process has a fixed PROCESS NAME for each isntance, and if there is already a running process with that name,
the attempt to start the process would get an error 12. Look at the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and
check what is in the "PROCESS". If it's present, there will either be one process name, or a list in paraentheses.
From a TACL prompt, issue a status command for each process in the list.
BillBill,
Very good remembering that filesystem error 12 is used for attempting to start a process with a name that already exists. I should have remembered that myself. Unless Pathway's link management also uses filesystem error 12 for other problems, I'd
the server SERVER-NCP, which sees all "node" servers.Hi,
Thank you all for your help.
I changed the code:
1) I added SERVERCLASS_SEND_INFO output error number to see if command was succsesfully processed.
2) I changed the buffer to a 200-byte array.
3) I find some tal example of a similar program and I noticed that this tal program, sends the command to a different pathway server. I send it to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal program sends the command to
anything about XPNET.It is interesting because if I send a command to SERVER-NCP I get a different error code.
SERVER-NCP:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21
SERVER-NCP-1A:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
I think that the correct server is a SERVER-NCP.
---------------------------------------------------------------------------------------------------------------------------------------------
Pahway server configuration:
MAXLINKMONS 20 [CURRENTLY 2]
SERVER SERVER-NCPI-1A
LINKDEPTH 1
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1AU (ASSOCIATIVE ON)
SERVER SERVER-NCP
LINKDEPTH 32
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1C1
PROCESS $D1C2
PROCESS $D1C3 ---------------------------------------------------------------------------------------------------------------------------------------------
code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <tal.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist main()
{
short error, error2, pserror, fserror,countread;
char *pmon;
char buffer [200]={0};
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCP";
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror); printf("\nSERVERCLASS_SEND_INFO error = %d \nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n",error2, error, pserror, fserror);
printf("\nBuffer size = %d\n", strlen(buffer));
int i;Filesystem error 21 usually means an illegal count was specified. That might mean that either the length of the buffer you are sending is wrong or the maximum reply size (200 in this case) is wrong. It might mean something else, since I don't know
for(i=0; i<strlen(buffer); i++)
{
printf("%c",buffer[i]);
}
printf("\n\n\n");
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
documentation of what this server's interface is?Pathway servers usually take input as data structures with fixed-length fields, not a text string like you would type to a command interpreter. Are you sure that the server you are sending to is expected a text string as its input? Do you have any
a different version of your program?I notice that, although you show a new program that displays the value of error2, the output that you show does not include the line that would show the value of error2. Did you omit showing it because its value was 0, or are you showing output from
I too do not remember much about XPNet, but I thought it was not SERVERCLASS_SEND_ compatible - in particular, does not require a qualified name on the Open, like $XPN.#XPNET?
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napisala:Pathway except errors. Can you tell me what am I doing wrong?
On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote:
On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting from
a duplicate process name is likely to be the explanation for this problem. Perhaps Uros has set up a test environment by duplicating the configuration of an existing environment and did not know to change the configured fixed server process names.Bill,Uros,
This is the code that I'm working on:
----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist
#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,
Uros
Keith and Randall gave very valuable responses.
Also one other possibility is that, in creating the link, the PATHMON tried to start a server process.
If that server process has a fixed PROCESS NAME for each isntance, and if there is already a running process with that name,
the attempt to start the process would get an error 12. Look at the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and
check what is in the "PROCESS". If it's present, there will either be one process name, or a list in paraentheses.
From a TACL prompt, issue a status command for each process in the list. >> >
Bill
Very good remembering that filesystem error 12 is used for attempting to start a process with a name that already exists. I should have remembered that myself. Unless Pathway's link management also uses filesystem error 12 for other problems, I'd say
Hi,server SERVER-NCP, which sees all "node" servers.
Thank you all for your help.
I changed the code:
1) I added SERVERCLASS_SEND_INFO output error number to see if command was succsesfully processed.
2) I changed the buffer to a 200-byte array.
3) I find some tal example of a similar program and I noticed that this tal program, sends the command to a different pathway server. I send it to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal program sends the command to the
It is interesting because if I send a command to SERVER-NCP I get a different error code.
SERVER-NCP:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21
SERVER-NCP-1A:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
I think that the correct server is a SERVER-NCP.
---------------------------------------------------------------------------------------------------------------------------------------------
Pahway server configuration:
MAXLINKMONS 20 [CURRENTLY 2]
SERVER SERVER-NCPI-1A
LINKDEPTH 1
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1AU (ASSOCIATIVE ON)
SERVER SERVER-NCP
LINKDEPTH 32
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1C1
PROCESS $D1C2
PROCESS $D1C3
---------------------------------------------------------------------------------------------------------------------------------------------
code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <tal.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist
main()
{
short error, error2, pserror, fserror,countread;
char *pmon;
char buffer [200]={0};
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCP";
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf("\nSERVERCLASS_SEND_INFO error = %d \nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n",error2, error, pserror, fserror);
printf("\nBuffer size = %d\n", strlen(buffer));
int i;
for(i=0; i<strlen(buffer); i++)
{
printf("%c",buffer[i]);
}
printf("\n\n\n");
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
On Mon, 31 May 2021 04:07:05 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:Pathway except errors. Can you tell me what am I doing wrong?
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napisala: >> On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote:
On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting from
say a duplicate process name is likely to be the explanation for this problem. Perhaps Uros has set up a test environment by duplicating the configuration of an existing environment and did not know to change the configured fixed server process names.Bill,Uros,
This is the code that I'm working on:
----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist >> > >#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,
Uros
Keith and Randall gave very valuable responses.
Also one other possibility is that, in creating the link, the PATHMON tried to start a server process.
If that server process has a fixed PROCESS NAME for each isntance, and if there is already a running process with that name,
the attempt to start the process would get an error 12. Look at the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and
check what is in the "PROCESS". If it's present, there will either be one process name, or a list in paraentheses.
From a TACL prompt, issue a status command for each process in the list.
Bill
Very good remembering that filesystem error 12 is used for attempting to start a process with a name that already exists. I should have remembered that myself. Unless Pathway's link management also uses filesystem error 12 for other problems, I'd
server SERVER-NCP, which sees all "node" servers.Hi,
Thank you all for your help.
I changed the code:
1) I added SERVERCLASS_SEND_INFO output error number to see if command was succsesfully processed.
2) I changed the buffer to a 200-byte array.
3) I find some tal example of a similar program and I noticed that this tal program, sends the command to a different pathway server. I send it to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal program sends the command to the
It is interesting because if I send a command to SERVER-NCP I get a different error code.
SERVER-NCP:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21
SERVER-NCP-1A:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
I think that the correct server is a SERVER-NCP.
---------------------------------------------------------------------------------------------------------------------------------------------
Pahway server configuration:
MAXLINKMONS 20 [CURRENTLY 2]
SERVER SERVER-NCPI-1A
LINKDEPTH 1
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1AU (ASSOCIATIVE ON)
SERVER SERVER-NCP
LINKDEPTH 32
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1C1
PROCESS $D1C2
PROCESS $D1C3
---------------------------------------------------------------------------------------------------------------------------------------------
code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <tal.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist >main()
{
short error, error2, pserror, fserror,countread;
char *pmon;
char buffer [200]={0};
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCP";
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror); printf("\nSERVERCLASS_SEND_INFO error = %d \nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n",error2, error, pserror, fserror);
printf("\nBuffer size = %d\n", strlen(buffer));
int i;I see the original server was setup with 'Asoociative On' It's possible the open table in the server can't accept another open.
for(i=0; i<strlen(buffer); i++)
{
printf("%c",buffer[i]);
}
printf("\n\n\n");
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
Can't explain the error 21.
On Monday, May 31, 2021 at 3:59:31 PM UTC-4, Bill Honaker wrote:from Pathway except errors. Can you tell me what am I doing wrong?
On Mon, 31 May 2021 04:07:05 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napisala: >> On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote:
On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting
say a duplicate process name is likely to be the explanation for this problem. Perhaps Uros has set up a test environment by duplicating the configuration of an existing environment and did not know to change the configured fixed server process names.Bill,Uros,
This is the code that I'm working on:
----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist
#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12 >> > >
Best Regards,
Uros
Keith and Randall gave very valuable responses.
Also one other possibility is that, in creating the link, the PATHMON tried to start a server process.
If that server process has a fixed PROCESS NAME for each isntance, and if there is already a running process with that name,
the attempt to start the process would get an error 12. Look at the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and
check what is in the "PROCESS". If it's present, there will either be one process name, or a list in paraentheses.
From a TACL prompt, issue a status command for each process in the list.
Bill
Very good remembering that filesystem error 12 is used for attempting to start a process with a name that already exists. I should have remembered that myself. Unless Pathway's link management also uses filesystem error 12 for other problems, I'd
the server SERVER-NCP, which sees all "node" servers.Hi,
Thank you all for your help.
I changed the code:
1) I added SERVERCLASS_SEND_INFO output error number to see if command was succsesfully processed.
2) I changed the buffer to a 200-byte array.
3) I find some tal example of a similar program and I noticed that this tal program, sends the command to a different pathway server. I send it to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal program sends the command to
It is interesting because if I send a command to SERVER-NCP I get a different error code.
SERVER-NCP:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21
SERVER-NCP-1A:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
I think that the correct server is a SERVER-NCP.
---------------------------------------------------------------------------------------------------------------------------------------------
Pahway server configuration:
MAXLINKMONS 20 [CURRENTLY 2]
SERVER SERVER-NCPI-1A
LINKDEPTH 1
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1AU (ASSOCIATIVE ON)
SERVER SERVER-NCP
LINKDEPTH 32
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1C1
PROCESS $D1C2
PROCESS $D1C3
---------------------------------------------------------------------------------------------------------------------------------------------
code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <tal.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist >main()
{
short error, error2, pserror, fserror,countread;
char *pmon;
char buffer [200]={0};
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCP";
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror); printf("\nSERVERCLASS_SEND_INFO error = %d \nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n",error2, error, pserror, fserror);
printf("\nBuffer size = %d\n", strlen(buffer));
int i;I see the original server was setup with 'Asoociative On' It's possible the open table in the server can't accept another open.
for(i=0; i<strlen(buffer); i++)
{
printf("%c",buffer[i]);
}
printf("\n\n\n");
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
Can't explain the error 21.I would try changing PMON and SNAME from pointers to arrays and see if it doesn't help with the error 21.
char pmon[] = "$D1MN";
char sname[] = "SERVER-NCP";
Dave
torek, 01. junij 2021 ob 14:10:00 UTC+2 je oseba Dave Bossi napisala:from Pathway except errors. Can you tell me what am I doing wrong?
On Monday, May 31, 2021 at 3:59:31 PM UTC-4, Bill Honaker wrote:
On Mon, 31 May 2021 04:07:05 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napisala:
On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote:
On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting
d say a duplicate process name is likely to be the explanation for this problem. Perhaps Uros has set up a test environment by duplicating the configuration of an existing environment and did not know to change the configured fixed server process names.Bill,Uros,
This is the code that I'm working on:
----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist
#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12 >> > >
Best Regards,
Uros
Keith and Randall gave very valuable responses.
Also one other possibility is that, in creating the link, the PATHMON tried to start a server process.
If that server process has a fixed PROCESS NAME for each isntance, and if there is already a running process with that name,
the attempt to start the process would get an error 12. Look at the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and
check what is in the "PROCESS". If it's present, there will either be one process name, or a list in paraentheses.
From a TACL prompt, issue a status command for each process in the list.
Bill
Very good remembering that filesystem error 12 is used for attempting to start a process with a name that already exists. I should have remembered that myself. Unless Pathway's link management also uses filesystem error 12 for other problems, I'
the server SERVER-NCP, which sees all "node" servers.Hi,
Thank you all for your help.
I changed the code:
1) I added SERVERCLASS_SEND_INFO output error number to see if command was succsesfully processed.
2) I changed the buffer to a 200-byte array.
3) I find some tal example of a similar program and I noticed that this tal program, sends the command to a different pathway server. I send it to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal program sends the command to
to the SERVER-NCP server instead the SERVER-NCPI-1A.It is interesting because if I send a command to SERVER-NCP I get a different error code.
SERVER-NCP:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21
SERVER-NCP-1A:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
I think that the correct server is a SERVER-NCP.
---------------------------------------------------------------------------------------------------------------------------------------------
Pahway server configuration:
MAXLINKMONS 20 [CURRENTLY 2]
SERVER SERVER-NCPI-1A
LINKDEPTH 1
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1AU (ASSOCIATIVE ON)
SERVER SERVER-NCP
LINKDEPTH 32
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1C1
PROCESS $D1C2
PROCESS $D1C3
---------------------------------------------------------------------------------------------------------------------------------------------
code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <tal.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist >main()
{
short error, error2, pserror, fserror,countread;
char *pmon;
char buffer [200]={0};
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCP";
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror); printf("\nSERVERCLASS_SEND_INFO error = %d \nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n",error2, error, pserror, fserror);
printf("\nBuffer size = %d\n", strlen(buffer));
int i;I see the original server was setup with 'Asoociative On' It's possible the open table in the server can't accept another open.
for(i=0; i<strlen(buffer); i++)
{
printf("%c",buffer[i]);
}
printf("\n\n\n");
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
Can't explain the error 21.I would try changing PMON and SNAME from pointers to arrays and see if it doesn't help with the error 21.
char pmon[] = "$D1MN";
char sname[] = "SERVER-NCP";
DaveHi,
Keith, I don't find anything in the manuals, that would show me what to send to the server.
I did not post the complete output to make this thread readable as possible. The SERVERCLASS_SEND_INFO returns 0(OK) and I tried different data types, also arrays instead of pointers. The result is the same. I'm almost sure that I need to send command
Currently I'm using arrays:
char pmon[5]={0};
char buffer [200]={0};
char sname[20]={0};
strcpy(pmon,"$D1MN");
strcpy(sname,"SERVER-NCP");
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
OUTPUT:
SERVERCLASS_SEND_INFO error = 0
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21
Buffer size = 26
STATUS PROCESS P1A^BICUNI1
EMS messages:
21-06-02;10:03:23.101 \PERUN.$D1MN TANDEM.PATHWAY.L01 3116
\PERUN.$D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01,
ERROR DURING SERVER I/O (21) - SERVER SERVER-NCP
21-06-02;10:03:23.102 \PERUN.$D1SUD TANDEM.VHS.L01 6
DEV1VHS:
02JUN21,10:03 $D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01, ERROR
DURING SERVER I/O (21) - SERVER SERVER-NCP. Display text received
from process $D1MN. Program file \PERUN.$SYSTEM.SYSTEM.PATHMON.
Primary log file \PERUN.$DATA01.DEV1VHS.LOG0000.
I'm losing ideas what else to try.
Uros
sreda, 02. junij 2021 ob 10:54:14 UTC+2 je oseba uros kusar napisala:from Pathway except errors. Can you tell me what am I doing wrong?
torek, 01. junij 2021 ob 14:10:00 UTC+2 je oseba Dave Bossi napisala:
On Monday, May 31, 2021 at 3:59:31 PM UTC-4, Bill Honaker wrote:
On Mon, 31 May 2021 04:07:05 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napisala:
On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote: >> > On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting
I'd say a duplicate process name is likely to be the explanation for this problem. Perhaps Uros has set up a test environment by duplicating the configuration of an existing environment and did not know to change the configured fixed server process names.Bill,Uros,
This is the code that I'm working on:
----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist
#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,
Uros
Keith and Randall gave very valuable responses.
Also one other possibility is that, in creating the link, the PATHMON tried to start a server process.
If that server process has a fixed PROCESS NAME for each isntance, and if there is already a running process with that name,
the attempt to start the process would get an error 12. Look at the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and
check what is in the "PROCESS". If it's present, there will either be one process name, or a list in paraentheses.
From a TACL prompt, issue a status command for each process in the list.
Bill
Very good remembering that filesystem error 12 is used for attempting to start a process with a name that already exists. I should have remembered that myself. Unless Pathway's link management also uses filesystem error 12 for other problems,
to the server SERVER-NCP, which sees all "node" servers.Hi,
Thank you all for your help.
I changed the code:
1) I added SERVERCLASS_SEND_INFO output error number to see if command was succsesfully processed.
2) I changed the buffer to a 200-byte array.
3) I find some tal example of a similar program and I noticed that this tal program, sends the command to a different pathway server. I send it to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal program sends the command
command to the SERVER-NCP server instead the SERVER-NCPI-1A.It is interesting because if I send a command to SERVER-NCP I get a different error code.
SERVER-NCP:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21
SERVER-NCP-1A:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
I think that the correct server is a SERVER-NCP.
---------------------------------------------------------------------------------------------------------------------------------------------
Pahway server configuration:
MAXLINKMONS 20 [CURRENTLY 2]
SERVER SERVER-NCPI-1A
LINKDEPTH 1
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1AU (ASSOCIATIVE ON)
SERVER SERVER-NCP
LINKDEPTH 32
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1C1
PROCESS $D1C2
PROCESS $D1C3
---------------------------------------------------------------------------------------------------------------------------------------------
code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <tal.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist
main()
{
short error, error2, pserror, fserror,countread;
char *pmon;
char buffer [200]={0};
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCP";
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror); printf("\nSERVERCLASS_SEND_INFO error = %d \nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n",error2, error, pserror, fserror);
printf("\nBuffer size = %d\n", strlen(buffer));
int i;I see the original server was setup with 'Asoociative On' It's possible the open table in the server can't accept another open.
for(i=0; i<strlen(buffer); i++)
{
printf("%c",buffer[i]);
}
printf("\n\n\n");
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
Can't explain the error 21.I would try changing PMON and SNAME from pointers to arrays and see if it doesn't help with the error 21.
char pmon[] = "$D1MN";
char sname[] = "SERVER-NCP";
DaveHi,
Keith, I don't find anything in the manuals, that would show me what to send to the server.
I did not post the complete output to make this thread readable as possible. The SERVERCLASS_SEND_INFO returns 0(OK) and I tried different data types, also arrays instead of pointers. The result is the same. I'm almost sure that I need to send
Currently I'm using arrays:
char pmon[5]={0};
char buffer [200]={0};
char sname[20]={0};
strcpy(pmon,"$D1MN");
strcpy(sname,"SERVER-NCP");
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
OUTPUT:
SERVERCLASS_SEND_INFO error = 0
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21
Buffer size = 26
STATUS PROCESS P1A^BICUNI1
EMS messages:
21-06-02;10:03:23.101 \PERUN.$D1MN TANDEM.PATHWAY.L01 3116
\PERUN.$D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01,
ERROR DURING SERVER I/O (21) - SERVER SERVER-NCP
21-06-02;10:03:23.102 \PERUN.$D1SUD TANDEM.VHS.L01 6
DEV1VHS:
02JUN21,10:03 $D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01, ERROR
DURING SERVER I/O (21) - SERVER SERVER-NCP. Display text received
from process $D1MN. Program file \PERUN.$SYSTEM.SYSTEM.PATHMON.
Primary log file \PERUN.$DATA01.DEV1VHS.LOG0000.
I'm losing ideas what else to try.
UrosI just notice another EMS error in collector $0
21-06-02;11:39:59.662 \PERUN.$ZL01 TANDEM.APPCLSTR.L01 1038
WARNING 1038 - Server \PERUN.$D1MN.SERVER-NCP file
operation ACS_FS_PSWRITEREAD_() failed, process
\PERUN.$D1C1:115841149, file \PERUN.$D1C1, error 21
Uros
sreda, 02. junij 2021 ob 10:54:14 UTC+2 je oseba uros kusar napisala:
torek, 01. junij 2021 ob 14:10:00 UTC+2 je oseba Dave Bossi napisala:nolist=20
On Monday, May 31, 2021 at 3:59:31 PM UTC-4, Bill Honaker wrote:=20
On Mon, 31 May 2021 04:07:05 -0700 (PDT), uros kusar <uros....@gmail.= >com> wrote:=20
=20
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napi= >sala:=20
On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote:= >=20
On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@g= >mail.com> wrote:=20
=20
Hi,=20
I'm writing C program that would get the status of the xpnet ob= >jects (stations,processes,node...). I'm using procedures described in the H= >P manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide.= >..) but I can't get anyting from Pathway except errors. Can you tell me wha= >t am I doing wrong?=20
=20
This is the code that I'm working on:=20
---------------------------------------------------------------= >-------------------------------------------------=20
include <stdlib.h>=20
#include <stdio.h>=20
#include <string.h>=20
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)>=
the explanation for this problem. Perhaps Uros has set up a test environme=Bill,=20#include <tal.h>=20Uros,=20
=20
main()=20
{=20
short error, error2,pserror, fserror,countread;=20
char *pmon;=20
char *buffer;=20
char *sname;=20
=20
pmon =3D"$D1MN";=20
sname =3D "SERVER-NCPI-1A";=20
buffer =3D"STATUS PROCESS P1A^BICUNI1";=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short) strlen(pmon), /* pathmon */=20
sname,=20
(short) strlen(sname), /* server class */=20
buffer,=20
(short) strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */=20
=20
if (error !=3D 0)=20
{=20
error2 =3D SERVERCLASS_SEND_INFO_ (&pserror, &fserror);=20
printf ("\nSERVERCLASS_SEND_ error =3D %d, pathsend error =3D = >%d, fs error =3D %d\n", error, pserror, fserror);=20
exit (1);=20
}=20
else=20
{=20
buffer [countread] =3D 0;=20
printf ("\nReply =3D %s\n", buffer);=20
}=20
}=20
---------------------------------------------------------------= >-------------------------------------------------=20
Response:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs err= >or =3D 12=20
=20
Best Regards,=20
Uros=20
=20
Keith and Randall gave very valuable responses.=20
=20
Also one other possibility is that, in creating the link, the PA= >THMON tried to start a server process.=20
If that server process has a fixed PROCESS NAME for each isntanc= >e, and if there is already a running process with that name,=20
the attempt to start the process would get an error 12. Look at = >the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and=20
check what is in the "PROCESS". If it's present, there will eith= >er be one process name, or a list in paraentheses.=20
From a TACL prompt, issue a status command for each process in t= >he list.=20
=20
Bill=20
=20
Very good remembering that filesystem error 12 is used for attempt= >ing to start a process with a name that already exists. I should have remem= >bered that myself. Unless Pathway's link management also uses filesystem er= >ror 12 for other problems, I'd say a duplicate process name is likely to be=
nt by duplicating the configuration of an existing environment and did not = >know to change the configured fixed server process names.=20
to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal =Hi,=20
=20
Thank you all for your help.=20
=20
I changed the code:=20
1) I added SERVERCLASS_SEND_INFO output error number to see if comma= >nd was succsesfully processed.=20
2) I changed the buffer to a 200-byte array.=20
3) I find some tal example of a similar program and I noticed that t= >his tal program, sends the command to a different pathway server. I send it=
program sends the command to the server SERVER-NCP, which sees all "node" s= >ervers.=20
that I need to send command to the SERVER-NCP server instead the SERVER-NC=Hi,=20I would try changing PMON and SNAME from pointers to arrays and see if = >it doesn't help with the error 21.=20=20I see the original server was setup with 'Asoociative On' It's possib= >le the open table in the server can't accept another open.=20
It is interesting because if I send a command to SERVER-NCP I get a = >different error code.=20
SERVER-NCP:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error = >=3D 21=20
=20
SERVER-NCP-1A:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error = >=3D 12=20
=20
I think that the correct server is a SERVER-NCP.=20
=20
--------------------------------------------------------------------= >-------------------------------------------------------------------------= >=20
Pahway server configuration:=20
MAXLINKMONS 20 [CURRENTLY 2]=20
=20
SERVER SERVER-NCPI-1A=20
LINKDEPTH 1=20
MAXLINKS 32=20
MAXSERVERS 3=20
PROCESS $D1AU (ASSOCIATIVE ON)=20
=20
SERVER SERVER-NCP=20
LINKDEPTH 32=20
MAXLINKS 32=20
MAXSERVERS 3=20
PROCESS $D1C1=20
PROCESS $D1C2=20
PROCESS $D1C3=20
--------------------------------------------------------------------= >-------------------------------------------------------------------------= >=20
code:=20
#include <stdlib.h>=20
#include <stdio.h>=20
#include <string.h>=20
#include <tal.h>=20
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> noli= >st=20
main()=20
{=20
short error, error2, pserror, fserror,countread;=20
char *pmon;=20
char buffer [200]=3D{0};=20
char *sname;=20
=20
pmon =3D"$D1MN";=20
sname =3D "SERVER-NCP";=20
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short)strlen(pmon), /* pathmon */=20
sname,=20
(short)strlen(sname), /* server class */=20
buffer,=20
(short)strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */=20
if (error !=3D 0)=20
{=20
error2 =3D SERVERCLASS_SEND_INFO_ (&pserror, &fserror);=20
printf("\nSERVERCLASS_SEND_INFO error =3D %d \nSERVERCLASS_SEND_ er= >ror =3D %d, pathsend error =3D %d, fs error =3D %d\n",error2, error, pserro= >r, fserror);=20
printf("\nBuffer size =3D %d\n", strlen(buffer));=20
=20
int i;=20
for(i=3D0; i<strlen(buffer); i++)=20
{=20
printf("%c",buffer[i]);=20
}=20
printf("\n\n\n");=20
exit (1);=20
}=20
else=20
{=20
buffer [countread] =3D 0;=20
printf ("\nReply =3D %s\n", buffer);=20
}=20
}=20
=20
Can't explain the error 21.=20
char pmon[] =3D "$D1MN";
char sname[] =3D "SERVER-NCP";=20
=20
Dave
=20
Keith, I don't find anything in the manuals, that would show me what to s= >end to the server.=20
=20
I did not post the complete output to make this thread readable as possib= >le. The SERVERCLASS_SEND_INFO returns 0(OK) and I tried different data type= >s, also arrays instead of pointers. The result is the same. I'm almost sure=
PI-1A.=20
=20
Currently I'm using arrays:=20
=20
char pmon[5]=3D{0};
char buffer [200]=3D{0};
char sname[20]=3D{0};=20
=20
strcpy(pmon,"$D1MN");=20
strcpy(sname,"SERVER-NCP");
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short)strlen(pmon), /* pathmon */=20
sname,=20
(short)strlen(sname), /* server class */=20
buffer,=20
(short)strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */
OUTPUT:=20
SERVERCLASS_SEND_INFO error =3D 0
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error =3D 21
Buffer size =3D 26=20
STATUS PROCESS P1A^BICUNI1=20
=20
=20
EMS messages:=20
=20
21-06-02;10:03:23.101 \PERUN.$D1MN TANDEM.PATHWAY.L01 3116=20
\PERUN.$D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01,=20
ERROR DURING SERVER I/O (21) - SERVER SERVER-NCP=20
=20
21-06-02;10:03:23.102 \PERUN.$D1SUD TANDEM.VHS.L01 6=20
DEV1VHS:=20
02JUN21,10:03 $D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01, ERROR=20
DURING SERVER I/O (21) - SERVER SERVER-NCP. Display text received=20
from process $D1MN. Program file \PERUN.$SYSTEM.SYSTEM.PATHMON.=20
Primary log file \PERUN.$DATA01.DEV1VHS.LOG0000.=20
=20
I'm losing ideas what else to try.=20
=20
Uros
I just notice another EMS error in collector $0
21-06-02;11:39:59.662 \PERUN.$ZL01 TANDEM.APPCLSTR.L01 1038
WARNING 1038 - Server \PERUN.$D1MN.SERVER-NCP file
operation ACS_FS_PSWRITEREAD_() failed, process
\PERUN.$D1C1:115841149, file \PERUN.$D1C1, error 21
Uros
wake /highpin off/ $s1auWRITE error 21 on $S1AU
wake /highpin off/ $s1au send STATUSWRITE error 21 on $S1AU
On Wednesday, June 2, 2021 at 2:42:13 AM UTC-7, uros kusar wrote:anyting from Pathway except errors. Can you tell me what am I doing wrong?
sreda, 02. junij 2021 ob 10:54:14 UTC+2 je oseba uros kusar napisala:
torek, 01. junij 2021 ob 14:10:00 UTC+2 je oseba Dave Bossi napisala:
On Monday, May 31, 2021 at 3:59:31 PM UTC-4, Bill Honaker wrote:
On Mon, 31 May 2021 04:07:05 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napisala:
On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote: >> > On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@gmail.com> wrote:
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get
I'd say a duplicate process name is likely to be the explanation for this problem. Perhaps Uros has set up a test environment by duplicating the configuration of an existing environment and did not know to change the configured fixed server processBill,Uros,
This is the code that I'm working on:
----------------------------------------------------------------------------------------------------------------
include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist
#include <tal.h>
main()
{
short error, error2,pserror, fserror,countread;
char *pmon;
char *buffer;
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCPI-1A";
buffer ="STATUS PROCESS P1A^BICUNI1";
error = SERVERCLASS_SEND_ (pmon,
(short) strlen(pmon), /* pathmon */
sname,
(short) strlen(sname), /* server class */
buffer,
(short) strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror);
printf ("\nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n", error, pserror, fserror);
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
----------------------------------------------------------------------------------------------------------------
Response:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
Best Regards,
Uros
Keith and Randall gave very valuable responses.
Also one other possibility is that, in creating the link, the PATHMON tried to start a server process.
If that server process has a fixed PROCESS NAME for each isntance, and if there is already a running process with that name,
the attempt to start the process would get an error 12. Look at the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and
check what is in the "PROCESS". If it's present, there will either be one process name, or a list in paraentheses.
From a TACL prompt, issue a status command for each process in the list.
Bill
Very good remembering that filesystem error 12 is used for attempting to start a process with a name that already exists. I should have remembered that myself. Unless Pathway's link management also uses filesystem error 12 for other problems,
to the server SERVER-NCP, which sees all "node" servers.Hi,
Thank you all for your help.
I changed the code:
1) I added SERVERCLASS_SEND_INFO output error number to see if command was succsesfully processed.
2) I changed the buffer to a 200-byte array.
3) I find some tal example of a similar program and I noticed that this tal program, sends the command to a different pathway server. I send it to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal program sends the command
command to the SERVER-NCP server instead the SERVER-NCPI-1A.It is interesting because if I send a command to SERVER-NCP I get a different error code.
SERVER-NCP:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21
SERVER-NCP-1A:
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 12
I think that the correct server is a SERVER-NCP.
---------------------------------------------------------------------------------------------------------------------------------------------
Pahway server configuration:
MAXLINKMONS 20 [CURRENTLY 2]
SERVER SERVER-NCPI-1A
LINKDEPTH 1
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1AU (ASSOCIATIVE ON)
SERVER SERVER-NCP
LINKDEPTH 32
MAXLINKS 32
MAXSERVERS 3
PROCESS $D1C1
PROCESS $D1C2
PROCESS $D1C3
---------------------------------------------------------------------------------------------------------------------------------------------
code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <tal.h>
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> nolist
main()
{
short error, error2, pserror, fserror,countread;
char *pmon;
char buffer [200]={0};
char *sname;
pmon ="$D1MN";
sname = "SERVER-NCP";
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
if (error != 0)
{
error2 = SERVERCLASS_SEND_INFO_ (&pserror, &fserror); printf("\nSERVERCLASS_SEND_INFO error = %d \nSERVERCLASS_SEND_ error = %d, pathsend error = %d, fs error = %d\n",error2, error, pserror, fserror);
printf("\nBuffer size = %d\n", strlen(buffer));
int i;I see the original server was setup with 'Asoociative On' It's possible the open table in the server can't accept another open.
for(i=0; i<strlen(buffer); i++)
{
printf("%c",buffer[i]);
}
printf("\n\n\n");
exit (1);
}
else
{
buffer [countread] = 0;
printf ("\nReply = %s\n", buffer);
}
}
Can't explain the error 21.I would try changing PMON and SNAME from pointers to arrays and see if it doesn't help with the error 21.
char pmon[] = "$D1MN";
char sname[] = "SERVER-NCP";
DaveHi,
Keith, I don't find anything in the manuals, that would show me what to send to the server.
I did not post the complete output to make this thread readable as possible. The SERVERCLASS_SEND_INFO returns 0(OK) and I tried different data types, also arrays instead of pointers. The result is the same. I'm almost sure that I need to send
Currently I'm using arrays:
char pmon[5]={0};
char buffer [200]={0};
char sname[20]={0};
strcpy(pmon,"$D1MN");
strcpy(sname,"SERVER-NCP");
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");
error = SERVERCLASS_SEND_ (pmon,
(short)strlen(pmon), /* pathmon */
sname,
(short)strlen(sname), /* server class */
buffer,
(short)strlen(buffer),
200,
&countread,
-1); /* timeout = forever */
OUTPUT:
SERVERCLASS_SEND_INFO error = 0
SERVERCLASS_SEND_ error = 233, pathsend error = 904, fs error = 21 Buffer size = 26
STATUS PROCESS P1A^BICUNI1
find that example program? Perhaps if I looked at that TAL program, it would help me understand what you could be doing wrong.EMS messages:
21-06-02;10:03:23.101 \PERUN.$D1MN TANDEM.PATHWAY.L01 3116
\PERUN.$D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01,
ERROR DURING SERVER I/O (21) - SERVER SERVER-NCP
21-06-02;10:03:23.102 \PERUN.$D1SUD TANDEM.VHS.L01 6
DEV1VHS:
02JUN21,10:03 $D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01, ERROR
DURING SERVER I/O (21) - SERVER SERVER-NCP. Display text received
from process $D1MN. Program file \PERUN.$SYSTEM.SYSTEM.PATHMON.
Primary log file \PERUN.$DATA01.DEV1VHS.LOG0000.
I'm losing ideas what else to try.
UrosI just notice another EMS error in collector $0
21-06-02;11:39:59.662 \PERUN.$ZL01 TANDEM.APPCLSTR.L01 1038
WARNING 1038 - Server \PERUN.$D1MN.SERVER-NCP file
operation ACS_FS_PSWRITEREAD_() failed, process
\PERUN.$D1C1:115841149, file \PERUN.$D1C1, error 21
UrosHi Uros,
Do you have any indication that the Pathway server you are trying to use is intended for a user such as yourself to access directly using SERVERCLASS_SEND_ ? You mentioned that you found a TAL program that sends commands to SERVER-NCP. Where did you
I have a feeling that you are trying to do something that a user such as you is not intended to do, and that whatever task you are trying to do needs to be approached in some other way. That is only my feeling, based on very little evidence, so don'tgive up on this program based only on my feeling, because my feeling could be wrong. As I said earlier, I know nothing about xpnet.
In article <09b4463e-7df3-4a59...@googlegroups.com>,
uros....@gmail.com says...
sreda, 02. junij 2021 ob 10:54:14 UTC+2 je oseba uros kusar napisala:
torek, 01. junij 2021 ob 14:10:00 UTC+2 je oseba Dave Bossi napisala:nolist=20
On Monday, May 31, 2021 at 3:59:31 PM UTC-4, Bill Honaker wrote:=20
On Mon, 31 May 2021 04:07:05 -0700 (PDT), uros kusar <uros....@gmail.= >com> wrote:=20
=20
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napi= >sala:=20
On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote:= >=20
On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@g= >mail.com> wrote:=20
=20
Hi,=20
I'm writing C program that would get the status of the xpnet ob= >jects (stations,processes,node...). I'm using procedures described in the H= >P manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide.= >..) but I can't get anyting from Pathway except errors. Can you tell me wha= >t am I doing wrong?=20
=20
This is the code that I'm working on:=20
---------------------------------------------------------------= >-------------------------------------------------=20
include <stdlib.h>=20
#include <stdio.h>=20
#include <string.h>=20
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)>=
the explanation for this problem. Perhaps Uros has set up a test environme=Bill,=20#include <tal.h>=20Uros,=20
=20
main()=20
{=20
short error, error2,pserror, fserror,countread;=20
char *pmon;=20
char *buffer;=20
char *sname;=20
=20
pmon =3D"$D1MN";=20
sname =3D "SERVER-NCPI-1A";=20
buffer =3D"STATUS PROCESS P1A^BICUNI1";=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short) strlen(pmon), /* pathmon */=20
sname,=20
(short) strlen(sname), /* server class */=20
buffer,=20
(short) strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */=20
=20
if (error !=3D 0)=20
{=20
error2 =3D SERVERCLASS_SEND_INFO_ (&pserror, &fserror);=20
printf ("\nSERVERCLASS_SEND_ error =3D %d, pathsend error =3D = >%d, fs error =3D %d\n", error, pserror, fserror);=20
exit (1);=20
}=20
else=20
{=20
buffer [countread] =3D 0;=20
printf ("\nReply =3D %s\n", buffer);=20
}=20
}=20
---------------------------------------------------------------= >-------------------------------------------------=20
Response:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs err= >or =3D 12=20
=20
Best Regards,=20
Uros=20
=20
Keith and Randall gave very valuable responses.=20
=20
Also one other possibility is that, in creating the link, the PA= >THMON tried to start a server process.=20
If that server process has a fixed PROCESS NAME for each isntanc= >e, and if there is already a running process with that name,=20
the attempt to start the process would get an error 12. Look at = >the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and=20
check what is in the "PROCESS". If it's present, there will eith= >er be one process name, or a list in paraentheses.=20
From a TACL prompt, issue a status command for each process in t= >he list.=20
=20
Bill=20
=20
Very good remembering that filesystem error 12 is used for attempt= >ing to start a process with a name that already exists. I should have remem= >bered that myself. Unless Pathway's link management also uses filesystem er= >ror 12 for other problems, I'd say a duplicate process name is likely to be=
nt by duplicating the configuration of an existing environment and did not = >know to change the configured fixed server process names.=20
to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal =Hi,=20
=20
Thank you all for your help.=20
=20
I changed the code:=20
1) I added SERVERCLASS_SEND_INFO output error number to see if comma= >nd was succsesfully processed.=20
2) I changed the buffer to a 200-byte array.=20
3) I find some tal example of a similar program and I noticed that t= >his tal program, sends the command to a different pathway server. I send it=
program sends the command to the server SERVER-NCP, which sees all "node" s= >ervers.=20
that I need to send command to the SERVER-NCP server instead the SERVER-NC=Hi,=20I would try changing PMON and SNAME from pointers to arrays and see if = >it doesn't help with the error 21.=20=20I see the original server was setup with 'Asoociative On' It's possib= >le the open table in the server can't accept another open.=20
It is interesting because if I send a command to SERVER-NCP I get a = >different error code.=20
SERVER-NCP:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error = >=3D 21=20
=20
SERVER-NCP-1A:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error = >=3D 12=20
=20
I think that the correct server is a SERVER-NCP.=20
=20
--------------------------------------------------------------------= >-------------------------------------------------------------------------= >=20
Pahway server configuration:=20
MAXLINKMONS 20 [CURRENTLY 2]=20
=20
SERVER SERVER-NCPI-1A=20
LINKDEPTH 1=20
MAXLINKS 32=20
MAXSERVERS 3=20
PROCESS $D1AU (ASSOCIATIVE ON)=20
=20
SERVER SERVER-NCP=20
LINKDEPTH 32=20
MAXLINKS 32=20
MAXSERVERS 3=20
PROCESS $D1C1=20
PROCESS $D1C2=20
PROCESS $D1C3=20
--------------------------------------------------------------------= >-------------------------------------------------------------------------= >=20
code:=20
#include <stdlib.h>=20
#include <stdio.h>=20
#include <string.h>=20
#include <tal.h>=20
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> noli= >st=20
main()=20
{=20
short error, error2, pserror, fserror,countread;=20
char *pmon;=20
char buffer [200]=3D{0};=20
char *sname;=20
=20
pmon =3D"$D1MN";=20
sname =3D "SERVER-NCP";=20
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short)strlen(pmon), /* pathmon */=20
sname,=20
(short)strlen(sname), /* server class */=20
buffer,=20
(short)strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */=20
if (error !=3D 0)=20
{=20
error2 =3D SERVERCLASS_SEND_INFO_ (&pserror, &fserror);=20
printf("\nSERVERCLASS_SEND_INFO error =3D %d \nSERVERCLASS_SEND_ er= >ror =3D %d, pathsend error =3D %d, fs error =3D %d\n",error2, error, pserro= >r, fserror);=20
printf("\nBuffer size =3D %d\n", strlen(buffer));=20
=20
int i;=20
for(i=3D0; i<strlen(buffer); i++)=20
{=20
printf("%c",buffer[i]);=20
}=20
printf("\n\n\n");=20
exit (1);=20
}=20
else=20
{=20
buffer [countread] =3D 0;=20
printf ("\nReply =3D %s\n", buffer);=20
}=20
}=20
=20
Can't explain the error 21.=20
char pmon[] =3D "$D1MN";
char sname[] =3D "SERVER-NCP";=20
=20
Dave
=20
Keith, I don't find anything in the manuals, that would show me what to s= >end to the server.=20
=20
I did not post the complete output to make this thread readable as possib= >le. The SERVERCLASS_SEND_INFO returns 0(OK) and I tried different data type= >s, also arrays instead of pointers. The result is the same. I'm almost sure=
PI-1A.=20
=20
Currently I'm using arrays:=20
=20
char pmon[5]=3D{0};
char buffer [200]=3D{0};
char sname[20]=3D{0};=20
=20
strcpy(pmon,"$D1MN");=20
strcpy(sname,"SERVER-NCP");
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short)strlen(pmon), /* pathmon */=20
sname,=20
(short)strlen(sname), /* server class */=20
buffer,=20
(short)strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */
OUTPUT:=20
SERVERCLASS_SEND_INFO error =3D 0
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error =3D 21 >> Buffer size =3D 26=20
STATUS PROCESS P1A^BICUNI1=20
=20
=20
EMS messages:=20
=20
21-06-02;10:03:23.101 \PERUN.$D1MN TANDEM.PATHWAY.L01 3116=20
\PERUN.$D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01,=20
ERROR DURING SERVER I/O (21) - SERVER SERVER-NCP=20
=20
21-06-02;10:03:23.102 \PERUN.$D1SUD TANDEM.VHS.L01 6=20
DEV1VHS:=20
02JUN21,10:03 $D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01, ERROR=20
DURING SERVER I/O (21) - SERVER SERVER-NCP. Display text received=20
from process $D1MN. Program file \PERUN.$SYSTEM.SYSTEM.PATHMON.=20
Primary log file \PERUN.$DATA01.DEV1VHS.LOG0000.=20
=20
I'm losing ideas what else to try.=20
=20
Uros
I just notice another EMS error in collector $0
21-06-02;11:39:59.662 \PERUN.$ZL01 TANDEM.APPCLSTR.L01 1038
WARNING 1038 - Server \PERUN.$D1MN.SERVER-NCP file
operation ACS_FS_PSWRITEREAD_() failed, process
\PERUN.$D1C1:115841149, file \PERUN.$D1C1, error 21
UrosAre you sure that server accepts a command line text buffer as input ?
Maybe it requires a structured message.
=status SERVER-NCPI-1A
SERVER-NCPI-1A 1
PROCESS STATE ERROR INFO #LINKS WEIGHT
$S1AU RUNNING 1 3
wake /highpin off/ $s1auWRITE error 21 on $S1AU
wake /highpin off/ $s1au send STATUSWRITE error 21 on $S1AU
sreda, 02. junij 2021 ob 21:03:41 UTC+2 je oseba JShepherd napisala:wrote:=
In article <09b4463e-7df3-4a59...@googlegroups.com>,
uros....@gmail.com says...
sreda, 02. junij 2021 ob 10:54:14 UTC+2 je oseba uros kusar napisala:
torek, 01. junij 2021 ob 14:10:00 UTC+2 je oseba Dave Bossi napisala:sala:=20
On Monday, May 31, 2021 at 3:59:31 PM UTC-4, Bill Honaker wrote:=20wrote:=20
On Mon, 31 May 2021 04:07:05 -0700 (PDT), uros kusar <uros....@gmail.=
=20
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napi=
On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker
=3D ==20
mail.com> wrote:=20On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@g=
jects (stations,processes,node...). I'm using procedures described in the H==20
Hi,=20
I'm writing C program that would get the status of the xpnet ob=
P manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide.=
..) but I can't get anyting from Pathway except errors. Can you tell me wha=
t am I doing wrong?=20
-------------------------------------------------=20=20
This is the code that I'm working on:=20
---------------------------------------------------------------=
nolist=20include <stdlib.h>=20
#include <stdio.h>=20
#include <string.h>=20
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)>=
#include <tal.h>=20
=20
main()=20
{=20
short error, error2,pserror, fserror,countread;=20
char *pmon;=20
char *buffer;=20
char *sname;=20
=20
pmon =3D"$D1MN";=20
sname =3D "SERVER-NCPI-1A";=20
buffer =3D"STATUS PROCESS P1A^BICUNI1";=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short) strlen(pmon), /* pathmon */=20
sname,=20
(short) strlen(sname), /* server class */=20
buffer,=20
(short) strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */=20
=20
if (error !=3D 0)=20
{=20
error2 =3D SERVERCLASS_SEND_INFO_ (&pserror, &fserror);=20
printf ("\nSERVERCLASS_SEND_ error =3D %d, pathsend error
at =%d, fs error =3D %d\n", error, pserror, fserror);=20
-------------------------------------------------=20exit (1);=20
}=20
else=20
{=20
buffer [countread] =3D 0;=20
printf ("\nReply =3D %s\n", buffer);=20
}=20
}=20
---------------------------------------------------------------=
or =3D 12=20Response:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs err=
THMON tried to start a server process.=20=20Uros,=20
Best Regards,=20
Uros=20
=20
Keith and Randall gave very valuable responses.=20
=20
Also one other possibility is that, in creating the link, the PA=
e, and if there is already a running process with that name,=20If that server process has a fixed PROCESS NAME for each isntanc=
the attempt to start the process would get an error 12. Look
not =the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and=20
er be one process name, or a list in paraentheses.=20check what is in the "PROCESS". If it's present, there will eith=
he list.=20From a TACL prompt, issue a status command for each process in t=
ing to start a process with a name that already exists. I should have remem==20Bill,=20
Bill=20
=20
Very good remembering that filesystem error 12 is used for attempt=
bered that myself. Unless Pathway's link management also uses filesystem er=
ror 12 for other problems, I'd say a duplicate process name is likely to be=
the explanation for this problem. Perhaps Uros has set up a test environme=
nt by duplicating the configuration of an existing environment and did
tal =know to change the configured fixed server process names.=20
nd was succsesfully processed.=20Hi,=20
=20
Thank you all for your help.=20
=20
I changed the code:=20
1) I added SERVERCLASS_SEND_INFO output error number to see if comma=
his tal program, sends the command to a different pathway server. I send it=2) I changed the buffer to a 200-byte array.=20
3) I find some tal example of a similar program and I noticed that t=
to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the
a =program sends the command to the server SERVER-NCP, which sees all "node" s=
ervers.=20
=20
It is interesting because if I send a command to SERVER-NCP I get
=different error code.=20
SERVER-NCP:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error
==3D 21=20
=20
SERVER-NCP-1A:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error
if =-------------------------------------------------------------------------==3D 12=20
=20
I think that the correct server is a SERVER-NCP.=20
=20
--------------------------------------------------------------------=
-------------------------------------------------------------------------==20
Pahway server configuration:=20
MAXLINKMONS 20 [CURRENTLY 2]=20
=20
SERVER SERVER-NCPI-1A=20
LINKDEPTH 1=20
MAXLINKS 32=20
MAXSERVERS 3=20
PROCESS $D1AU (ASSOCIATIVE ON)=20
=20
SERVER SERVER-NCP=20
LINKDEPTH 32=20
MAXLINKS 32=20
MAXSERVERS 3=20
PROCESS $D1C1=20
PROCESS $D1C2=20
PROCESS $D1C3=20
--------------------------------------------------------------------=
=20
st=20code:=20
#include <stdlib.h>=20
#include <stdio.h>=20
#include <string.h>=20
#include <tal.h>=20
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> noli=
ror =3D %d, pathsend error =3D %d, fs error =3D %d\n",error2, error, pserro=main()=20
{=20
short error, error2, pserror, fserror,countread;=20
char *pmon;=20
char buffer [200]=3D{0};=20
char *sname;=20
=20
pmon =3D"$D1MN";=20
sname =3D "SERVER-NCP";=20
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short)strlen(pmon), /* pathmon */=20
sname,=20
(short)strlen(sname), /* server class */=20
buffer,=20
(short)strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */=20
if (error !=3D 0)=20
{=20
error2 =3D SERVERCLASS_SEND_INFO_ (&pserror, &fserror);=20
printf("\nSERVERCLASS_SEND_INFO error =3D %d \nSERVERCLASS_SEND_ er=
r, fserror);=20
le the open table in the server can't accept another open.=20printf("\nBuffer size =3D %d\n", strlen(buffer));=20I see the original server was setup with 'Asoociative On' It's possib=
=20
int i;=20
for(i=3D0; i<strlen(buffer); i++)=20
{=20
printf("%c",buffer[i]);=20
}=20
printf("\n\n\n");=20
exit (1);=20
}=20
else=20
{=20
buffer [countread] =3D 0;=20
printf ("\nReply =3D %s\n", buffer);=20
}=20
}=20
=20I would try changing PMON and SNAME from pointers to arrays and see
Can't explain the error 21.=20
21it doesn't help with the error 21.=20
end to the server.=20Hi,=20
char pmon[] =3D "$D1MN";
char sname[] =3D "SERVER-NCP";=20
=20
Dave
=20
Keith, I don't find anything in the manuals, that would show me what to s=
=20le. The SERVERCLASS_SEND_INFO returns 0(OK) and I tried different data type=
I did not post the complete output to make this thread readable as possib=
s, also arrays instead of pointers. The result is the same. I'm almost sure=
that I need to send command to the SERVER-NCP server instead the SERVER-NC=
PI-1A.=20
=20
Currently I'm using arrays:=20
=20
char pmon[5]=3D{0};
char buffer [200]=3D{0};
char sname[20]=3D{0};=20
=20
strcpy(pmon,"$D1MN");=20
strcpy(sname,"SERVER-NCP");
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short)strlen(pmon), /* pathmon */=20
sname,=20
(short)strlen(sname), /* server class */=20
buffer,=20
(short)strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */
OUTPUT:=20
SERVERCLASS_SEND_INFO error =3D 0
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error =3D
Are you sure that server accepts a command line text buffer as input ?Buffer size =3D 26=20
STATUS PROCESS P1A^BICUNI1=20
=20
=20
EMS messages:=20
=20
21-06-02;10:03:23.101 \PERUN.$D1MN TANDEM.PATHWAY.L01 3116=20
\PERUN.$D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01,=20
ERROR DURING SERVER I/O (21) - SERVER SERVER-NCP=20
=20
21-06-02;10:03:23.102 \PERUN.$D1SUD TANDEM.VHS.L01 6=20
DEV1VHS:=20
02JUN21,10:03 $D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01, ERROR=20
DURING SERVER I/O (21) - SERVER SERVER-NCP. Display text received=20
from process $D1MN. Program file \PERUN.$SYSTEM.SYSTEM.PATHMON.=20
Primary log file \PERUN.$DATA01.DEV1VHS.LOG0000.=20
=20
I'm losing ideas what else to try.=20
=20
Uros
I just notice another EMS error in collector $0
21-06-02;11:39:59.662 \PERUN.$ZL01 TANDEM.APPCLSTR.L01 1038
WARNING 1038 - Server \PERUN.$D1MN.SERVER-NCP file
operation ACS_FS_PSWRITEREAD_() failed, process
\PERUN.$D1C1:115841149, file \PERUN.$D1C1, error 21
Uros
Maybe it requires a structured message.
=status SERVER-NCPI-1A
SERVER-NCPI-1A 1
PROCESS STATE ERROR INFO #LINKS WEIGHT
$S1AU RUNNING 1 3
wake /highpin off/ $s1auWRITE error 21 on $S1AU
wake /highpin off/ $s1au send STATUSWRITE error 21 on $S1AU
Hi,
I'm still trying to understand why my code doesn't work. I think that something
is wrong with the structures.
This tal program was written by my coworker.
Uros
In article <74247541-a672-4653...@googlegroups.com>,
uros....@gmail.com says...
sreda, 02. junij 2021 ob 21:03:41 UTC+2 je oseba JShepherd napisala:H=
In article <09b4463e-7df3-4a59...@googlegroups.com>,
uros....@gmail.com says...
sreda, 02. junij 2021 ob 10:54:14 UTC+2 je oseba uros kusar napisala:
torek, 01. junij 2021 ob 14:10:00 UTC+2 je oseba Dave Bossi napisala: >> >> > On Monday, May 31, 2021 at 3:59:31 PM UTC-4, Bill Honaker wrote:=20 >> >> > > On Mon, 31 May 2021 04:07:05 -0700 (PDT), uros kusar <uros....@gmail.=sala:=20
wrote:=20
=20
petek, 28. maj 2021 ob 22:22:59 UTC+2 je oseba rkd...@gmail.com napi=
=20On Friday, May 28, 2021 at 12:49:03 PM UTC-7, Bill Honaker wrote:=
mail.com> wrote:=20On Fri, 28 May 2021 00:06:17 -0700 (PDT), uros kusar <uros....@g=
jects (stations,processes,node...). I'm using procedures described in the=20
Hi,=20
I'm writing C program that would get the status of the xpnet ob=
t=P manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide.=
..) but I can't get anyting from Pathway except errors. Can you tell me wha=
t am I doing wrong?=20
-------------------------------------------------=20=20
This is the code that I'm working on:=20
---------------------------------------------------------------=
nolist=20include <stdlib.h>=20
#include <stdio.h>=20
#include <string.h>=20
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)>=
%d, fs error =3D %d\n", error, pserror, fserror);=20#include <tal.h>=20
=20
main()=20
{=20
short error, error2,pserror, fserror,countread;=20
char *pmon;=20
char *buffer;=20
char *sname;=20
=20
pmon =3D"$D1MN";=20
sname =3D "SERVER-NCPI-1A";=20
buffer =3D"STATUS PROCESS P1A^BICUNI1";=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short) strlen(pmon), /* pathmon */=20
sname,=20
(short) strlen(sname), /* server class */=20
buffer,=20
(short) strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */=20
=20
if (error !=3D 0)=20
{=20
error2 =3D SERVERCLASS_SEND_INFO_ (&pserror, &fserror);=20 >> >> > > >> > > printf ("\nSERVERCLASS_SEND_ error =3D %d, pathsend error =3D =
-------------------------------------------------=20exit (1);=20
}=20
else=20
{=20
buffer [countread] =3D 0;=20
printf ("\nReply =3D %s\n", buffer);=20
}=20
}=20
---------------------------------------------------------------=
or =3D 12=20Response:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs err=
THMON tried to start a server process.=20=20Uros,=20
Best Regards,=20
Uros=20
=20
Keith and Randall gave very valuable responses.=20
=20
Also one other possibility is that, in creating the link, the PA=
e, and if there is already a running process with that name,=20If that server process has a fixed PROCESS NAME for each isntanc=
the info ("PATHCOM $D1MN;INFO SERVER-NCPI-1A") and=20the attempt to start the process would get an error 12. Look at =
er be one process name, or a list in paraentheses.=20check what is in the "PROCESS". If it's present, there will eith=
From a TACL prompt, issue a status command for each process in
t=he list.=20
ing to start a process with a name that already exists. I should have remem==20Bill,=20
Bill=20
=20
Very good remembering that filesystem error 12 is used for attempt=
bered that myself. Unless Pathway's link management also uses filesystem er=
ror 12 for other problems, I'd say a duplicate process name is likely to be=
the explanation for this problem. Perhaps Uros has set up a test environme=
nt by duplicating the configuration of an existing environment and did not =
know to change the configured fixed server process names.=20
nd was succsesfully processed.=20Hi,=20
=20
Thank you all for your help.=20
=20
I changed the code:=20
1) I added SERVERCLASS_SEND_INFO output error number to see if comma=
2) I changed the buffer to a 200-byte array.=20
3) I find some tal example of a similar program and I noticed that
s=his tal program, sends the command to a different pathway server. I send it=
to the SERVER-NCPI-1A server, which is a server for P1A^NODE. But the tal =
program sends the command to the server SERVER-NCP, which sees all "node"
s=ervers.=20
different error code.=20=20
It is interesting because if I send a command to SERVER-NCP I get a =
=3D 21=20SERVER-NCP:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error =
=3D 12=20=20
SERVER-NCP-1A:=20
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error =
-------------------------------------------------------------------------= >> >=20=20
I think that the correct server is a SERVER-NCP.=20
=20
--------------------------------------------------------------------=
-------------------------------------------------------------------------= >> >=20Pahway server configuration:=20
MAXLINKMONS 20 [CURRENTLY 2]=20
=20
SERVER SERVER-NCPI-1A=20
LINKDEPTH 1=20
MAXLINKS 32=20
MAXSERVERS 3=20
PROCESS $D1AU (ASSOCIATIVE ON)=20
=20
SERVER SERVER-NCP=20
LINKDEPTH 32=20
MAXLINKS 32=20
MAXSERVERS 3=20
PROCESS $D1C1=20
PROCESS $D1C2=20
PROCESS $D1C3=20
--------------------------------------------------------------------=
st=20code:=20
#include <stdlib.h>=20
#include <stdio.h>=20
#include <string.h>=20
#include <tal.h>=20
#include <cextdecs (SERVERCLASS_SEND_, SERVERCLASS_SEND_INFO_)> noli=
ror =3D %d, pathsend error =3D %d, fs error =3D %d\n",error2, error, pserro=main()=20
{=20
short error, error2, pserror, fserror,countread;=20
char *pmon;=20
char buffer [200]=3D{0};=20
char *sname;=20
=20
pmon =3D"$D1MN";=20
sname =3D "SERVER-NCP";=20
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short)strlen(pmon), /* pathmon */=20
sname,=20
(short)strlen(sname), /* server class */=20
buffer,=20
(short)strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */=20
if (error !=3D 0)=20
{=20
error2 =3D SERVERCLASS_SEND_INFO_ (&pserror, &fserror);=20
printf("\nSERVERCLASS_SEND_INFO error =3D %d \nSERVERCLASS_SEND_ er=
r, fserror);=20
le the open table in the server can't accept another open.=20printf("\nBuffer size =3D %d\n", strlen(buffer));=20I see the original server was setup with 'Asoociative On' It's possib=
=20
int i;=20
for(i=3D0; i<strlen(buffer); i++)=20
{=20
printf("%c",buffer[i]);=20
}=20
printf("\n\n\n");=20
exit (1);=20
}=20
else=20
{=20
buffer [countread] =3D 0;=20
printf ("\nReply =3D %s\n", buffer);=20
}=20
}=20
it doesn't help with the error 21.=20=20I would try changing PMON and SNAME from pointers to arrays and see if =
Can't explain the error 21.=20
Hi,=20
char pmon[] =3D "$D1MN";
char sname[] =3D "SERVER-NCP";=20
=20
Dave
=20
Keith, I don't find anything in the manuals, that would show me what to
end to the server.=20Are you sure that server accepts a command line text buffer as input ?
=20le. The SERVERCLASS_SEND_INFO returns 0(OK) and I tried different data type=
I did not post the complete output to make this thread readable as possib=
s, also arrays instead of pointers. The result is the same. I'm almost sure=
that I need to send command to the SERVER-NCP server instead the SERVER-NC=
PI-1A.=20
=20
Currently I'm using arrays:=20
=20
char pmon[5]=3D{0};
char buffer [200]=3D{0};
char sname[20]=3D{0};=20
=20
strcpy(pmon,"$D1MN");=20
strcpy(sname,"SERVER-NCP");
strcpy(buffer,"STATUS PROCESS P1A^BICUNI1");=20
=20
error =3D SERVERCLASS_SEND_ (pmon,=20
(short)strlen(pmon), /* pathmon */=20
sname,=20
(short)strlen(sname), /* server class */=20
buffer,=20
(short)strlen(buffer),=20
200,=20
&countread,=20
-1); /* timeout =3D forever */
OUTPUT:=20
SERVERCLASS_SEND_INFO error =3D 0
SERVERCLASS_SEND_ error =3D 233, pathsend error =3D 904, fs error =3D 21
Buffer size =3D 26=20
STATUS PROCESS P1A^BICUNI1=20
=20
=20
EMS messages:=20
=20
21-06-02;10:03:23.101 \PERUN.$D1MN TANDEM.PATHWAY.L01 3116=20
\PERUN.$D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01,=20
ERROR DURING SERVER I/O (21) - SERVER SERVER-NCP=20
=20
21-06-02;10:03:23.102 \PERUN.$D1SUD TANDEM.VHS.L01 6=20
DEV1VHS:=20
02JUN21,10:03 $D1MN: ERROR - *3116* LINKMON L\PERUN.$ZP01, ERROR=20
DURING SERVER I/O (21) - SERVER SERVER-NCP. Display text received=20 >> >> from process $D1MN. Program file \PERUN.$SYSTEM.SYSTEM.PATHMON.=20
Primary log file \PERUN.$DATA01.DEV1VHS.LOG0000.=20
=20
I'm losing ideas what else to try.=20
=20
Uros
I just notice another EMS error in collector $0
21-06-02;11:39:59.662 \PERUN.$ZL01 TANDEM.APPCLSTR.L01 1038
WARNING 1038 - Server \PERUN.$D1MN.SERVER-NCP file
operation ACS_FS_PSWRITEREAD_() failed, process
\PERUN.$D1C1:115841149, file \PERUN.$D1C1, error 21
Uros
Maybe it requires a structured message.
=status SERVER-NCPI-1A
SERVER-NCPI-1A 1
PROCESS STATE ERROR INFO #LINKS WEIGHT
$S1AU RUNNING 1 3
wake /highpin off/ $s1auWRITE error 21 on $S1AU
wake /highpin off/ $s1au send STATUSWRITE error 21 on $S1AU
Hi,
I'm still trying to understand why my code doesn't work. I think that something
is wrong with the structures.
This tal program was written by my coworker.
Uros
From that code it looks like you have to correctly populate the
request struct and send it
struct .ncp^rqst( ncp^lex^struct^def );
Then handle the potentially multi-item response coming back
int .ncp^resp( ncp^resp^struct^def ),
You will need C versions of all those TAL structs or
do it in TAL
coworker is still around, ask where he or she got the instructions. If he or she is not still around, you might find some documentation in a file in the subvolume $DATA02.ACIUTILS, or in some other location that contains files from ACI. If you are
From that code it looks like you have to correctly populate the
request struct and send it
struct .ncp^rqst( ncp^lex^struct^def );
Then handle the potentially multi-item response coming back
int .ncp^resp( ncp^resp^struct^def ),
You will need C versions of all those TAL structs or
do it in TAL
As JShepherd notes, the TAL code indicates that the request and response messages are not simple text strings, but moderately complex structures. Your coworker had some instructions about how to construct and interpret those structures. If that
coworker is still around, ask where he or she got the instructions. If he or she is not still around, you might find some documentation in a file in the subvolume $DATA02.ACIUTILS, or in some other location that contains files from ACI. If you are lucky,
From that code it looks like you have to correctly populate the
request struct and send it
struct .ncp^rqst( ncp^lex^struct^def );
Then handle the potentially multi-item response coming back
int .ncp^resp( ncp^resp^struct^def ),
You will need C versions of all those TAL structs or
do it in TAL
As JShepherd notes, the TAL code indicates that the request and response messages are not simple text strings, but moderately complex structures. Your coworker had some instructions about how to construct and interpret those structures. If that
That would explain the 'error 21'.
The server probably uses that error to indicate to the calling program that the message it received isn't correct for the structure (or structures) that it expects to receive.
The line that starts with "?nolist, source $data02.ba60src.bancptal(" implies that you should find a file called ?nolist, source $data02.ba60src.bancc that contains the
structures and literals required to build the message in C.
A very high level skim of the code also says you will need to parse the message and calculate pointers to some returned sub-structures, especially if they occur multiple times.
Bill
On Thursday, June 3, 2021 at 1:00:09 p.m. UTC-4, Bill Honaker wrote:coworker is still around, ask where he or she got the instructions. If he or she is not still around, you might find some documentation in a file in the subvolume $DATA02.ACIUTILS, or in some other location that contains files from ACI. If you are lucky,
From that code it looks like you have to correctly populate the
request struct and send it
struct .ncp^rqst( ncp^lex^struct^def );
Then handle the potentially multi-item response coming back
int .ncp^resp( ncp^resp^struct^def ),
You will need C versions of all those TAL structs or
do it in TAL
As JShepherd notes, the TAL code indicates that the request and response messages are not simple text strings, but moderately complex structures. Your coworker had some instructions about how to construct and interpret those structures. If that
problem, though, before anything else happens. I do also think you're correct that the error 21 is coming from the server as a response to an invalid header, probably with a bad length field.That would explain the 'error 21'.
The server probably uses that error to indicate to the calling program that the message it received isn't correct for the structure (or structures) that it expects to receive.
The line that starts with "?nolist, source $data02.ba60src.bancptal(" implies that you should find a file called ?nolist, source $data02.ba60src.bancc that contains the
structures and literals required to build the message in C.
A very high level skim of the code also says you will need to parse the message and calculate pointers to some returned sub-structures, especially if they occur multiple times.
Bill
Bill: I'm not sure what the specific server does, but the general IPC protocol for XPNet, particularly station-to-station messaging, is rather complex with optional fields controlled by bitmaps. I think the C coding error above may be part of the
On Thu, 3 Jun 2021 11:52:45 -0700 (PDT), Randall <rsbe...@nexbridge.com> wrote:coworker is still around, ask where he or she got the instructions. If he or she is not still around, you might find some documentation in a file in the subvolume $DATA02.ACIUTILS, or in some other location that contains files from ACI. If you are lucky,
On Thursday, June 3, 2021 at 1:00:09 p.m. UTC-4, Bill Honaker wrote:
From that code it looks like you have to correctly populate the
request struct and send it
struct .ncp^rqst( ncp^lex^struct^def );
Then handle the potentially multi-item response coming back
int .ncp^resp( ncp^resp^struct^def ),
You will need C versions of all those TAL structs or
do it in TAL
As JShepherd notes, the TAL code indicates that the request and response messages are not simple text strings, but moderately complex structures. Your coworker had some instructions about how to construct and interpret those structures. If that
problem, though, before anything else happens. I do also think you're correct that the error 21 is coming from the server as a response to an invalid header, probably with a bad length field.That would explain the 'error 21'.
The server probably uses that error to indicate to the calling program that the message it received isn't correct for the structure (or structures) that it expects to receive.
The line that starts with "?nolist, source $data02.ba60src.bancptal(" implies that you should find a file called ?nolist, source $data02.ba60src.bancc that contains the
structures and literals required to build the message in C.
A very high level skim of the code also says you will need to parse the message and calculate pointers to some returned sub-structures, especially if they occur multiple times.
Bill
Bill: I'm not sure what the specific server does, but the general IPC protocol for XPNet, particularly station-to-station messaging, is rather complex with optional fields controlled by bitmaps. I think the C coding error above may be part of the
For communications with devices, authorization services etc. XPNet uses ISO messages or X9.15 messages, both of which are character strings including bitmpas '
(1 or 2 for ISO, multi-level of X9.15). Command and Control internal messages use binary structures, often times concatenated based on context (such as number
of stations returned in a status station * command).
One should either review it with another staff member already familiar, attend an ACI course, or be prepared to dig deeply into the manuals.
Bill
Hi,Pathway except errors. Can you tell me what am I doing wrong?
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting from
On Friday, May 28, 2021 at 7:06:19 AM UTC, uros kusar wrote:Pathway except errors. Can you tell me what am I doing wrong?
Hi,
I'm writing C program that would get the status of the xpnet objects (stations,processes,node...). I'm using procedures described in the HP manuals(Pathsend and Server programming Manual, C/C++ programmer's Guide...) but I can't get anyting from
AFAIK, to get status of stations,processes,node and all B24 things, you must talk directly to the XPNET process. You have to read the XPNET programmers guide.
gc
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 295 |
Nodes: | 16 (2 / 14) |
Uptime: | 05:09:19 |
Calls: | 6,642 |
Calls today: | 2 |
Files: | 12,190 |
Messages: | 5,325,847 |