21 #ifndef __JackRequest__
22 #define __JackRequest__
24 #include "JackConstants.h"
25 #include "JackPlatformPlug.h"
36 #define CheckRes(exp) { if ((exp) < 0) return -1; }
42 enum JackSessionReply {
44 kImmediateSessionReply = 1,
45 kPendingSessionReply = 2
61 kSetTimeBaseClient = 5,
63 kDeactivateClient = 7,
65 kSetClientCapabilities = 9,
66 kGetPortConnections = 10,
67 kGetPortNConnections = 11,
68 kReleaseTimebase = 12,
69 kSetTimebaseCallback = 13,
75 kConnectNamePorts = 25,
76 kDisconnectNamePorts = 26,
77 kGetInternalClientName = 27,
78 kInternalClientHandle = 28,
79 kInternalClientLoad = 29,
80 kInternalClientUnload = 30,
85 kGetClientByUUID = 35,
86 kReserveClientName = 36,
87 kGetUUIDByClient = 37,
88 kClientHasSessionCallback = 38,
89 kComputeTotalLatencies = 39
105 return trans->Read(&fType,
sizeof(RequestType));
110 return trans->Write(&fType,
sizeof(RequestType));
133 return trans->Read(&fResult,
sizeof(
int));
138 return trans->Write(&fResult,
sizeof(
int));
150 char fName[JACK_CLIENT_NAME_SIZE + 1];
159 :
JackRequest(JackRequest::kClientCheck), fProtocol(protocol), fOptions(options), fUUID(uuid), fOpen(open)
161 snprintf(fName,
sizeof(fName),
"%s", name);
166 CheckRes(trans->Read(&fName,
sizeof(fName)));
167 CheckRes(trans->Read(&fProtocol,
sizeof(
int)));
168 CheckRes(trans->Read(&fOptions,
sizeof(
int)));
169 CheckRes(trans->Read(&fUUID,
sizeof(
int)));
170 return trans->Read(&fOpen,
sizeof(
int));
175 CheckRes(JackRequest::Write(trans));
176 CheckRes(trans->Write(&fName,
sizeof(fName)));
177 CheckRes(trans->Write(&fProtocol,
sizeof(
int)));
178 CheckRes(trans->Write(&fOptions,
sizeof(
int)));
179 CheckRes(trans->Write(&fUUID,
sizeof(
int)));
180 return trans->Write(&fOpen,
sizeof(
int));
192 char fName[JACK_CLIENT_NAME_SIZE + 1];
200 snprintf(fName,
sizeof(fName),
"%s", name);
205 CheckRes(JackResult::Read(trans));
206 CheckRes(trans->Read(&fName,
sizeof(fName)));
207 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
213 CheckRes(JackResult::Write(trans));
214 CheckRes(trans->Write(&fName,
sizeof(fName)));
215 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
230 char fName[JACK_CLIENT_NAME_SIZE + 1];
236 snprintf(fName,
sizeof(fName),
"%s", name);
243 CheckRes(trans->Read(&fPID,
sizeof(
int)));
244 CheckRes(trans->Read(&fUUID,
sizeof(
int)));
245 return trans->Read(&fName,
sizeof(fName));
250 CheckRes(JackRequest::Write(trans));
251 CheckRes(trans->Write(&fPID,
sizeof(
int)));
252 CheckRes(trans->Write(&fUUID,
sizeof(
int)));
253 return trans->Write(&fName,
sizeof(fName));
270 :
JackResult(), fSharedEngine(-1), fSharedClient(-1), fSharedGraph(-1)
273 :
JackResult(result), fSharedEngine(index1), fSharedClient(index2), fSharedGraph(index3)
278 CheckRes(JackResult::Read(trans));
279 CheckRes(trans->Read(&fSharedEngine,
sizeof(
int)));
280 CheckRes(trans->Read(&fSharedClient,
sizeof(
int)));
281 CheckRes(trans->Read(&fSharedGraph,
sizeof(
int)));
287 CheckRes(JackResult::Write(trans));
288 CheckRes(trans->Write(&fSharedEngine,
sizeof(
int)));
289 CheckRes(trans->Write(&fSharedClient,
sizeof(
int)));
290 CheckRes(trans->Write(&fSharedGraph,
sizeof(
int)));
312 return trans->Read(&fRefNum,
sizeof(
int));
317 CheckRes(JackRequest::Write(trans));
318 return trans->Write(&fRefNum,
sizeof(
int));
336 :
JackRequest(JackRequest::kActivateClient), fRefNum(refnum), fIsRealTime(is_real_time)
341 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
342 return trans->Read(&fIsRealTime,
sizeof(
int));
347 CheckRes(JackRequest::Write(trans));
348 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
349 return trans->Write(&fIsRealTime,
sizeof(
int));
370 return trans->Read(&fRefNum,
sizeof(
int));
375 CheckRes(JackRequest::Write(trans));
376 return trans->Write(&fRefNum,
sizeof(
int));
389 char fName[JACK_PORT_NAME_SIZE + 1];
390 char fPortType[JACK_PORT_TYPE_SIZE + 1];
392 unsigned int fBufferSize;
396 JackPortRegisterRequest(
int refnum,
const char* name,
const char* port_type,
unsigned int flags,
unsigned int buffer_size)
397 :
JackRequest(JackRequest::kRegisterPort), fRefNum(refnum), fFlags(flags), fBufferSize(buffer_size)
400 strcpy(fPortType, port_type);
405 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
406 CheckRes(trans->Read(&fName,
sizeof(fName)));
407 CheckRes(trans->Read(&fPortType,
sizeof(fPortType)));
408 CheckRes(trans->Read(&fFlags,
sizeof(
unsigned int)));
409 CheckRes(trans->Read(&fBufferSize,
sizeof(
unsigned int)));
415 CheckRes(JackRequest::Write(trans));
416 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
417 CheckRes(trans->Write(&fName,
sizeof(fName)));
418 CheckRes(trans->Write(&fPortType,
sizeof(fPortType)));
419 CheckRes(trans->Write(&fFlags,
sizeof(
unsigned int)));
420 CheckRes(trans->Write(&fBufferSize,
sizeof(
unsigned int)));
433 jack_port_id_t fPortIndex;
440 CheckRes(JackResult::Read(trans));
441 return trans->Read(&fPortIndex,
sizeof(jack_port_id_t));
446 CheckRes(JackResult::Write(trans));
447 return trans->Write(&fPortIndex,
sizeof(jack_port_id_t));
460 jack_port_id_t fPortIndex;
465 :
JackRequest(JackRequest::kUnRegisterPort), fRefNum(refnum), fPortIndex(index)
470 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
471 CheckRes(trans->Read(&fPortIndex,
sizeof(jack_port_id_t)));
477 CheckRes(JackRequest::Write(trans));
478 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
479 CheckRes(trans->Write(&fPortIndex,
sizeof(jack_port_id_t)));
493 char fSrc[JACK_PORT_NAME_SIZE + 1];
494 char fDst[JACK_PORT_NAME_SIZE + 1];
499 :
JackRequest(JackRequest::kConnectNamePorts), fRefNum(refnum)
501 strcpy(fSrc, src_name);
502 strcpy(fDst, dst_name);
507 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
508 CheckRes(trans->Read(&fSrc,
sizeof(fSrc)));
509 CheckRes(trans->Read(&fDst,
sizeof(fDst)));
516 CheckRes(JackRequest::Write(trans));
517 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
518 CheckRes(trans->Write(&fSrc,
sizeof(fSrc)));
519 CheckRes(trans->Write(&fDst,
sizeof(fDst)));
533 char fSrc[JACK_PORT_NAME_SIZE + 1];
534 char fDst[JACK_PORT_NAME_SIZE + 1];
539 :
JackRequest(JackRequest::kDisconnectNamePorts), fRefNum(refnum)
541 strcpy(fSrc, src_name);
542 strcpy(fDst, dst_name);
547 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
548 CheckRes(trans->Read(&fSrc,
sizeof(fSrc)));
549 CheckRes(trans->Read(&fDst,
sizeof(fDst)));
555 CheckRes(JackRequest::Write(trans));
556 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
557 CheckRes(trans->Write(&fSrc,
sizeof(fSrc)));
558 CheckRes(trans->Write(&fDst,
sizeof(fDst)));
578 :
JackRequest(JackRequest::kConnectPorts), fRefNum(refnum), fSrc(src), fDst(dst)
583 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
584 CheckRes(trans->Read(&fSrc,
sizeof(jack_port_id_t)));
585 CheckRes(trans->Read(&fDst,
sizeof(jack_port_id_t)));
591 CheckRes(JackRequest::Write(trans));
592 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
593 CheckRes(trans->Write(&fSrc,
sizeof(jack_port_id_t)));
594 CheckRes(trans->Write(&fDst,
sizeof(jack_port_id_t)));
614 :
JackRequest(JackRequest::kDisconnectPorts), fRefNum(refnum), fSrc(src), fDst(dst)
619 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
620 CheckRes(trans->Read(&fSrc,
sizeof(jack_port_id_t)));
621 CheckRes(trans->Read(&fDst,
sizeof(jack_port_id_t)));
627 CheckRes(JackRequest::Write(trans));
628 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
629 CheckRes(trans->Write(&fSrc,
sizeof(jack_port_id_t)));
630 CheckRes(trans->Write(&fDst,
sizeof(jack_port_id_t)));
644 jack_port_id_t fPort;
645 char fName[JACK_PORT_NAME_SIZE + 1];
650 :
JackRequest(JackRequest::kPortRename), fRefNum(refnum), fPort(port)
657 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
658 CheckRes(trans->Read(&fPort,
sizeof(jack_port_id_t)));
659 CheckRes(trans->Read(&fName,
sizeof(fName)));
665 CheckRes(JackRequest::Write(trans));
666 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
667 CheckRes(trans->Write(&fPort,
sizeof(jack_port_id_t)));
668 CheckRes(trans->Write(&fName,
sizeof(fName)));
682 jack_nframes_t fBufferSize;
687 :
JackRequest(JackRequest::kSetBufferSize), fBufferSize(buffer_size)
692 return trans->Read(&fBufferSize,
sizeof(jack_nframes_t));
697 CheckRes(JackRequest::Write(trans));
698 return trans->Write(&fBufferSize,
sizeof(jack_nframes_t));
715 :
JackRequest(JackRequest::kSetFreeWheel), fOnOff(onoff)
720 return trans->Read(&fOnOff,
sizeof(
int));
725 CheckRes(JackRequest::Write(trans));
726 return trans->Write(&fOnOff,
sizeof(
int));
749 CheckRes(JackRequest::Write(trans));
767 :
JackRequest(JackRequest::kReleaseTimebase), fRefNum(refnum)
772 return trans->Read(&fRefNum,
sizeof(
int));
777 CheckRes(JackRequest::Write(trans));
778 return trans->Write(&fRefNum,
sizeof(
int));
796 :
JackRequest(JackRequest::kSetTimebaseCallback), fRefNum(refnum), fConditionnal(conditional)
801 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
802 return trans->Read(&fConditionnal,
sizeof(
int));
807 CheckRes(JackRequest::Write(trans));
808 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
809 return trans->Write(&fConditionnal,
sizeof(
int));
827 :
JackRequest(JackRequest::kGetInternalClientName), fRefNum(refnum), fIntRefNum(int_ref)
832 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
833 return trans->Read(&fIntRefNum,
sizeof(
int));
838 CheckRes(JackRequest::Write(trans));
839 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
840 return trans->Write(&fIntRefNum,
sizeof(
int));
852 char fName[JACK_CLIENT_NAME_SIZE + 1];
859 snprintf(fName,
sizeof(fName),
"%s", name);
864 CheckRes(JackResult::Read(trans));
865 CheckRes(trans->Read(&fName,
sizeof(fName)));
871 CheckRes(JackResult::Write(trans));
872 CheckRes(trans->Write(&fName,
sizeof(fName)));
886 char fName[JACK_CLIENT_NAME_SIZE + 1];
891 :
JackRequest(JackRequest::kInternalClientHandle), fRefNum(refnum)
893 snprintf(fName,
sizeof(fName),
"%s", client_name);
898 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
899 return trans->Read(&fName,
sizeof(fName));
904 CheckRes(JackRequest::Write(trans));
905 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
906 return trans->Write(&fName,
sizeof(fName));
924 :
JackResult(result), fStatus(status), fIntRefNum(int_ref)
929 CheckRes(JackResult::Read(trans));
930 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
931 CheckRes(trans->Read(&fIntRefNum,
sizeof(
int)));
937 CheckRes(JackResult::Write(trans));
938 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
939 CheckRes(trans->Write(&fIntRefNum,
sizeof(
int)));
957 char fName[JACK_CLIENT_NAME_SIZE + 1];
958 char fDllName[MAX_PATH + 1];
959 char fLoadInitName[JACK_LOAD_INIT_LIMIT + 1];
966 :
JackRequest(JackRequest::kInternalClientLoad), fRefNum(refnum), fOptions(options), fUUID(uuid)
968 snprintf(fName,
sizeof(fName),
"%s", client_name);
969 snprintf(fDllName,
sizeof(fDllName),
"%s", so_name);
970 snprintf(fLoadInitName,
sizeof(fLoadInitName),
"%s", objet_data);
971 snprintf(fLoadInitName,
sizeof(fLoadInitName),
"%s", objet_data);
976 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
977 CheckRes(trans->Read(&fName,
sizeof(fName)));
978 CheckRes(trans->Read(&fDllName,
sizeof(fDllName)));
979 CheckRes(trans->Read(&fLoadInitName,
sizeof(fLoadInitName)));
980 CheckRes(trans->Read(&fUUID,
sizeof(
int)));
981 return trans->Read(&fOptions,
sizeof(
int));
986 CheckRes(JackRequest::Write(trans));
987 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
988 CheckRes(trans->Write(&fName,
sizeof(fName)));
989 CheckRes(trans->Write(&fDllName,
sizeof(fDllName)));
990 CheckRes(trans->Write(&fLoadInitName,
sizeof(fLoadInitName)));
991 CheckRes(trans->Write(&fUUID,
sizeof(
int)));
992 return trans->Write(&fOptions,
sizeof(
int));
1010 :
JackResult(result), fStatus(status), fIntRefNum(int_ref)
1015 CheckRes(JackResult::Read(trans));
1016 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
1017 CheckRes(trans->Read(&fIntRefNum,
sizeof(
int)));
1023 CheckRes(JackResult::Write(trans));
1024 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
1025 CheckRes(trans->Write(&fIntRefNum,
sizeof(
int)));
1044 :
JackRequest(JackRequest::kInternalClientUnload), fRefNum(refnum), fIntRefNum(int_ref)
1049 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1050 return trans->Read(&fIntRefNum,
sizeof(
int));
1055 CheckRes(JackRequest::Write(trans));
1056 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1057 return trans->Write(&fIntRefNum,
sizeof(
int));
1078 CheckRes(JackResult::Read(trans));
1079 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
1085 CheckRes(JackResult::Write(trans));
1086 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
1106 :
JackRequest(JackRequest::kNotification), fRefNum(refnum), fNotify(notify), fValue(value)
1111 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1112 CheckRes(trans->Read(&fNotify,
sizeof(
int)));
1113 CheckRes(trans->Read(&fValue,
sizeof(
int)));
1119 CheckRes(JackRequest::Write(trans));
1120 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1121 CheckRes(trans->Write(&fNotify,
sizeof(
int)));
1122 CheckRes(trans->Write(&fValue,
sizeof(
int)));
1130 char fUUID[JACK_UUID_SIZE];
1131 char fClientName[JACK_CLIENT_NAME_SIZE+1];
1132 char fCommand[JACK_SESSION_COMMAND_SIZE];
1133 jack_session_flags_t fFlags;
1138 JackSessionCommand(
const char *uuid,
const char *clientname,
const char *command, jack_session_flags_t flags)
1140 strncpy(fUUID, uuid,
sizeof(fUUID));
1141 strncpy(fClientName, clientname,
sizeof(fClientName));
1142 strncpy(fCommand, command,
sizeof(fCommand));
1150 std::list<JackSessionCommand> fCommandList;
1166 CheckRes(JackResult::Read(trans));
1170 CheckRes(trans->Read(buffer.fUUID,
sizeof(buffer.fUUID)));
1171 if (buffer.fUUID[0] ==
'\0')
1174 CheckRes(trans->Read(buffer.fClientName,
sizeof(buffer.fClientName)));
1175 CheckRes(trans->Read(buffer.fCommand,
sizeof(buffer.fCommand)));
1176 CheckRes(trans->Read(&(buffer.fFlags),
sizeof(buffer.fFlags)));
1178 fCommandList.push_back(buffer);
1194 char terminator[JACK_UUID_SIZE];
1195 terminator[0] =
'\0';
1197 CheckRes(JackResult::Write(trans));
1198 for (std::list<JackSessionCommand>::iterator i = fCommandList.begin(); i != fCommandList.end(); i++) {
1199 CheckRes(trans->Write(i->fUUID,
sizeof(i->fUUID)));
1200 CheckRes(trans->Write(i->fClientName,
sizeof(i->fClientName)));
1201 CheckRes(trans->Write(i->fCommand,
sizeof(i->fCommand)));
1202 CheckRes(trans->Write(&(i->fFlags),
sizeof(i->fFlags)));
1204 CheckRes(trans->Write(terminator,
sizeof(terminator)));
1219 for (std::list<JackSessionCommand>::iterator ci = fCommandList.begin(); ci != fCommandList.end(); ci++) {
1220 session_command[i].uuid = strdup(ci->fUUID);
1221 session_command[i].client_name = strdup(ci->fClientName);
1222 session_command[i].command = strdup(ci->fCommand);
1223 session_command[i].flags = ci->fFlags;
1227 session_command[i].uuid = NULL;
1228 session_command[i].client_name = NULL;
1229 session_command[i].command = NULL;
1232 return session_command;
1242 char fPath[JACK_MESSAGE_SIZE + 1];
1243 char fDst[JACK_CLIENT_NAME_SIZE + 1];
1244 jack_session_event_type_t fEventType;
1250 :
JackRequest(JackRequest::kSessionNotify), fEventType(type), fRefNum(refnum)
1252 snprintf(fPath,
sizeof(fPath),
"%s", path);
1254 snprintf(fDst,
sizeof(fDst),
"%s", dst);
1262 CheckRes(trans->Read(&fRefNum,
sizeof(fRefNum)));
1263 CheckRes(trans->Read(&fPath,
sizeof(fPath)));
1264 CheckRes(trans->Read(&fDst,
sizeof(fDst)));
1265 CheckRes(trans->Read(&fEventType,
sizeof(fEventType)));
1271 CheckRes(JackRequest::Write(trans));
1272 CheckRes(trans->Write(&fRefNum,
sizeof(fRefNum)));
1273 CheckRes(trans->Write(&fPath,
sizeof(fPath)));
1274 CheckRes(trans->Write(&fDst,
sizeof(fDst)));
1275 CheckRes(trans->Write(&fEventType,
sizeof(fEventType)));
1289 :
JackRequest(JackRequest::kSessionReply), fRefNum(refnum)
1294 CheckRes(trans->Read(&fRefNum,
sizeof(fRefNum)));
1300 CheckRes(JackRequest::Write(trans));
1301 CheckRes(trans->Write(&fRefNum,
sizeof(fRefNum)));
1309 char fName[JACK_CLIENT_NAME_SIZE + 1];
1316 snprintf(fName,
sizeof(fName),
"%s", name);
1321 CheckRes(JackResult::Read(trans));
1322 CheckRes(trans->Read(&fName,
sizeof(fName)));
1328 CheckRes(JackResult::Write(trans));
1329 CheckRes(trans->Write(&fName,
sizeof(fName)));
1337 char fUUID[JACK_UUID_SIZE];
1344 snprintf(fUUID,
sizeof(fUUID),
"%s", uuid);
1349 CheckRes(JackResult::Read(trans));
1350 CheckRes(trans->Read(&fUUID,
sizeof(fUUID)));
1356 CheckRes(JackResult::Write(trans));
1357 CheckRes(trans->Write(&fUUID,
sizeof(fUUID)));
1365 char fName[JACK_CLIENT_NAME_SIZE + 1];
1373 strncpy(fName, client_name,
sizeof(fName));
1378 CheckRes(trans->Read(&fName,
sizeof(fName)));
1384 CheckRes(JackRequest::Write(trans));
1385 CheckRes(trans->Write(&fName,
sizeof(fName)));
1393 char fUUID[JACK_UUID_SIZE];
1401 strncpy(fUUID, uuid,
sizeof(fUUID));
1406 CheckRes(trans->Read(&fUUID,
sizeof(fUUID)));
1412 CheckRes(JackRequest::Write(trans));
1413 CheckRes(trans->Write(&fUUID,
sizeof(fUUID)));
1422 char fName[JACK_CLIENT_NAME_SIZE + 1];
1423 char fUUID[JACK_UUID_SIZE];
1429 :
JackRequest(JackRequest::kReserveClientName), fRefNum(refnum)
1431 strncpy(fName, name,
sizeof(fName));
1432 strncpy(fUUID, uuid,
sizeof(fUUID));
1437 CheckRes(trans->Read(&fUUID,
sizeof(fUUID)));
1438 CheckRes(trans->Read(&fName,
sizeof(fName)));
1439 CheckRes(trans->Read(&fRefNum,
sizeof(fRefNum)));
1445 CheckRes(JackRequest::Write(trans));
1446 CheckRes(trans->Write(&fUUID,
sizeof(fUUID)));
1447 CheckRes(trans->Write(&fName,
sizeof(fName)));
1448 CheckRes(trans->Write(&fRefNum,
sizeof(fRefNum)));
1456 char fName[JACK_CLIENT_NAME_SIZE + 1];
1462 :
JackRequest(JackRequest::kClientHasSessionCallback)
1464 strncpy(fName, name,
sizeof(fName));
1469 CheckRes(trans->Read(&fName,
sizeof(fName)));
1475 CheckRes(JackRequest::Write(trans));
1476 CheckRes(trans->Write(&fName,
sizeof(fName)));
1488 char fName[JACK_CLIENT_NAME_SIZE + 1];
1494 char fMessage[JACK_MESSAGE_SIZE + 1];
1498 JackClientNotification(
const char* name,
int refnum,
int notify,
int sync,
const char* message,
int value1,
int value2)
1499 : fRefNum(refnum), fNotify(notify), fValue1(value1), fValue2(value2), fSync(sync)
1501 snprintf(fName,
sizeof(fName),
"%s", name);
1502 snprintf(fMessage,
sizeof(fMessage),
"%s", message);
1507 CheckRes(trans->Read(&fName,
sizeof(fName)));
1508 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1509 CheckRes(trans->Read(&fNotify,
sizeof(
int)));
1510 CheckRes(trans->Read(&fValue1,
sizeof(
int)));
1511 CheckRes(trans->Read(&fValue2,
sizeof(
int)));
1512 CheckRes(trans->Read(&fSync,
sizeof(
int)));
1513 CheckRes(trans->Read(&fMessage,
sizeof(fMessage)));
1519 CheckRes(trans->Write(&fName,
sizeof(fName)));
1520 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1521 CheckRes(trans->Write(&fNotify,
sizeof(
int)));
1522 CheckRes(trans->Write(&fValue1,
sizeof(
int)));
1523 CheckRes(trans->Write(&fValue2,
sizeof(
int)));
1524 CheckRes(trans->Write(&fSync,
sizeof(
int)));
1525 CheckRes(trans->Write(&fMessage,
sizeof(fMessage)));