21 #ifndef __JackRequest__ 22 #define __JackRequest__ 24 #include "JackConstants.h" 25 #include "JackError.h" 26 #include "JackPlatformPlug.h" 27 #include "JackChannel.h" 38 #define CheckRes(exp) { if ((exp) < 0) { jack_error("CheckRes error"); return -1; } } 39 #define CheckSize() { CheckRes(trans->Read(&fSize, sizeof(int))); if (fSize != Size()) { jack_error("CheckSize error size = %d Size() = %d", fSize, Size()); return -1; } } 45 enum JackSessionReply {
47 kImmediateSessionReply = 1,
48 kPendingSessionReply = 2
64 kSetTimeBaseClient = 5,
66 kDeactivateClient = 7,
68 kSetClientCapabilities = 9,
69 kGetPortConnections = 10,
70 kGetPortNConnections = 11,
71 kReleaseTimebase = 12,
72 kSetTimebaseCallback = 13,
78 kConnectNamePorts = 25,
79 kDisconnectNamePorts = 26,
80 kGetInternalClientName = 27,
81 kInternalClientHandle = 28,
82 kInternalClientLoad = 29,
83 kInternalClientUnload = 30,
88 kGetClientByUUID = 35,
89 kReserveClientName = 36,
90 kGetUUIDByClient = 37,
91 kClientHasSessionCallback = 38,
92 kComputeTotalLatencies = 39
101 JackRequest(RequestType type): fType(type), fSize(0)
109 return trans->Read(&fType,
sizeof(RequestType));
117 CheckRes(trans->Write(&fType,
sizeof(RequestType)));
118 return trans->Write(&fSize,
sizeof(
int));
121 virtual int Size() {
return 0; }
143 return trans->Read(&fResult,
sizeof(
int));
148 return trans->Write(&fResult,
sizeof(
int));
160 char fName[JACK_CLIENT_NAME_SIZE+1];
168 memset(fName, 0,
sizeof(fName));
171 :
JackRequest(JackRequest::kClientCheck), fProtocol(protocol), fOptions(options), fUUID(uuid), fOpen(open)
173 memset(fName, 0,
sizeof(fName));
174 snprintf(fName,
sizeof(fName),
"%s", name);
180 CheckRes(trans->Read(&fName,
sizeof(fName)));
181 CheckRes(trans->Read(&fProtocol,
sizeof(
int)));
182 CheckRes(trans->Read(&fOptions,
sizeof(
int)));
183 CheckRes(trans->Read(&fUUID,
sizeof(
int)));
184 return trans->Read(&fOpen,
sizeof(
int));
189 CheckRes(JackRequest::Write(trans, Size()));
190 CheckRes(trans->Write(&fName,
sizeof(fName)));
191 CheckRes(trans->Write(&fProtocol,
sizeof(
int)));
192 CheckRes(trans->Write(&fOptions,
sizeof(
int)));
193 CheckRes(trans->Write(&fUUID,
sizeof(
int)));
194 return trans->Write(&fOpen,
sizeof(
int));
197 int Size() {
return sizeof(fName) + 4 *
sizeof(
int); }
208 char fName[JACK_CLIENT_NAME_SIZE+1];
213 memset(fName, 0,
sizeof(fName));
218 memset(fName, 0,
sizeof(fName));
219 snprintf(fName,
sizeof(fName),
"%s", name);
224 CheckRes(JackResult::Read(trans));
225 CheckRes(trans->Read(&fName,
sizeof(fName)));
226 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
232 CheckRes(JackResult::Write(trans));
233 CheckRes(trans->Write(&fName,
sizeof(fName)));
234 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
249 char fName[JACK_CLIENT_NAME_SIZE+1];
253 memset(fName, 0,
sizeof(fName));
257 memset(fName, 0,
sizeof(fName));
258 snprintf(fName,
sizeof(fName),
"%s", name);
266 CheckRes(trans->Read(&fPID,
sizeof(
int)));
267 CheckRes(trans->Read(&fUUID,
sizeof(
int)));
268 return trans->Read(&fName,
sizeof(fName));
273 CheckRes(JackRequest::Write(trans, Size()));
274 CheckRes(trans->Write(&fPID,
sizeof(
int)));
275 CheckRes(trans->Write(&fUUID,
sizeof(
int)));
276 return trans->Write(&fName,
sizeof(fName));
279 int Size() {
return 2 *
sizeof(int) +
sizeof(fName); }
295 :
JackResult(), fSharedEngine(-1), fSharedClient(-1), fSharedGraph(-1)
298 :
JackResult(result), fSharedEngine(index1), fSharedClient(index2), fSharedGraph(index3)
303 CheckRes(JackResult::Read(trans));
304 CheckRes(trans->Read(&fSharedEngine,
sizeof(
int)));
305 CheckRes(trans->Read(&fSharedClient,
sizeof(
int)));
306 CheckRes(trans->Read(&fSharedGraph,
sizeof(
int)));
312 CheckRes(JackResult::Write(trans));
313 CheckRes(trans->Write(&fSharedEngine,
sizeof(
int)));
314 CheckRes(trans->Write(&fSharedClient,
sizeof(
int)));
315 CheckRes(trans->Write(&fSharedGraph,
sizeof(
int)));
338 return trans->Read(&fRefNum,
sizeof(
int));
343 CheckRes(JackRequest::Write(trans, Size()));
344 return trans->Write(&fRefNum,
sizeof(
int));
347 int Size() {
return sizeof(int); }
363 :
JackRequest(JackRequest::kActivateClient), fRefNum(refnum), fIsRealTime(is_real_time)
369 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
370 return trans->Read(&fIsRealTime,
sizeof(
int));
375 CheckRes(JackRequest::Write(trans, Size()));
376 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
377 return trans->Write(&fIsRealTime,
sizeof(
int));
380 int Size() {
return 2 *
sizeof(int); }
400 return trans->Read(&fRefNum,
sizeof(
int));
405 CheckRes(JackRequest::Write(trans, Size()));
406 return trans->Write(&fRefNum,
sizeof(
int));
409 int Size() {
return sizeof(int); }
420 char fName[JACK_PORT_NAME_SIZE + 1];
421 char fPortType[JACK_PORT_TYPE_SIZE + 1];
423 unsigned int fBufferSize;
427 memset(fName, 0,
sizeof(fName));
428 memset(fPortType, 0,
sizeof(fPortType));
430 JackPortRegisterRequest(
int refnum,
const char* name,
const char* port_type,
unsigned int flags,
unsigned int buffer_size)
431 :
JackRequest(JackRequest::kRegisterPort), fRefNum(refnum), fFlags(flags), fBufferSize(buffer_size)
433 memset(fName, 0,
sizeof(fName));
434 memset(fPortType, 0,
sizeof(fPortType));
435 strncpy(fName, name,
sizeof(fName)-1);
436 strncpy(fPortType, port_type,
sizeof(fPortType)-1);
442 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
443 CheckRes(trans->Read(&fName,
sizeof(fName)));
444 CheckRes(trans->Read(&fPortType,
sizeof(fPortType)));
445 CheckRes(trans->Read(&fFlags,
sizeof(
unsigned int)));
446 CheckRes(trans->Read(&fBufferSize,
sizeof(
unsigned int)));
452 CheckRes(JackRequest::Write(trans, Size()));
453 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
454 CheckRes(trans->Write(&fName,
sizeof(fName)));
455 CheckRes(trans->Write(&fPortType,
sizeof(fPortType)));
456 CheckRes(trans->Write(&fFlags,
sizeof(
unsigned int)));
457 CheckRes(trans->Write(&fBufferSize,
sizeof(
unsigned int)));
461 int Size() {
return sizeof(int) +
sizeof(fName) +
sizeof(fPortType) + 2 *
sizeof(
unsigned int); }
472 jack_port_id_t fPortIndex;
479 CheckRes(JackResult::Read(trans));
480 return trans->Read(&fPortIndex,
sizeof(jack_port_id_t));
485 CheckRes(JackResult::Write(trans));
486 return trans->Write(&fPortIndex,
sizeof(jack_port_id_t));
499 jack_port_id_t fPortIndex;
504 :
JackRequest(JackRequest::kUnRegisterPort), fRefNum(refnum), fPortIndex(index)
510 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
511 CheckRes(trans->Read(&fPortIndex,
sizeof(jack_port_id_t)));
517 CheckRes(JackRequest::Write(trans, Size()));
518 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
519 CheckRes(trans->Write(&fPortIndex,
sizeof(jack_port_id_t)));
523 int Size() {
return sizeof(int) +
sizeof(jack_port_id_t); }
534 char fSrc[REAL_JACK_PORT_NAME_SIZE+1];
535 char fDst[REAL_JACK_PORT_NAME_SIZE+1];
539 memset(fSrc, 0,
sizeof(fSrc));
540 memset(fDst, 0,
sizeof(fDst));
543 :
JackRequest(JackRequest::kConnectNamePorts), fRefNum(refnum)
545 memset(fSrc, 0,
sizeof(fSrc));
546 memset(fDst, 0,
sizeof(fDst));
547 strncpy(fSrc, src_name,
sizeof(fSrc)-1);
548 strncpy(fDst, dst_name,
sizeof(fDst)-1);
554 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
555 CheckRes(trans->Read(&fSrc,
sizeof(fSrc)));
556 CheckRes(trans->Read(&fDst,
sizeof(fDst)));
562 CheckRes(JackRequest::Write(trans, Size()));
563 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
564 CheckRes(trans->Write(&fSrc,
sizeof(fSrc)));
565 CheckRes(trans->Write(&fDst,
sizeof(fDst)));
569 int Size() {
return sizeof(int) +
sizeof(fSrc) +
sizeof(fDst); }
581 char fSrc[REAL_JACK_PORT_NAME_SIZE+1];
582 char fDst[REAL_JACK_PORT_NAME_SIZE+1];
586 memset(fSrc, 0,
sizeof(fSrc));
587 memset(fDst, 0,
sizeof(fDst));
590 :
JackRequest(JackRequest::kDisconnectNamePorts), fRefNum(refnum)
592 memset(fSrc, 0,
sizeof(fSrc));
593 memset(fDst, 0,
sizeof(fDst));
594 strncpy(fSrc, src_name,
sizeof(fSrc)-1);
595 strncpy(fDst, dst_name,
sizeof(fDst)-1);
601 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
602 CheckRes(trans->Read(&fSrc,
sizeof(fSrc)));
603 CheckRes(trans->Read(&fDst,
sizeof(fDst)));
609 CheckRes(JackRequest::Write(trans, Size()));
610 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
611 CheckRes(trans->Write(&fSrc,
sizeof(fSrc)));
612 CheckRes(trans->Write(&fDst,
sizeof(fDst)));
616 int Size() {
return sizeof(int) +
sizeof(fSrc) +
sizeof(fDst); }
634 :
JackRequest(JackRequest::kConnectPorts), fRefNum(refnum), fSrc(src), fDst(dst)
640 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
641 CheckRes(trans->Read(&fSrc,
sizeof(jack_port_id_t)));
642 CheckRes(trans->Read(&fDst,
sizeof(jack_port_id_t)));
648 CheckRes(JackRequest::Write(trans, Size()));
649 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
650 CheckRes(trans->Write(&fSrc,
sizeof(jack_port_id_t)));
651 CheckRes(trans->Write(&fDst,
sizeof(jack_port_id_t)));
655 int Size() {
return sizeof(int) +
sizeof(jack_port_id_t) +
sizeof(jack_port_id_t); }
672 :
JackRequest(JackRequest::kDisconnectPorts), fRefNum(refnum), fSrc(src), fDst(dst)
678 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
679 CheckRes(trans->Read(&fSrc,
sizeof(jack_port_id_t)));
680 CheckRes(trans->Read(&fDst,
sizeof(jack_port_id_t)));
686 CheckRes(JackRequest::Write(trans, Size()));
687 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
688 CheckRes(trans->Write(&fSrc,
sizeof(jack_port_id_t)));
689 CheckRes(trans->Write(&fDst,
sizeof(jack_port_id_t)));
693 int Size() {
return sizeof(int) +
sizeof(jack_port_id_t) +
sizeof(jack_port_id_t); }
704 jack_port_id_t fPort;
705 char fName[JACK_PORT_NAME_SIZE + 1];
709 memset(fName, 0,
sizeof(fName));
712 :
JackRequest(JackRequest::kPortRename), fRefNum(refnum), fPort(port)
714 memset(fName, 0,
sizeof(fName));
715 strncpy(fName, name,
sizeof(fName)-1);
721 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
722 CheckRes(trans->Read(&fPort,
sizeof(jack_port_id_t)));
723 CheckRes(trans->Read(&fName,
sizeof(fName)));
729 CheckRes(JackRequest::Write(trans, Size()));
730 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
731 CheckRes(trans->Write(&fPort,
sizeof(jack_port_id_t)));
732 CheckRes(trans->Write(&fName,
sizeof(fName)));
736 int Size() {
return sizeof(int) +
sizeof(jack_port_id_t) +
sizeof(fName); }
747 jack_nframes_t fBufferSize;
752 :
JackRequest(JackRequest::kSetBufferSize), fBufferSize(buffer_size)
758 return trans->Read(&fBufferSize,
sizeof(jack_nframes_t));
763 CheckRes(JackRequest::Write(trans, Size()));
764 return trans->Write(&fBufferSize,
sizeof(jack_nframes_t));
767 int Size() {
return sizeof(jack_nframes_t); }
782 :
JackRequest(JackRequest::kSetFreeWheel), fOnOff(onoff)
788 return trans->Read(&fOnOff,
sizeof(
int));
793 CheckRes(JackRequest::Write(trans, Size()));
794 return trans->Write(&fOnOff,
sizeof(
int));
797 int Size() {
return sizeof(int); }
820 CheckRes(JackRequest::Write(trans, Size()));
824 int Size() {
return 0; }
839 :
JackRequest(JackRequest::kReleaseTimebase), fRefNum(refnum)
845 return trans->Read(&fRefNum,
sizeof(
int));
850 CheckRes(JackRequest::Write(trans, Size()));
851 return trans->Write(&fRefNum,
sizeof(
int));
854 int Size() {
return sizeof(int); }
871 :
JackRequest(JackRequest::kSetTimebaseCallback), fRefNum(refnum), fConditionnal(conditional)
877 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
878 return trans->Read(&fConditionnal,
sizeof(
int));
883 CheckRes(JackRequest::Write(trans, Size()));
884 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
885 return trans->Write(&fConditionnal,
sizeof(
int));
888 int Size() {
return sizeof(int) +
sizeof(
int); }
904 :
JackRequest(JackRequest::kGetInternalClientName), fRefNum(refnum), fIntRefNum(int_ref)
910 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
911 return trans->Read(&fIntRefNum,
sizeof(
int));
916 CheckRes(JackRequest::Write(trans, Size()));
917 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
918 return trans->Write(&fIntRefNum,
sizeof(
int));
921 int Size() {
return sizeof(int) +
sizeof(
int); }
931 char fName[JACK_CLIENT_NAME_SIZE+1];
935 memset(fName, 0,
sizeof(fName));
940 memset(fName, 0,
sizeof(fName));
941 snprintf(fName,
sizeof(fName),
"%s", name);
946 CheckRes(JackResult::Read(trans));
947 CheckRes(trans->Read(&fName,
sizeof(fName)));
953 CheckRes(JackResult::Write(trans));
954 CheckRes(trans->Write(&fName,
sizeof(fName)));
958 int Size() {
return sizeof(fName); }
969 char fName[JACK_CLIENT_NAME_SIZE+1];
973 memset(fName, 0,
sizeof(fName));
976 :
JackRequest(JackRequest::kInternalClientHandle), fRefNum(refnum)
978 memset(fName, 0,
sizeof(fName));
979 snprintf(fName,
sizeof(fName),
"%s", client_name);
985 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
986 return trans->Read(&fName,
sizeof(fName));
991 CheckRes(JackRequest::Write(trans, Size()));
992 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
993 return trans->Write(&fName,
sizeof(fName));
996 int Size() {
return sizeof(int) +
sizeof(fName); }
1012 :
JackResult(result), fStatus(status), fIntRefNum(int_ref)
1017 CheckRes(JackResult::Read(trans));
1018 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
1019 CheckRes(trans->Read(&fIntRefNum,
sizeof(
int)));
1025 CheckRes(JackResult::Write(trans));
1026 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
1027 CheckRes(trans->Write(&fIntRefNum,
sizeof(
int)));
1031 int Size() {
return sizeof(int) +
sizeof(
int); }
1042 #define MAX_PATH 256 1046 char fName[JACK_CLIENT_NAME_SIZE+1];
1047 char fDllName[MAX_PATH+1];
1048 char fLoadInitName[JACK_LOAD_INIT_LIMIT+1];
1054 memset(fName, 0,
sizeof(fName));
1055 memset(fDllName, 0,
sizeof(fDllName));
1056 memset(fLoadInitName, 0,
sizeof(fLoadInitName));
1059 :
JackRequest(JackRequest::kInternalClientLoad), fRefNum(refnum), fOptions(options), fUUID(uuid)
1061 memset(fName, 0,
sizeof(fName));
1062 memset(fDllName, 0,
sizeof(fDllName));
1063 memset(fLoadInitName, 0,
sizeof(fLoadInitName));
1064 snprintf(fName,
sizeof(fName),
"%s", client_name);
1065 snprintf(fDllName,
sizeof(fDllName),
"%s", so_name);
1066 snprintf(fLoadInitName,
sizeof(fLoadInitName),
"%s", objet_data);
1072 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1073 CheckRes(trans->Read(&fName,
sizeof(fName)));
1074 CheckRes(trans->Read(&fDllName,
sizeof(fDllName)));
1075 CheckRes(trans->Read(&fLoadInitName,
sizeof(fLoadInitName)));
1076 CheckRes(trans->Read(&fUUID,
sizeof(
int)));
1077 return trans->Read(&fOptions,
sizeof(
int));
1082 CheckRes(JackRequest::Write(trans, Size()));
1083 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1084 CheckRes(trans->Write(&fName,
sizeof(fName)));
1085 CheckRes(trans->Write(&fDllName,
sizeof(fDllName)));
1086 CheckRes(trans->Write(&fLoadInitName,
sizeof(fLoadInitName)));
1087 CheckRes(trans->Write(&fUUID,
sizeof(
int)));
1088 return trans->Write(&fOptions,
sizeof(
int));
1091 int Size() {
return sizeof(int) +
sizeof(fName) +
sizeof(fDllName) +
sizeof(fLoadInitName) + 2 *
sizeof(int); }
1107 :
JackResult(result), fStatus(status), fIntRefNum(int_ref)
1112 CheckRes(JackResult::Read(trans));
1113 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
1114 CheckRes(trans->Read(&fIntRefNum,
sizeof(
int)));
1120 CheckRes(JackResult::Write(trans));
1121 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
1122 CheckRes(trans->Write(&fIntRefNum,
sizeof(
int)));
1126 int Size() {
return sizeof(int) +
sizeof(
int); }
1142 :
JackRequest(JackRequest::kInternalClientUnload), fRefNum(refnum), fIntRefNum(int_ref)
1148 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1149 return trans->Read(&fIntRefNum,
sizeof(
int));
1154 CheckRes(JackRequest::Write(trans, Size()));
1155 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1156 return trans->Write(&fIntRefNum,
sizeof(
int));
1159 int Size() {
return sizeof(int) +
sizeof(
int); }
1179 CheckRes(JackResult::Read(trans));
1180 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
1186 CheckRes(JackResult::Write(trans));
1187 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
1191 int Size() {
return sizeof(int); }
1208 :
JackRequest(JackRequest::kNotification), fRefNum(refnum), fNotify(notify), fValue(value)
1214 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1215 CheckRes(trans->Read(&fNotify,
sizeof(
int)));
1216 CheckRes(trans->Read(&fValue,
sizeof(
int)));
1222 CheckRes(JackRequest::Write(trans, Size()));
1223 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1224 CheckRes(trans->Write(&fNotify,
sizeof(
int)));
1225 CheckRes(trans->Write(&fValue,
sizeof(
int)));
1229 int Size() {
return 3 *
sizeof(int); }
1235 char fUUID[JACK_UUID_SIZE];
1236 char fClientName[JACK_CLIENT_NAME_SIZE+1];
1237 char fCommand[JACK_SESSION_COMMAND_SIZE];
1238 jack_session_flags_t fFlags;
1242 memset(fUUID, 0,
sizeof(fUUID));
1243 memset(fClientName, 0,
sizeof(fClientName));
1244 memset(fCommand, 0,
sizeof(fCommand));
1246 JackSessionCommand(
const char *uuid,
const char *clientname,
const char *command, jack_session_flags_t flags)
1248 memset(fUUID, 0,
sizeof(fUUID));
1249 memset(fClientName, 0,
sizeof(fClientName));
1250 memset(fCommand, 0,
sizeof(fCommand));
1251 strncpy(fUUID, uuid,
sizeof(fUUID)-1);
1252 strncpy(fClientName, clientname,
sizeof(fClientName)-1);
1253 strncpy(fCommand, command,
sizeof(fCommand)-1);
1261 std::list<JackSessionCommand> fCommandList;
1277 CheckRes(JackResult::Read(trans));
1281 CheckRes(trans->Read(buffer.fUUID,
sizeof(buffer.fUUID)));
1282 if (buffer.fUUID[0] ==
'\0')
1285 CheckRes(trans->Read(buffer.fClientName,
sizeof(buffer.fClientName)));
1286 CheckRes(trans->Read(buffer.fCommand,
sizeof(buffer.fCommand)));
1287 CheckRes(trans->Read(&(buffer.fFlags),
sizeof(buffer.fFlags)));
1289 fCommandList.push_back(buffer);
1305 char terminator[JACK_UUID_SIZE];
1306 terminator[0] =
'\0';
1308 CheckRes(JackResult::Write(trans));
1309 for (std::list<JackSessionCommand>::iterator i = fCommandList.begin(); i != fCommandList.end(); i++) {
1310 CheckRes(trans->Write(i->fUUID,
sizeof(i->fUUID)));
1311 CheckRes(trans->Write(i->fClientName,
sizeof(i->fClientName)));
1312 CheckRes(trans->Write(i->fCommand,
sizeof(i->fCommand)));
1313 CheckRes(trans->Write(&(i->fFlags),
sizeof(i->fFlags)));
1315 CheckRes(trans->Write(terminator,
sizeof(terminator)));
1330 for (std::list<JackSessionCommand>::iterator ci = fCommandList.begin(); ci != fCommandList.end(); ci++) {
1331 session_command[i].uuid = strdup(ci->fUUID);
1332 session_command[i].client_name = strdup(ci->fClientName);
1333 session_command[i].command = strdup(ci->fCommand);
1334 session_command[i].flags = ci->fFlags;
1338 session_command[i].uuid = NULL;
1339 session_command[i].client_name = NULL;
1340 session_command[i].command = NULL;
1343 return session_command;
1353 char fPath[JACK_MESSAGE_SIZE+1];
1354 char fDst[JACK_CLIENT_NAME_SIZE+1];
1355 jack_session_event_type_t fEventType;
1361 :
JackRequest(JackRequest::kSessionNotify), fEventType(type), fRefNum(refnum)
1363 memset(fPath, 0,
sizeof(fPath));
1364 memset(fDst, 0,
sizeof(fDst));
1365 snprintf(fPath,
sizeof(fPath),
"%s", path);
1366 fPath[JACK_MESSAGE_SIZE] = 0;
1368 snprintf(fDst,
sizeof(fDst),
"%s", dst);
1369 fDst[JACK_CLIENT_NAME_SIZE] = 0;
1376 CheckRes(trans->Read(&fRefNum,
sizeof(fRefNum)));
1377 CheckRes(trans->Read(&fPath,
sizeof(fPath)));
1378 CheckRes(trans->Read(&fDst,
sizeof(fDst)));
1379 CheckRes(trans->Read(&fEventType,
sizeof(fEventType)));
1385 CheckRes(JackRequest::Write(trans, Size()));
1386 CheckRes(trans->Write(&fRefNum,
sizeof(fRefNum)));
1387 CheckRes(trans->Write(&fPath,
sizeof(fPath)));
1388 CheckRes(trans->Write(&fDst,
sizeof(fDst)));
1389 CheckRes(trans->Write(&fEventType,
sizeof(fEventType)));
1393 int Size() {
return sizeof(fRefNum) +
sizeof(fPath) +
sizeof(fDst) +
sizeof(fEventType); }
1404 :
JackRequest(JackRequest::kSessionReply), fRefNum(refnum)
1410 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1416 CheckRes(JackRequest::Write(trans, Size()));
1417 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1421 int Size() {
return sizeof(int); }
1427 char fName[JACK_CLIENT_NAME_SIZE+1];
1431 memset(fName, 0,
sizeof(fName));
1436 memset(fName, 0,
sizeof(fName));
1437 snprintf(fName,
sizeof(fName),
"%s", name);
1442 CheckRes(JackResult::Read(trans));
1443 CheckRes(trans->Read(&fName,
sizeof(fName)));
1449 CheckRes(JackResult::Write(trans));
1450 CheckRes(trans->Write(&fName,
sizeof(fName)));
1458 char fUUID[JACK_UUID_SIZE];
1462 memset(fUUID, 0,
sizeof(fUUID));
1467 memset(fUUID, 0,
sizeof(fUUID));
1468 snprintf(fUUID,
sizeof(fUUID),
"%s", uuid);
1473 CheckRes(JackResult::Read(trans));
1474 CheckRes(trans->Read(&fUUID,
sizeof(fUUID)));
1480 CheckRes(JackResult::Write(trans));
1481 CheckRes(trans->Write(&fUUID,
sizeof(fUUID)));
1489 char fName[JACK_CLIENT_NAME_SIZE+1];
1493 memset(fName, 0,
sizeof(fName));
1499 memset(fName, 0,
sizeof(fName));
1500 strncpy(fName, client_name,
sizeof(fName)-1);
1506 CheckRes(trans->Read(&fName,
sizeof(fName)));
1512 CheckRes(JackRequest::Write(trans, Size()));
1513 CheckRes(trans->Write(&fName,
sizeof(fName)));
1517 int Size() {
return sizeof(fName); }
1523 char fUUID[JACK_UUID_SIZE];
1527 memset(fUUID, 0,
sizeof(fUUID));
1533 memset(fUUID, 0,
sizeof(fUUID));
1534 strncpy(fUUID, uuid,
sizeof(fUUID)-1);
1540 CheckRes(trans->Read(&fUUID,
sizeof(fUUID)));
1546 CheckRes(JackRequest::Write(trans, Size()));
1547 CheckRes(trans->Write(&fUUID,
sizeof(fUUID)));
1551 int Size() {
return sizeof(fUUID); }
1558 char fName[JACK_CLIENT_NAME_SIZE+1];
1559 char fUUID[JACK_UUID_SIZE];
1563 memset(fName, 0,
sizeof(fName));
1564 memset(fUUID, 0,
sizeof(fUUID));
1568 :
JackRequest(JackRequest::kReserveClientName), fRefNum(refnum)
1570 memset(fName, 0,
sizeof(fName));
1571 memset(fUUID, 0,
sizeof(fUUID));
1572 strncpy(fName, name,
sizeof(fName)-1);
1573 strncpy(fUUID, uuid,
sizeof(fUUID)-1);
1579 CheckRes(trans->Read(&fUUID,
sizeof(fUUID)));
1580 CheckRes(trans->Read(&fName,
sizeof(fName)));
1581 CheckRes(trans->Read(&fRefNum,
sizeof(fRefNum)));
1587 CheckRes(JackRequest::Write(trans, Size()));
1588 CheckRes(trans->Write(&fUUID,
sizeof(fUUID)));
1589 CheckRes(trans->Write(&fName,
sizeof(fName)));
1590 CheckRes(trans->Write(&fRefNum,
sizeof(fRefNum)));
1594 int Size() {
return sizeof(fUUID) +
sizeof(fName) +
sizeof(fRefNum); }
1600 char fName[JACK_CLIENT_NAME_SIZE+1];
1604 memset(fName, 0,
sizeof(fName));
1608 :
JackRequest(JackRequest::kClientHasSessionCallback)
1610 memset(fName, 0,
sizeof(fName));
1611 strncpy(fName, name,
sizeof(fName)-1);
1617 CheckRes(trans->Read(&fName,
sizeof(fName)));
1623 CheckRes(JackRequest::Write(trans, Size()));
1624 CheckRes(trans->Write(&fName,
sizeof(fName)));
1628 int Size() {
return sizeof(fName); }
1639 char fName[JACK_CLIENT_NAME_SIZE+1];
1645 char fMessage[JACK_MESSAGE_SIZE+1];
1649 memset(fName, 0,
sizeof(fName));
1650 memset(fMessage, 0,
sizeof(fMessage));
1652 JackClientNotification(
const char* name,
int refnum,
int notify,
int sync,
const char* message,
int value1,
int value2)
1653 : fRefNum(refnum), fNotify(notify), fValue1(value1), fValue2(value2), fSync(sync)
1655 memset(fName, 0,
sizeof(fName));
1656 memset(fMessage, 0,
sizeof(fMessage));
1657 snprintf(fName,
sizeof(fName),
"%s", name);
1658 snprintf(fMessage,
sizeof(fMessage),
"%s", message);
1665 CheckRes(trans->Read(&fName,
sizeof(fName)));
1666 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1667 CheckRes(trans->Read(&fNotify,
sizeof(
int)));
1668 CheckRes(trans->Read(&fValue1,
sizeof(
int)));
1669 CheckRes(trans->Read(&fValue2,
sizeof(
int)));
1670 CheckRes(trans->Read(&fSync,
sizeof(
int)));
1671 CheckRes(trans->Read(&fMessage,
sizeof(fMessage)));
1677 CheckRes(trans->Write(&fSize,
sizeof(
int)));
1678 CheckRes(trans->Write(&fName,
sizeof(fName)));
1679 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1680 CheckRes(trans->Write(&fNotify,
sizeof(
int)));
1681 CheckRes(trans->Write(&fValue1,
sizeof(
int)));
1682 CheckRes(trans->Write(&fValue2,
sizeof(
int)));
1683 CheckRes(trans->Write(&fSync,
sizeof(
int)));
1684 CheckRes(trans->Write(&fMessage,
sizeof(fMessage)));
1688 int Size() {
return sizeof(int) +
sizeof(fName) + 5 *
sizeof(int) +
sizeof(fMessage); }
InternalClientHandle result.
SetTimebaseCallback request.
InternalClientLoad result.
Request from client to server.
ClientNotification request.
GetInternalClientName request.
GetInternalClient result.
ComputeTotalLatencies request.
enum JackSessionFlags jack_session_flags_t
InternalClientUnload request.
InternalClientLoad request.
InternalClientLoad result.
PortDisconnectName request.
InternalClientHandle request.