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,
93 kPropertyChangeNotify = 40
102 JackRequest(RequestType type): fType(type), fSize(0)
110 return trans->Read(&fType,
sizeof(RequestType));
118 CheckRes(trans->Write(&fType,
sizeof(RequestType)));
119 return trans->Write(&fSize,
sizeof(
int));
122 virtual int Size() {
return 0; }
144 return trans->Read(&fResult,
sizeof(
int));
149 return trans->Write(&fResult,
sizeof(
int));
161 char fName[JACK_CLIENT_NAME_SIZE+1];
169 memset(fName, 0,
sizeof(fName));
172 :
JackRequest(JackRequest::kClientCheck), fProtocol(protocol), fOptions(options), fOpen(open), fUUID(uuid)
174 memset(fName, 0,
sizeof(fName));
175 snprintf(fName,
sizeof(fName),
"%s", name);
181 CheckRes(trans->Read(&fName,
sizeof(fName)));
182 CheckRes(trans->Read(&fProtocol,
sizeof(
int)));
183 CheckRes(trans->Read(&fOptions,
sizeof(
int)));
184 CheckRes(trans->Read(&fUUID,
sizeof(jack_uuid_t)));
185 return trans->Read(&fOpen,
sizeof(
int));
190 CheckRes(JackRequest::Write(trans, Size()));
191 CheckRes(trans->Write(&fName,
sizeof(fName)));
192 CheckRes(trans->Write(&fProtocol,
sizeof(
int)));
193 CheckRes(trans->Write(&fOptions,
sizeof(
int)));
194 CheckRes(trans->Write(&fUUID,
sizeof(jack_uuid_t)));
195 return trans->Write(&fOpen,
sizeof(
int));
198 int Size() {
return sizeof(fName) + 3 *
sizeof(
int) +
sizeof(jack_uuid_t); }
209 char fName[JACK_CLIENT_NAME_SIZE+1];
214 memset(fName, 0,
sizeof(fName));
219 memset(fName, 0,
sizeof(fName));
220 snprintf(fName,
sizeof(fName),
"%s", name);
225 CheckRes(JackResult::Read(trans));
226 CheckRes(trans->Read(&fName,
sizeof(fName)));
227 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
233 CheckRes(JackResult::Write(trans));
234 CheckRes(trans->Write(&fName,
sizeof(fName)));
235 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
250 char fName[JACK_CLIENT_NAME_SIZE+1];
254 memset(fName, 0,
sizeof(fName));
258 memset(fName, 0,
sizeof(fName));
259 snprintf(fName,
sizeof(fName),
"%s", name);
267 CheckRes(trans->Read(&fPID,
sizeof(
int)));
268 CheckRes(trans->Read(&fUUID,
sizeof(jack_uuid_t)));
269 return trans->Read(&fName,
sizeof(fName));
274 CheckRes(JackRequest::Write(trans, Size()));
275 CheckRes(trans->Write(&fPID,
sizeof(
int)));
276 CheckRes(trans->Write(&fUUID,
sizeof(jack_uuid_t)));
277 return trans->Write(&fName,
sizeof(fName));
280 int Size() {
return sizeof(int) +
sizeof(jack_uuid_t) +
sizeof(fName); }
296 :
JackResult(), fSharedEngine(-1), fSharedClient(-1), fSharedGraph(-1)
299 :
JackResult(result), fSharedEngine(index1), fSharedClient(index2), fSharedGraph(index3)
304 CheckRes(JackResult::Read(trans));
305 CheckRes(trans->Read(&fSharedEngine,
sizeof(
int)));
306 CheckRes(trans->Read(&fSharedClient,
sizeof(
int)));
307 CheckRes(trans->Read(&fSharedGraph,
sizeof(
int)));
313 CheckRes(JackResult::Write(trans));
314 CheckRes(trans->Write(&fSharedEngine,
sizeof(
int)));
315 CheckRes(trans->Write(&fSharedClient,
sizeof(
int)));
316 CheckRes(trans->Write(&fSharedGraph,
sizeof(
int)));
339 return trans->Read(&fRefNum,
sizeof(
int));
344 CheckRes(JackRequest::Write(trans, Size()));
345 return trans->Write(&fRefNum,
sizeof(
int));
348 int Size() {
return sizeof(int); }
364 :
JackRequest(JackRequest::kActivateClient), fRefNum(refnum), fIsRealTime(is_real_time)
370 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
371 return trans->Read(&fIsRealTime,
sizeof(
int));
376 CheckRes(JackRequest::Write(trans, Size()));
377 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
378 return trans->Write(&fIsRealTime,
sizeof(
int));
381 int Size() {
return 2 *
sizeof(int); }
401 return trans->Read(&fRefNum,
sizeof(
int));
406 CheckRes(JackRequest::Write(trans, Size()));
407 return trans->Write(&fRefNum,
sizeof(
int));
410 int Size() {
return sizeof(int); }
421 char fName[JACK_PORT_NAME_SIZE + 1];
422 char fPortType[JACK_PORT_TYPE_SIZE + 1];
424 unsigned int fBufferSize;
428 memset(fName, 0,
sizeof(fName));
429 memset(fPortType, 0,
sizeof(fPortType));
431 JackPortRegisterRequest(
int refnum,
const char* name,
const char* port_type,
unsigned int flags,
unsigned int buffer_size)
432 :
JackRequest(JackRequest::kRegisterPort), fRefNum(refnum), fFlags(flags), fBufferSize(buffer_size)
434 memset(fName, 0,
sizeof(fName));
435 memset(fPortType, 0,
sizeof(fPortType));
436 strncpy(fName, name,
sizeof(fName)-1);
437 strncpy(fPortType, port_type,
sizeof(fPortType)-1);
443 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
444 CheckRes(trans->Read(&fName,
sizeof(fName)));
445 CheckRes(trans->Read(&fPortType,
sizeof(fPortType)));
446 CheckRes(trans->Read(&fFlags,
sizeof(
unsigned int)));
447 CheckRes(trans->Read(&fBufferSize,
sizeof(
unsigned int)));
453 CheckRes(JackRequest::Write(trans, Size()));
454 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
455 CheckRes(trans->Write(&fName,
sizeof(fName)));
456 CheckRes(trans->Write(&fPortType,
sizeof(fPortType)));
457 CheckRes(trans->Write(&fFlags,
sizeof(
unsigned int)));
458 CheckRes(trans->Write(&fBufferSize,
sizeof(
unsigned int)));
462 int Size() {
return sizeof(int) +
sizeof(fName) +
sizeof(fPortType) + 2 *
sizeof(
unsigned int); }
473 jack_port_id_t fPortIndex;
480 CheckRes(JackResult::Read(trans));
481 return trans->Read(&fPortIndex,
sizeof(jack_port_id_t));
486 CheckRes(JackResult::Write(trans));
487 return trans->Write(&fPortIndex,
sizeof(jack_port_id_t));
500 jack_port_id_t fPortIndex;
505 :
JackRequest(JackRequest::kUnRegisterPort), fRefNum(refnum), fPortIndex(index)
511 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
512 CheckRes(trans->Read(&fPortIndex,
sizeof(jack_port_id_t)));
518 CheckRes(JackRequest::Write(trans, Size()));
519 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
520 CheckRes(trans->Write(&fPortIndex,
sizeof(jack_port_id_t)));
524 int Size() {
return sizeof(int) +
sizeof(jack_port_id_t); }
535 char fSrc[REAL_JACK_PORT_NAME_SIZE+1];
536 char fDst[REAL_JACK_PORT_NAME_SIZE+1];
540 memset(fSrc, 0,
sizeof(fSrc));
541 memset(fDst, 0,
sizeof(fDst));
544 :
JackRequest(JackRequest::kConnectNamePorts), fRefNum(refnum)
546 memset(fSrc, 0,
sizeof(fSrc));
547 memset(fDst, 0,
sizeof(fDst));
548 strncpy(fSrc, src_name,
sizeof(fSrc)-1);
549 strncpy(fDst, dst_name,
sizeof(fDst)-1);
555 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
556 CheckRes(trans->Read(&fSrc,
sizeof(fSrc)));
557 CheckRes(trans->Read(&fDst,
sizeof(fDst)));
563 CheckRes(JackRequest::Write(trans, Size()));
564 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
565 CheckRes(trans->Write(&fSrc,
sizeof(fSrc)));
566 CheckRes(trans->Write(&fDst,
sizeof(fDst)));
570 int Size() {
return sizeof(int) +
sizeof(fSrc) +
sizeof(fDst); }
582 char fSrc[REAL_JACK_PORT_NAME_SIZE+1];
583 char fDst[REAL_JACK_PORT_NAME_SIZE+1];
587 memset(fSrc, 0,
sizeof(fSrc));
588 memset(fDst, 0,
sizeof(fDst));
591 :
JackRequest(JackRequest::kDisconnectNamePorts), fRefNum(refnum)
593 memset(fSrc, 0,
sizeof(fSrc));
594 memset(fDst, 0,
sizeof(fDst));
595 strncpy(fSrc, src_name,
sizeof(fSrc)-1);
596 strncpy(fDst, dst_name,
sizeof(fDst)-1);
602 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
603 CheckRes(trans->Read(&fSrc,
sizeof(fSrc)));
604 CheckRes(trans->Read(&fDst,
sizeof(fDst)));
610 CheckRes(JackRequest::Write(trans, Size()));
611 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
612 CheckRes(trans->Write(&fSrc,
sizeof(fSrc)));
613 CheckRes(trans->Write(&fDst,
sizeof(fDst)));
617 int Size() {
return sizeof(int) +
sizeof(fSrc) +
sizeof(fDst); }
635 :
JackRequest(JackRequest::kConnectPorts), fRefNum(refnum), fSrc(src), fDst(dst)
641 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
642 CheckRes(trans->Read(&fSrc,
sizeof(jack_port_id_t)));
643 CheckRes(trans->Read(&fDst,
sizeof(jack_port_id_t)));
649 CheckRes(JackRequest::Write(trans, Size()));
650 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
651 CheckRes(trans->Write(&fSrc,
sizeof(jack_port_id_t)));
652 CheckRes(trans->Write(&fDst,
sizeof(jack_port_id_t)));
656 int Size() {
return sizeof(int) +
sizeof(jack_port_id_t) +
sizeof(jack_port_id_t); }
673 :
JackRequest(JackRequest::kDisconnectPorts), fRefNum(refnum), fSrc(src), fDst(dst)
679 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
680 CheckRes(trans->Read(&fSrc,
sizeof(jack_port_id_t)));
681 CheckRes(trans->Read(&fDst,
sizeof(jack_port_id_t)));
687 CheckRes(JackRequest::Write(trans, Size()));
688 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
689 CheckRes(trans->Write(&fSrc,
sizeof(jack_port_id_t)));
690 CheckRes(trans->Write(&fDst,
sizeof(jack_port_id_t)));
694 int Size() {
return sizeof(int) +
sizeof(jack_port_id_t) +
sizeof(jack_port_id_t); }
705 jack_port_id_t fPort;
706 char fName[JACK_PORT_NAME_SIZE + 1];
710 memset(fName, 0,
sizeof(fName));
713 :
JackRequest(JackRequest::kPortRename), fRefNum(refnum), fPort(port)
715 memset(fName, 0,
sizeof(fName));
716 strncpy(fName, name,
sizeof(fName)-1);
722 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
723 CheckRes(trans->Read(&fPort,
sizeof(jack_port_id_t)));
724 CheckRes(trans->Read(&fName,
sizeof(fName)));
730 CheckRes(JackRequest::Write(trans, Size()));
731 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
732 CheckRes(trans->Write(&fPort,
sizeof(jack_port_id_t)));
733 CheckRes(trans->Write(&fName,
sizeof(fName)));
737 int Size() {
return sizeof(int) +
sizeof(jack_port_id_t) +
sizeof(fName); }
748 jack_nframes_t fBufferSize;
753 :
JackRequest(JackRequest::kSetBufferSize), fBufferSize(buffer_size)
759 return trans->Read(&fBufferSize,
sizeof(jack_nframes_t));
764 CheckRes(JackRequest::Write(trans, Size()));
765 return trans->Write(&fBufferSize,
sizeof(jack_nframes_t));
768 int Size() {
return sizeof(jack_nframes_t); }
783 :
JackRequest(JackRequest::kSetFreeWheel), fOnOff(onoff)
789 return trans->Read(&fOnOff,
sizeof(
int));
794 CheckRes(JackRequest::Write(trans, Size()));
795 return trans->Write(&fOnOff,
sizeof(
int));
798 int Size() {
return sizeof(int); }
821 CheckRes(JackRequest::Write(trans, Size()));
825 int Size() {
return 0; }
840 :
JackRequest(JackRequest::kReleaseTimebase), fRefNum(refnum)
846 return trans->Read(&fRefNum,
sizeof(
int));
851 CheckRes(JackRequest::Write(trans, Size()));
852 return trans->Write(&fRefNum,
sizeof(
int));
855 int Size() {
return sizeof(int); }
872 :
JackRequest(JackRequest::kSetTimebaseCallback), fRefNum(refnum), fConditionnal(conditional)
878 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
879 return trans->Read(&fConditionnal,
sizeof(
int));
884 CheckRes(JackRequest::Write(trans, Size()));
885 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
886 return trans->Write(&fConditionnal,
sizeof(
int));
889 int Size() {
return sizeof(int) +
sizeof(
int); }
905 :
JackRequest(JackRequest::kGetInternalClientName), fRefNum(refnum), fIntRefNum(int_ref)
911 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
912 return trans->Read(&fIntRefNum,
sizeof(
int));
917 CheckRes(JackRequest::Write(trans, Size()));
918 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
919 return trans->Write(&fIntRefNum,
sizeof(
int));
922 int Size() {
return sizeof(int) +
sizeof(
int); }
932 char fName[JACK_CLIENT_NAME_SIZE+1];
936 memset(fName, 0,
sizeof(fName));
941 memset(fName, 0,
sizeof(fName));
942 snprintf(fName,
sizeof(fName),
"%s", name);
947 CheckRes(JackResult::Read(trans));
948 CheckRes(trans->Read(&fName,
sizeof(fName)));
954 CheckRes(JackResult::Write(trans));
955 CheckRes(trans->Write(&fName,
sizeof(fName)));
959 int Size() {
return sizeof(fName); }
970 char fName[JACK_CLIENT_NAME_SIZE+1];
974 memset(fName, 0,
sizeof(fName));
977 :
JackRequest(JackRequest::kInternalClientHandle), fRefNum(refnum)
979 memset(fName, 0,
sizeof(fName));
980 snprintf(fName,
sizeof(fName),
"%s", client_name);
986 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
987 return trans->Read(&fName,
sizeof(fName));
992 CheckRes(JackRequest::Write(trans, Size()));
993 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
994 return trans->Write(&fName,
sizeof(fName));
997 int Size() {
return sizeof(int) +
sizeof(fName); }
1013 :
JackResult(result), fStatus(status), fIntRefNum(int_ref)
1018 CheckRes(JackResult::Read(trans));
1019 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
1020 CheckRes(trans->Read(&fIntRefNum,
sizeof(
int)));
1026 CheckRes(JackResult::Write(trans));
1027 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
1028 CheckRes(trans->Write(&fIntRefNum,
sizeof(
int)));
1032 int Size() {
return sizeof(int) +
sizeof(
int); }
1043 #define MAX_PATH 256
1047 char fName[JACK_CLIENT_NAME_SIZE+1];
1048 char fDllName[MAX_PATH+1];
1049 char fLoadInitName[JACK_LOAD_INIT_LIMIT+1];
1055 memset(fName, 0,
sizeof(fName));
1056 memset(fDllName, 0,
sizeof(fDllName));
1057 memset(fLoadInitName, 0,
sizeof(fLoadInitName));
1059 JackInternalClientLoadRequest(
int refnum,
const char* client_name,
const char* so_name,
const char* objet_data,
int options, jack_uuid_t uuid )
1060 :
JackRequest(JackRequest::kInternalClientLoad), fRefNum(refnum), fOptions(options), fUUID(uuid)
1062 memset(fName, 0,
sizeof(fName));
1063 memset(fDllName, 0,
sizeof(fDllName));
1064 memset(fLoadInitName, 0,
sizeof(fLoadInitName));
1065 strncpy(fName, client_name,
sizeof(fName)-1);
1067 strncpy(fDllName, so_name,
sizeof(fDllName)-1);
1070 strncpy(fLoadInitName, objet_data,
sizeof(fLoadInitName)-1);
1077 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1078 CheckRes(trans->Read(&fName,
sizeof(fName)));
1079 CheckRes(trans->Read(&fDllName,
sizeof(fDllName)));
1080 CheckRes(trans->Read(&fLoadInitName,
sizeof(fLoadInitName)));
1081 CheckRes(trans->Read(&fUUID,
sizeof(jack_uuid_t)));
1082 return trans->Read(&fOptions,
sizeof(
int));
1087 CheckRes(JackRequest::Write(trans, Size()));
1088 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1089 CheckRes(trans->Write(&fName,
sizeof(fName)));
1090 CheckRes(trans->Write(&fDllName,
sizeof(fDllName)));
1091 CheckRes(trans->Write(&fLoadInitName,
sizeof(fLoadInitName)));
1092 CheckRes(trans->Write(&fUUID,
sizeof(jack_uuid_t)));
1093 return trans->Write(&fOptions,
sizeof(
int));
1096 int Size() {
return sizeof(int) +
sizeof(fName) +
sizeof(fDllName) +
sizeof(fLoadInitName) +
sizeof(int) +
sizeof(jack_uuid_t); }
1112 :
JackResult(result), fStatus(status), fIntRefNum(int_ref)
1117 CheckRes(JackResult::Read(trans));
1118 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
1119 CheckRes(trans->Read(&fIntRefNum,
sizeof(
int)));
1125 CheckRes(JackResult::Write(trans));
1126 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
1127 CheckRes(trans->Write(&fIntRefNum,
sizeof(
int)));
1131 int Size() {
return sizeof(int) +
sizeof(
int); }
1147 :
JackRequest(JackRequest::kInternalClientUnload), fRefNum(refnum), fIntRefNum(int_ref)
1153 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1154 return trans->Read(&fIntRefNum,
sizeof(
int));
1159 CheckRes(JackRequest::Write(trans, Size()));
1160 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1161 return trans->Write(&fIntRefNum,
sizeof(
int));
1164 int Size() {
return sizeof(int) +
sizeof(
int); }
1184 CheckRes(JackResult::Read(trans));
1185 CheckRes(trans->Read(&fStatus,
sizeof(
int)));
1191 CheckRes(JackResult::Write(trans));
1192 CheckRes(trans->Write(&fStatus,
sizeof(
int)));
1196 int Size() {
return sizeof(int); }
1213 :
JackRequest(JackRequest::kNotification), fRefNum(refnum), fNotify(notify), fValue(value)
1219 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1220 CheckRes(trans->Read(&fNotify,
sizeof(
int)));
1221 CheckRes(trans->Read(&fValue,
sizeof(
int)));
1227 CheckRes(JackRequest::Write(trans, Size()));
1228 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1229 CheckRes(trans->Write(&fNotify,
sizeof(
int)));
1230 CheckRes(trans->Write(&fValue,
sizeof(
int)));
1234 int Size() {
return 3 *
sizeof(int); }
1240 char fUUID[JACK_UUID_STRING_SIZE];
1241 char fClientName[JACK_CLIENT_NAME_SIZE+1];
1242 char fCommand[JACK_SESSION_COMMAND_SIZE+1];
1243 jack_session_flags_t fFlags;
1247 memset(fUUID, 0,
sizeof(fUUID));
1248 memset(fClientName, 0,
sizeof(fClientName));
1249 memset(fCommand, 0,
sizeof(fCommand));
1251 JackSessionCommand(
const char *uuid,
const char *clientname,
const char *command, jack_session_flags_t flags)
1253 memset(fUUID, 0,
sizeof(fUUID));
1254 memset(fClientName, 0,
sizeof(fClientName));
1255 memset(fCommand, 0,
sizeof(fCommand));
1256 strncpy(fUUID, uuid,
sizeof(fUUID)-1);
1257 strncpy(fClientName, clientname,
sizeof(fClientName)-1);
1258 strncpy(fCommand, command,
sizeof(fCommand)-1);
1266 std::list<JackSessionCommand> fCommandList;
1282 CheckRes(JackResult::Read(trans));
1286 CheckRes(trans->Read(buffer.fUUID,
sizeof(buffer.fUUID)));
1287 if (buffer.fUUID[0] ==
'\0')
1290 CheckRes(trans->Read(buffer.fClientName,
sizeof(buffer.fClientName)));
1291 CheckRes(trans->Read(buffer.fCommand,
sizeof(buffer.fCommand)));
1292 CheckRes(trans->Read(&(buffer.fFlags),
sizeof(buffer.fFlags)));
1294 fCommandList.push_back(buffer);
1310 char terminator[JACK_UUID_STRING_SIZE];
1311 memset(terminator, 0,
sizeof(terminator));
1313 CheckRes(JackResult::Write(trans));
1314 for (std::list<JackSessionCommand>::iterator i = fCommandList.begin(); i != fCommandList.end(); i++) {
1315 CheckRes(trans->Write(i->fUUID,
sizeof(i->fUUID)));
1316 CheckRes(trans->Write(i->fClientName,
sizeof(i->fClientName)));
1317 CheckRes(trans->Write(i->fCommand,
sizeof(i->fCommand)));
1318 CheckRes(trans->Write(&(i->fFlags),
sizeof(i->fFlags)));
1320 CheckRes(trans->Write(terminator,
sizeof(terminator)));
1335 for (std::list<JackSessionCommand>::iterator ci = fCommandList.begin(); ci != fCommandList.end(); ci++) {
1336 session_command[i].uuid = strdup(ci->fUUID);
1337 session_command[i].client_name = strdup(ci->fClientName);
1338 session_command[i].command = strdup(ci->fCommand);
1339 session_command[i].flags = ci->fFlags;
1343 session_command[i].uuid = NULL;
1344 session_command[i].client_name = NULL;
1345 session_command[i].command = NULL;
1348 return session_command;
1358 char fPath[JACK_MESSAGE_SIZE+1];
1359 char fDst[JACK_CLIENT_NAME_SIZE+1];
1360 jack_session_event_type_t fEventType;
1366 :
JackRequest(JackRequest::kSessionNotify), fEventType(type), fRefNum(refnum)
1368 memset(fPath, 0,
sizeof(fPath));
1369 memset(fDst, 0,
sizeof(fDst));
1370 strncpy(fPath, path,
sizeof(fPath)-1);
1372 strncpy(fDst, dst,
sizeof(fDst)-1);
1379 CheckRes(trans->Read(&fRefNum,
sizeof(fRefNum)));
1380 CheckRes(trans->Read(&fPath,
sizeof(fPath)));
1381 CheckRes(trans->Read(&fDst,
sizeof(fDst)));
1382 CheckRes(trans->Read(&fEventType,
sizeof(fEventType)));
1388 CheckRes(JackRequest::Write(trans, Size()));
1389 CheckRes(trans->Write(&fRefNum,
sizeof(fRefNum)));
1390 CheckRes(trans->Write(&fPath,
sizeof(fPath)));
1391 CheckRes(trans->Write(&fDst,
sizeof(fDst)));
1392 CheckRes(trans->Write(&fEventType,
sizeof(fEventType)));
1396 int Size() {
return sizeof(fRefNum) +
sizeof(fPath) +
sizeof(fDst) +
sizeof(fEventType); }
1407 :
JackRequest(JackRequest::kSessionReply), fRefNum(refnum)
1413 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1419 CheckRes(JackRequest::Write(trans, Size()));
1420 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1424 int Size() {
return sizeof(int); }
1430 char fName[JACK_CLIENT_NAME_SIZE+1];
1434 memset(fName, 0,
sizeof(fName));
1439 memset(fName, 0,
sizeof(fName));
1440 strncpy(fName, name,
sizeof(fName)-1);
1445 CheckRes(JackResult::Read(trans));
1446 CheckRes(trans->Read(&fName,
sizeof(fName)));
1452 CheckRes(JackResult::Write(trans));
1453 CheckRes(trans->Write(&fName,
sizeof(fName)));
1461 char fUUID[JACK_UUID_STRING_SIZE];
1465 memset(fUUID, 0,
sizeof(fUUID));
1470 memset(fUUID, 0,
sizeof(fUUID));
1471 strncpy(fUUID, uuid,
sizeof(fUUID)-1);
1476 CheckRes(JackResult::Read(trans));
1477 CheckRes(trans->Read(&fUUID,
sizeof(fUUID)));
1483 CheckRes(JackResult::Write(trans));
1484 CheckRes(trans->Write(&fUUID,
sizeof(fUUID)));
1492 char fName[JACK_CLIENT_NAME_SIZE+1];
1496 memset(fName, 0,
sizeof(fName));
1502 memset(fName, 0,
sizeof(fName));
1503 strncpy(fName, client_name,
sizeof(fName)-1);
1509 CheckRes(trans->Read(&fName,
sizeof(fName)));
1515 CheckRes(JackRequest::Write(trans, Size()));
1516 CheckRes(trans->Write(&fName,
sizeof(fName)));
1520 int Size() {
return sizeof(fName); }
1526 char fUUID[JACK_UUID_STRING_SIZE];
1530 memset(fUUID, 0,
sizeof(fUUID));
1536 memset(fUUID, 0,
sizeof(fUUID));
1537 strncpy(fUUID, uuid,
sizeof(fUUID)-1);
1543 CheckRes(trans->Read(&fUUID,
sizeof(fUUID)));
1549 CheckRes(JackRequest::Write(trans, Size()));
1550 CheckRes(trans->Write(&fUUID,
sizeof(fUUID)));
1554 int Size() {
return sizeof(fUUID); }
1561 char fName[JACK_CLIENT_NAME_SIZE+1];
1562 char fUUID[JACK_UUID_STRING_SIZE];
1566 memset(fName, 0,
sizeof(fName));
1567 memset(fUUID, 0,
sizeof(fUUID));
1571 :
JackRequest(JackRequest::kReserveClientName), fRefNum(refnum)
1573 memset(fName, 0,
sizeof(fName));
1574 memset(fUUID, 0,
sizeof(fUUID));
1575 strncpy(fName, name,
sizeof(fName)-1);
1576 strncpy(fUUID, uuid,
sizeof(fUUID)-1);
1582 CheckRes(trans->Read(&fUUID,
sizeof(fUUID)));
1583 CheckRes(trans->Read(&fName,
sizeof(fName)));
1584 CheckRes(trans->Read(&fRefNum,
sizeof(fRefNum)));
1590 CheckRes(JackRequest::Write(trans, Size()));
1591 CheckRes(trans->Write(&fUUID,
sizeof(fUUID)));
1592 CheckRes(trans->Write(&fName,
sizeof(fName)));
1593 CheckRes(trans->Write(&fRefNum,
sizeof(fRefNum)));
1597 int Size() {
return sizeof(fUUID) +
sizeof(fName) +
sizeof(fRefNum); }
1603 char fName[JACK_CLIENT_NAME_SIZE+1];
1607 memset(fName, 0,
sizeof(fName));
1611 :
JackRequest(JackRequest::kClientHasSessionCallback)
1613 memset(fName, 0,
sizeof(fName));
1614 strncpy(fName, name,
sizeof(fName)-1);
1620 CheckRes(trans->Read(&fName,
sizeof(fName)));
1626 CheckRes(JackRequest::Write(trans, Size()));
1627 CheckRes(trans->Write(&fName,
sizeof(fName)));
1631 int Size() {
return sizeof(fName); }
1638 jack_uuid_t fSubject;
1639 char fKey[MAX_PATH+1];
1640 jack_property_change_t fChange;
1644 jack_uuid_clear(&fSubject);
1645 memset(fKey, 0,
sizeof(fKey));
1648 :
JackRequest(JackRequest::kPropertyChangeNotify), fChange(change)
1650 jack_uuid_copy(&fSubject, subject);
1651 memset(fKey, 0,
sizeof(fKey));
1653 strncpy(fKey, key,
sizeof(fKey)-1);
1659 CheckRes(trans->Read(&fSubject,
sizeof(fSubject)));
1660 CheckRes(trans->Read(&fKey,
sizeof(fKey)));
1661 CheckRes(trans->Read(&fChange,
sizeof(fChange)));
1667 CheckRes(JackRequest::Write(trans, Size()));
1668 CheckRes(trans->Write(&fSubject,
sizeof(fSubject)));
1669 CheckRes(trans->Write(&fKey,
sizeof(fKey)));
1670 CheckRes(trans->Write(&fChange,
sizeof(fChange)));
1674 int Size() {
return sizeof(fSubject) +
sizeof(fKey) +
sizeof(fChange); }
1684 char fName[JACK_CLIENT_NAME_SIZE+1];
1690 char fMessage[JACK_MESSAGE_SIZE+1];
1694 memset(fName, 0,
sizeof(fName));
1695 memset(fMessage, 0,
sizeof(fMessage));
1697 JackClientNotification(
const char* name,
int refnum,
int notify,
int sync,
const char* message,
int value1,
int value2)
1698 : fRefNum(refnum), fNotify(notify), fValue1(value1), fValue2(value2), fSync(sync)
1700 memset(fName, 0,
sizeof(fName));
1701 memset(fMessage, 0,
sizeof(fMessage));
1702 strncpy(fName, name,
sizeof(fName)-1);
1704 strncpy(fMessage, message,
sizeof(fMessage)-1);
1712 CheckRes(trans->Read(&fName,
sizeof(fName)));
1713 CheckRes(trans->Read(&fRefNum,
sizeof(
int)));
1714 CheckRes(trans->Read(&fNotify,
sizeof(
int)));
1715 CheckRes(trans->Read(&fValue1,
sizeof(
int)));
1716 CheckRes(trans->Read(&fValue2,
sizeof(
int)));
1717 CheckRes(trans->Read(&fSync,
sizeof(
int)));
1718 CheckRes(trans->Read(&fMessage,
sizeof(fMessage)));
1724 CheckRes(trans->Write(&fSize,
sizeof(
int)));
1725 CheckRes(trans->Write(&fName,
sizeof(fName)));
1726 CheckRes(trans->Write(&fRefNum,
sizeof(
int)));
1727 CheckRes(trans->Write(&fNotify,
sizeof(
int)));
1728 CheckRes(trans->Write(&fValue1,
sizeof(
int)));
1729 CheckRes(trans->Write(&fValue2,
sizeof(
int)));
1730 CheckRes(trans->Write(&fSync,
sizeof(
int)));
1731 CheckRes(trans->Write(&fMessage,
sizeof(fMessage)));
1735 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.