#include <sys/types.h>
#include <unistd.h>
-
#include <trbnet.h>
#ifndef SIG_PF
(argp->arg1, argp->arg2, argp->arg3, argp->arg4, result, rqstp));
}
+int
+_send_trigger_rich_1(send_trigger_rich_1_argument * argp, void *result,
+ struct svc_req *rqstp)
+{
+ return (send_trigger_rich_1_svc
+ (argp->arg1, argp->arg2, argp->arg3, argp->arg4, argp->arg5, result,
+ rqstp));
+}
+
int
_ipu_data_read_1(ipu_data_read_1_argument * argp, void *result,
struct svc_req *rqstp)
return (com_reset_1_svc(result, rqstp));
}
+int
+_register_modify_1(register_modify_1_argument * argp, void *result,
+ struct svc_req *rqstp)
+{
+ return (register_modify_1_svc
+ (argp->arg1, argp->arg2, argp->arg3, argp->arg4, argp->arg5, result,
+ rqstp));
+}
+
static void trbnetrpcprog_1(struct svc_req *rqstp, register SVCXPRT * transp)
{
union
read_uid_1_argument read_uid_1_arg;
set_address_1_argument set_address_1_arg;
send_trigger_1_argument send_trigger_1_arg;
+ send_trigger_rich_1_argument send_trigger_rich_1_arg;
ipu_data_read_1_argument ipu_data_read_1_arg;
uint16_t fpga_register_read_1_arg;
fpga_register_write_1_argument fpga_register_write_1_arg;
uint8_t trb_fifo_flush_1_arg;
+ register_modify_1_argument register_modify_1_arg;
} argument;
union
{
RetVal read_uid_1_res;
Status set_address_1_res;
Status send_trigger_1_res;
+ Status send_trigger_rich_1_res;
RetVal ipu_data_read_1_res;
RetVal fpga_register_read_1_res;
Status fpga_register_write_1_res;
Status trb_fifo_flush_1_res;
Status network_reset_1_res;
Status com_reset_1_res;
+ Status register_modify_1_res;
} result;
bool_t retval;
xdrproc_t _xdr_argument, _xdr_result;
local = (bool_t(*)(char *, void *, struct svc_req *))_send_trigger_1;
break;
+ case SEND_TRIGGER_RICH:
+ _xdr_argument = (xdrproc_t) xdr_send_trigger_rich_1_argument;
+ _xdr_result = (xdrproc_t) xdr_Status;
+ local = (bool_t(*)(char *, void *, struct svc_req *))_send_trigger_rich_1;
+ break;
+
case IPU_DATA_READ:
_xdr_argument = (xdrproc_t) xdr_ipu_data_read_1_argument;
_xdr_result = (xdrproc_t) xdr_RetVal;
local = (bool_t(*)(char *, void *, struct svc_req *))_com_reset_1;
break;
+ case REGISTER_MODIFY:
+ _xdr_argument = (xdrproc_t) xdr_register_modify_1_argument;
+ _xdr_result = (xdrproc_t) xdr_Status;
+ local = (bool_t(*)(char *, void *, struct svc_req *))_register_modify_1;
+ break;
+
default:
svcerr_noproc(transp);
return;
}
if (!svc_freeargs(transp, (xdrproc_t) _xdr_argument, (caddr_t) & argument)) {
fprintf(stderr, "%s", "unable to free arguments");
- exit(1);
+ exit(EXIT_FAILURE);
}
if (!trbnetrpcprog_1_freeresult(transp, _xdr_result, (caddr_t) & result))
fprintf(stderr, "%s", "unable to free results");
{
int daemonMode = 1;
register SVCXPRT *transp;
-
+
if ((argc >= 2) && (strcmp(argv[1], "-f") == 0))
daemonMode = 0;
transp = svcudp_create(RPC_ANYSOCK);
if (transp == NULL) {
fprintf(stderr, "%s", "cannot create udp service.");
- exit(1);
+ exit(EXIT_FAILURE);
}
if (!svc_register
(transp, TRBNETRPCPROG, TRBNETRPCVERS, trbnetrpcprog_1, IPPROTO_UDP)) {
fprintf(stderr, "%s",
"unable to register (TRBNETRPCPROG, TRBNETRPCVERS, udp).");
- exit(1);
+ exit(EXIT_FAILURE);
}
transp = svctcp_create(RPC_ANYSOCK, 0, 0);
if (transp == NULL) {
fprintf(stderr, "%s", "cannot create tcp service.");
- exit(1);
+ exit(EXIT_FAILURE);
}
if (!svc_register
(transp, TRBNETRPCPROG, TRBNETRPCVERS, trbnetrpcprog_1, IPPROTO_TCP)) {
fprintf(stderr, "%s",
"unable to register (TRBNETRPCPROG, TRBNETRPCVERS, tcp).");
- exit(1);
+ exit(EXIT_FAILURE);
}
/* initialize FPGA */
freopen("/dev/console", "a", stderr);
}
svc_run();
-
+
/* NOTREACHED */
fprintf(stderr, "%s", "svc_run returned");
exit(EXIT_FAILURE);
struct svc_req * rqstp)
{
int status;
-
+
/* allocate buffer memory */
retVal->data.Buffer_val = (uint32_t *) malloc(sizeof(uint32_t) * dsize);
if (retVal->data.Buffer_val == NULL) {
return FALSE;
}
-
+
status = trb_register_read(trb_address, reg_address,
(uint32_t *) retVal->data.Buffer_val, dsize);
-
- copyStatus(&retVal->status);
retVal->data.Buffer_len = status == -1 ? 0 : status;
+ retVal->status.retVal = status;
+ copyStatus(&retVal->status);
return TRUE;
}
status = trb_register_read_mem(trb_address, reg_address, option, size,
(uint32_t *) retVal->data.Buffer_val, dsize);
-
- copyStatus(&retVal->status);
+
retVal->data.Buffer_len = status == -1 ? 0 : status;
+ retVal->status.retVal = status;
+ copyStatus(&retVal->status);
return TRUE;
}
Status* retVal,
struct svc_req* rqstp)
{
- int status;
-
- status = trb_register_write(trb_address, reg_address, value);
-
+ retVal->retVal = trb_register_write(trb_address, reg_address, value);
copyStatus(retVal);
return TRUE;
Status* retVal,
struct svc_req* rqstp)
{
- int status;
-
- status = trb_register_write_mem(trb_address,
- reg_address,
- option,
- (uint32_t*)data.Buffer_val,
- data.Buffer_len);
-
+ retVal->retVal =
+ trb_register_write_mem(trb_address, reg_address, option,
+ (uint32_t*)data.Buffer_val, data.Buffer_len);
copyStatus(retVal);
return TRUE;
status = trb_read_uid(trb_address,
(uint32_t*)retVal->data.Buffer_val,
dsize);
-
- copyStatus(&retVal->status);
+ retVal->status.retVal = status;
retVal->data.Buffer_len = status == -1 ? 0 : status;
-
+ copyStatus(&retVal->status);
+
return TRUE;
}
Status* retVal,
struct svc_req* rqstp)
{
- int status;
-
- status = trb_set_address(uid, endpoint, trb_address);
-
+ retVal->retVal = trb_set_address(uid, endpoint, trb_address);
copyStatus(retVal);
return TRUE;
bool_t network_reset_1_svc(Status* retVal,
struct svc_req* rqstp)
{
- int status;
-
- status = network_reset();
-
+ retVal->retVal = network_reset();
copyStatus(retVal);
return TRUE;
Status* retVal,
struct svc_req* rqstp)
{
- int status;
-
- status = trb_send_trigger(type, trg_info, trg_random, trg_number);
+ retVal->retVal = trb_send_trigger(type, trg_info, trg_random, trg_number);
+ copyStatus(retVal);
+ return TRUE;
+}
+
+bool_t send_trigger_rich_1_svc(uint8_t input,
+ uint8_t type,
+ uint32_t trg_info,
+ uint8_t trg_random,
+ uint16_t trg_number,
+ Status* retVal,
+ struct svc_req* rqstp)
+{
+ retVal->retVal =
+ trb_send_trigger_rich(input, type, trg_info, trg_random, trg_number);
copyStatus(retVal);
return TRUE;
status = trb_ipu_data_read(type, trg_info, trg_random, trg_number,
(uint32_t *)retVal->data.Buffer_val, dsize);
- copyStatus(&retVal->status);
retVal->data.Buffer_len = status == -1 ? 0 : status;
-
+ retVal->status.retVal = status;
+ copyStatus(&retVal->status);
+
return TRUE;
}
status = fpga_register_read(reg_address,
(uint32_t *)retVal->data.Buffer_val);
-
- copyStatus(&retVal->status);
+
retVal->data.Buffer_len = status == -1 ? 0 : 1;
+ retVal->status.retVal = status;
+ copyStatus(&retVal->status);
return TRUE;
}
Status* retVal,
struct svc_req* rqstp)
{
- int status;
-
- status = fpga_register_write(reg_address, value);
+ retVal->retVal = fpga_register_write(reg_address, value);
+ copyStatus(retVal);
- copyStatus(retVal);
-
- return TRUE;
+ return TRUE;
}
-
-
-
bool_t trb_fifo_flush_1_svc(uint8_t channel,
Status* retVal,
struct svc_req* rqstp)
{
- int status;
-
- status = trb_fifo_flush(channel);
-
+ retVal->retVal = trb_fifo_flush(channel);
copyStatus(retVal);
return TRUE;
}
-
bool_t com_reset_1_svc(Status* retVal,
struct svc_req* rqstp)
{
- int status;
+ retVal->retVal = com_reset();
+ copyStatus(retVal);
- status = com_reset();
+ return TRUE;
+}
+
+bool_t register_modify_1_svc(uint16_t trb_address,
+ uint16_t reg_address,
+ int mode,
+ uint32_t bitMask,
+ uint32_t bitValue,
+ Status* retVal,
+ struct svc_req* rqstp)
+{
+ retVal->retVal =
+ trb_register_modify(trb_address, reg_address, mode, bitMask, bitValue);
copyStatus(retVal);
return TRUE;
}
+
+
#include <stdio.h>
#include <rpc/rpc.h> /* always needed */
#include "trbrpc.h" /* will be generated by rpcgen */
-
#include <trberror.h>
#include "trbnet.h"
-const char trbnet_version[] = "$Revision: 1.1 $";
+const char trbnet_version[] = "$Revision: 1.2 $";
unsigned int trb_debug = 0;
unsigned int trb_dma = 0;
{
if (server == NULL) {
char *tmp;
- tmp = getenv("TRBNETSERVER");
+ tmp = getenv("DAQOPSERVER");
if (tmp != NULL) {
strncpy(trb_server, tmp, 128);
} else {
enum clnt_stat status;
RetVal retVal;
- if (trb_client == NULL)
- return -1;
+ if (trb_client == NULL) return -1;
retVal.data.Buffer_val = data;
retVal.data.Buffer_len = dsize;
* Print error message and stop.
*/
clnt_perror(trb_client, trb_server);
- return -2;
+ return -1;
}
- return trb_errno == TRB_NONE ? retVal.data.Buffer_len : -1;
+ return retVal.status.retVal;
}
int trb_register_read_mem(uint16_t trb_address,
enum clnt_stat status;
RetVal retVal;
- if (trb_client == NULL)
- return -1;
+ if (trb_client == NULL) return -1;
retVal.data.Buffer_val = data;
retVal.data.Buffer_len = dsize;
* Print error message and stop.
*/
clnt_perror(trb_client, trb_server);
- return -2;
+ return -1;
}
- return trb_errno == TRB_NONE ? retVal.data.Buffer_len : -1;
+ return retVal.status.retVal;
}
* Print error message and stop.
*/
clnt_perror(trb_client, trb_server);
- return -2;
+ return -1;
}
- return trb_errno == TRB_NONE ? retVal.data.Buffer_len : -1;
+ return retVal.status.retVal;
}
return -1;
}
- return trb_errno == TRB_NONE ? 0 : -1;
+ return retVal.retVal;
}
int trb_register_write_mem(uint16_t trb_address,
return -1;
}
- return trb_errno == TRB_NONE ? 0 : -1;
+ return retVal.retVal;
}
int trb_set_address(uint64_t uid,
return -1;
}
- return trb_errno == TRB_NONE ? 0 : -1;
+ return retVal.retVal;
}
uint32_t* data,
unsigned int dsize)
{
- return -1;
+ enum clnt_stat status;
+ RetVal retVal;
+
+ if (trb_client == NULL) return -1;
+
+ retVal.data.Buffer_val = data;
+ retVal.data.Buffer_len = dsize;
+
+ status =
+ ipu_data_read_1(type, trg_info, trg_random, trg_number, dsize,
+ &retVal, trb_client);
+ copyStatus(&retVal.status);
+
+ if (status != RPC_SUCCESS) {
+ /*
+ * An error occurred while calling the server.
+ * Print error message and stop.
+ */
+ clnt_perror(trb_client, trb_server);
+ return -1;
+ }
+
+ return retVal.status.retVal;
}
int trb_send_trigger(uint8_t type,
uint8_t random,
uint16_t number)
{
- return -1;
+ enum clnt_stat status;
+ Status retVal;
+
+ if (trb_client == NULL) return -1;
+
+ status = send_trigger_1(type, info, random, number, &retVal, trb_client);
+ copyStatus(&retVal);
+
+ if (status != RPC_SUCCESS) {
+ /*
+ * An error occurred while calling the server.
+ * Print error message and stop.
+ */
+ clnt_perror(trb_client, trb_server);
+ return -1;
+ }
+
+ return retVal.retVal;
}
int trb_send_trigger_rich(uint8_t input,
uint8_t random,
uint16_t number)
{
- return -1;
+ enum clnt_stat status;
+ Status retVal;
+
+ if (trb_client == NULL) return -1;
+
+ status = send_trigger_rich_1(input, type, info, random, number,
+ &retVal, trb_client);
+ copyStatus(&retVal);
+
+ if (status != RPC_SUCCESS) {
+ /*
+ * An error occurred while calling the server.
+ * Print error message and stop.
+ */
+ clnt_perror(trb_client, trb_server);
+ return -1;
+ }
+
+ return retVal.retVal;
}
int fpga_register_read(uint16_t reg_address, uint32_t* value)
int fpga_register_write(uint16_t reg_address, uint32_t value)
{
- return -1;
+ enum clnt_stat status;
+ Status retVal;
+
+ if (trb_client == NULL) return -1;
+
+ status = fpga_register_write_1(reg_address, value, &retVal, trb_client);
+ copyStatus(&retVal);
+
+ if (status != RPC_SUCCESS) {
+ /*
+ * An error occurred while calling the server.
+ * Print error message and stop.
+ */
+ clnt_perror(trb_client, trb_server);
+ return -1;
+ }
+
+ return retVal.retVal;
}
int trb_fifo_flush(uint8_t channel)
{
- return -1;
+ enum clnt_stat status;
+ Status retVal;
+
+ if (trb_client == NULL) return -1;
+
+ status = trb_fifo_flush_1(channel, &retVal, trb_client);
+ copyStatus(&retVal);
+
+ if (status != RPC_SUCCESS) {
+ /*
+ * An error occurred while calling the server.
+ * Print error message and stop.
+ */
+ clnt_perror(trb_client, trb_server);
+ return -1;
+ }
+
+ return retVal.retVal;
}
int network_reset()
if (trb_client == NULL) return -1;
status = network_reset_1(&retVal, trb_client);
-
copyStatus(&retVal);
if (status != RPC_SUCCESS) {
return -1;
}
- return trb_errno == TRB_NONE ? 0 : -1;
+ return retVal.retVal;
}
int com_reset()
uint32_t bitMask,
uint32_t bitValue)
{
- return -1;
+ enum clnt_stat status;
+ Status retVal;
+
+ if (trb_client == NULL) return -1;
+
+ status =
+ register_modify_1(trb_address, reg_address, mode, bitMask, bitValue,
+ &retVal, trb_client);
+ copyStatus(&retVal);
+
+ if (status != RPC_SUCCESS) {
+ /*
+ * An error occurred while calling the server.
+ * Print error message and stop.
+ */
+ clnt_perror(trb_client, trb_server);
+ return -1;
+ }
+
+ return retVal.retVal;
}
} Buffer;
struct Status {
+ int retVal;
int trb_errno;
uint16_t status_common;
uint16_t status_channel;
};
typedef struct send_trigger_1_argument send_trigger_1_argument;
+struct send_trigger_rich_1_argument {
+ uint8_t arg1;
+ uint8_t arg2;
+ uint32_t arg3;
+ uint8_t arg4;
+ uint16_t arg5;
+};
+typedef struct send_trigger_rich_1_argument send_trigger_rich_1_argument;
+
struct ipu_data_read_1_argument {
uint8_t arg1;
uint32_t arg2;
#define SEND_TRIGGER 7
extern enum clnt_stat send_trigger_1(uint8_t , uint32_t , uint8_t , uint16_t , Status *, CLIENT *);
extern bool_t send_trigger_1_svc(uint8_t , uint32_t , uint8_t , uint16_t , Status *, struct svc_req *);
-#define IPU_DATA_READ 8
+#define SEND_TRIGGER_RICH 8
+extern enum clnt_stat send_trigger_rich_1(uint8_t , uint8_t , uint32_t , uint8_t , uint16_t , Status *, CLIENT *);
+extern bool_t send_trigger_rich_1_svc(uint8_t , uint8_t , uint32_t , uint8_t , uint16_t , Status *, struct svc_req *);
+#define IPU_DATA_READ 9
extern enum clnt_stat ipu_data_read_1(uint8_t , uint32_t , uint8_t , uint16_t , u_int , RetVal *, CLIENT *);
extern bool_t ipu_data_read_1_svc(uint8_t , uint32_t , uint8_t , uint16_t , u_int , RetVal *, struct svc_req *);
-#define FPGA_REGISTER_READ 9
+#define FPGA_REGISTER_READ 10
extern enum clnt_stat fpga_register_read_1(uint16_t , RetVal *, CLIENT *);
extern bool_t fpga_register_read_1_svc(uint16_t , RetVal *, struct svc_req *);
-#define FPGA_REGISTER_WRITE 10
+#define FPGA_REGISTER_WRITE 11
extern enum clnt_stat fpga_register_write_1(uint16_t , uint32_t , Status *, CLIENT *);
extern bool_t fpga_register_write_1_svc(uint16_t , uint32_t , Status *, struct svc_req *);
-#define TRB_FIFO_FLUSH 11
+#define TRB_FIFO_FLUSH 12
extern enum clnt_stat trb_fifo_flush_1(uint8_t , Status *, CLIENT *);
extern bool_t trb_fifo_flush_1_svc(uint8_t , Status *, struct svc_req *);
-#define NETWORK_RESET 12
+#define NETWORK_RESET 13
extern enum clnt_stat network_reset_1(Status *, CLIENT *);
extern bool_t network_reset_1_svc(Status *, struct svc_req *);
-#define COM_RESET 13
+#define COM_RESET 14
extern enum clnt_stat com_reset_1(Status *, CLIENT *);
extern bool_t com_reset_1_svc(Status *, struct svc_req *);
-#define REGISTER_MODIFY 14
+#define REGISTER_MODIFY 15
extern enum clnt_stat register_modify_1(uint16_t , uint16_t , int , uint32_t , uint32_t , Status *, CLIENT *);
extern bool_t register_modify_1_svc(uint16_t , uint16_t , int , uint32_t , uint32_t , Status *, struct svc_req *);
extern int trbnetrpcprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
#define SEND_TRIGGER 7
extern enum clnt_stat send_trigger_1();
extern bool_t send_trigger_1_svc();
-#define IPU_DATA_READ 8
+#define SEND_TRIGGER_RICH 8
+extern enum clnt_stat send_trigger_rich_1();
+extern bool_t send_trigger_rich_1_svc();
+#define IPU_DATA_READ 9
extern enum clnt_stat ipu_data_read_1();
extern bool_t ipu_data_read_1_svc();
-#define FPGA_REGISTER_READ 9
+#define FPGA_REGISTER_READ 10
extern enum clnt_stat fpga_register_read_1();
extern bool_t fpga_register_read_1_svc();
-#define FPGA_REGISTER_WRITE 10
+#define FPGA_REGISTER_WRITE 11
extern enum clnt_stat fpga_register_write_1();
extern bool_t fpga_register_write_1_svc();
-#define TRB_FIFO_FLUSH 11
+#define TRB_FIFO_FLUSH 12
extern enum clnt_stat trb_fifo_flush_1();
extern bool_t trb_fifo_flush_1_svc();
-#define NETWORK_RESET 12
+#define NETWORK_RESET 13
extern enum clnt_stat network_reset_1();
extern bool_t network_reset_1_svc();
-#define COM_RESET 13
+#define COM_RESET 14
extern enum clnt_stat com_reset_1();
extern bool_t com_reset_1_svc();
-#define REGISTER_MODIFY 14
+#define REGISTER_MODIFY 15
extern enum clnt_stat register_modify_1();
extern bool_t register_modify_1_svc();
extern int trbnetrpcprog_1_freeresult ();
extern bool_t xdr_read_uid_1_argument (XDR *, read_uid_1_argument*);
extern bool_t xdr_set_address_1_argument (XDR *, set_address_1_argument*);
extern bool_t xdr_send_trigger_1_argument (XDR *, send_trigger_1_argument*);
+extern bool_t xdr_send_trigger_rich_1_argument (XDR *, send_trigger_rich_1_argument*);
extern bool_t xdr_ipu_data_read_1_argument (XDR *, ipu_data_read_1_argument*);
extern bool_t xdr_fpga_register_write_1_argument (XDR *, fpga_register_write_1_argument*);
extern bool_t xdr_register_modify_1_argument (XDR *, register_modify_1_argument*);
extern bool_t xdr_read_uid_1_argument ();
extern bool_t xdr_set_address_1_argument ();
extern bool_t xdr_send_trigger_1_argument ();
+extern bool_t xdr_send_trigger_rich_1_argument ();
extern bool_t xdr_ipu_data_read_1_argument ();
extern bool_t xdr_fpga_register_write_1_argument ();
extern bool_t xdr_register_modify_1_argument ();
typedef uint32_t Buffer<>;
struct Status {
+ int retVal;
int trb_errno;
uint16_t status_common;
uint16_t status_channel;
uint32_t,
uint8_t,
uint16_t) = 7;
+
+ Status SEND_TRIGGER_RICH(uint8_t,
+ uint8_t,
+ uint32_t,
+ uint8_t,
+ uint16_t) = 8;
RetVal IPU_DATA_READ(uint8_t,
uint32_t,
uint8_t,
uint16_t,
- unsigned int) = 8;
+ unsigned int) = 9;
- RetVal FPGA_REGISTER_READ(uint16_t) = 9;
+ RetVal FPGA_REGISTER_READ(uint16_t) = 10;
Status FPGA_REGISTER_WRITE(uint16_t,
- uint32_t) = 10;
+ uint32_t) = 11;
- Status TRB_FIFO_FLUSH(uint8_t) = 11;
+ Status TRB_FIFO_FLUSH(uint8_t) = 12;
- Status NETWORK_RESET(void) = 12;
+ Status NETWORK_RESET(void) = 13;
- Status COM_RESET(void) = 13;
+ Status COM_RESET(void) = 14;
Status REGISTER_MODIFY(uint16_t,
uint16_t,
int,
uint32_t,
- uint32_t) = 14;
+ uint32_t) = 15;
} = 1;
} = 0x20000099;
TIMEOUT));
}
+enum clnt_stat
+send_trigger_rich_1(uint8_t arg1, uint8_t arg2, uint32_t arg3, uint8_t arg4, uint16_t arg5, Status *clnt_res, CLIENT *clnt)
+{
+ send_trigger_rich_1_argument arg;
+ arg.arg1 = arg1;
+ arg.arg2 = arg2;
+ arg.arg3 = arg3;
+ arg.arg4 = arg4;
+ arg.arg5 = arg5;
+ return (clnt_call (clnt, SEND_TRIGGER_RICH, (xdrproc_t) xdr_send_trigger_rich_1_argument, (caddr_t) &arg,
+ (xdrproc_t) xdr_Status, (caddr_t) clnt_res,
+ TIMEOUT));
+}
+
enum clnt_stat
ipu_data_read_1(uint8_t arg1, uint32_t arg2, uint8_t arg3, uint16_t arg4, u_int arg5, RetVal *clnt_res, CLIENT *clnt)
{
return (send_trigger_1_svc(argp->arg1, argp->arg2, argp->arg3, argp->arg4, result, rqstp));
}
+int
+_send_trigger_rich_1 (send_trigger_rich_1_argument *argp, void *result, struct svc_req *rqstp)
+{
+ return (send_trigger_rich_1_svc(argp->arg1, argp->arg2, argp->arg3, argp->arg4, argp->arg5, result, rqstp));
+}
+
int
_ipu_data_read_1 (ipu_data_read_1_argument *argp, void *result, struct svc_req *rqstp)
{
read_uid_1_argument read_uid_1_arg;
set_address_1_argument set_address_1_arg;
send_trigger_1_argument send_trigger_1_arg;
+ send_trigger_rich_1_argument send_trigger_rich_1_arg;
ipu_data_read_1_argument ipu_data_read_1_arg;
uint16_t fpga_register_read_1_arg;
fpga_register_write_1_argument fpga_register_write_1_arg;
RetVal read_uid_1_res;
Status set_address_1_res;
Status send_trigger_1_res;
+ Status send_trigger_rich_1_res;
RetVal ipu_data_read_1_res;
RetVal fpga_register_read_1_res;
Status fpga_register_write_1_res;
local = (bool_t (*) (char *, void *, struct svc_req *))_send_trigger_1;
break;
+ case SEND_TRIGGER_RICH:
+ _xdr_argument = (xdrproc_t) xdr_send_trigger_rich_1_argument;
+ _xdr_result = (xdrproc_t) xdr_Status;
+ local = (bool_t (*) (char *, void *, struct svc_req *))_send_trigger_rich_1;
+ break;
+
case IPU_DATA_READ:
_xdr_argument = (xdrproc_t) xdr_ipu_data_read_1_argument;
_xdr_result = (xdrproc_t) xdr_RetVal;
{
register int32_t *buf;
+ if (!xdr_int (xdrs, &objp->retVal))
+ return FALSE;
if (!xdr_int (xdrs, &objp->trb_errno))
return FALSE;
if (!xdr_uint16_t (xdrs, &objp->status_common))
return TRUE;
}
+bool_t
+xdr_send_trigger_rich_1_argument (XDR *xdrs, send_trigger_rich_1_argument *objp)
+{
+ if (!xdr_uint8_t (xdrs, &objp->arg1))
+ return FALSE;
+ if (!xdr_uint8_t (xdrs, &objp->arg2))
+ return FALSE;
+ if (!xdr_uint32_t (xdrs, &objp->arg3))
+ return FALSE;
+ if (!xdr_uint8_t (xdrs, &objp->arg4))
+ return FALSE;
+ if (!xdr_uint16_t (xdrs, &objp->arg5))
+ return FALSE;
+ return TRUE;
+}
+
bool_t
xdr_ipu_data_read_1_argument (XDR *xdrs, ipu_data_read_1_argument *objp)
{