97#include "DitsInteraction.h"
171 DisconHandler *disconnectHandler;
174 struct TaskListElem {
179 static TaskListElem *ObjectList;
182 static bool disconnectEnabled;
185 TaskListElem *MyListElem;
191 void EnableDisconnect(StatusType *status);
196 static DitsDisConnectRoutineType origDisconnect;
197 static DVOIDP origDisconnectData;
205 enum StateEnum { INITIAL, SELFINIT, PATHWAIT1, LOADING,
206 PATHWAIT2, ACTIVE, DIED, NOTIFY } state;
220 char taskname[DITS_C_NAMELEN];
226 char process[DITS_C_NAMELEN];
237 void constructorHelper();
241 const char *StateString(StateEnum state)
const;
243 void LogStartMsg(
const char *name, DitsMsgType type,
244 const SdsId & arg,
bool forgotten, StatusType *status)
const;
245 static void LogArgument(
void *client_data,
const char *line,
246 StatusType * status);
249 StatusType *
const status);
252 StatusType *
const status);
255 StatusType *
const status);
259 StatusType *
const status);
262 StatusType *
const status);
265 StatusType *
const status);
268 StatusType *
const status);
271 StatusType *
const status);
272 void HandleBulkTrans(
274 StatusType *
const status);
277 StatusType *
const status);
280 const char *
const name,
281 const DitsMsgType Type,
290 DitsTransIdType *
const transid,
291 StatusType *
const status);
294 const char *
const name,
295 const DitsMsgType Type,
299 const int NotifyBytes,
308 DitsTransIdType *
const transid,
309 StatusType *
const status);
312 const char *
const name,
313 const DitsMsgType Type,
322 DitsTransIdType *
const transid,
323 StatusType *
const status);
357 const char *
const location = 0,
358 const char *
const file = 0);
440 if (state == SELFINIT)
441 return DitsGetTaskName();
453 const char *
Location()
const {
return (tasklocation); };
476 virtual void SetName(
const char *
const TaskName) {
482 for (i = 0; (TaskName[i] != 0 && TaskName[i] !=
'@') ; ++i)
488 if (i >=
sizeof(taskname)-1)
490 taskname[
sizeof(taskname)-1] = 0;
493 taskname[i] = TaskName[i];
499 if (TaskName[i] ==
'@')
506 for (j = 0; TaskName[i] != 0 ; ++i, ++j)
508 if (j >=
sizeof(tasklocation)-1)
510 tasklocation[
sizeof(tasklocation)-1] = 0;
513 tasklocation[j] = TaskName[i];
529 strncpy(tasklocation,Location,
sizeof(tasklocation));
530 tasklocation[
sizeof(tasklocation)-1] = 0;
536 virtual void SetFile(
const char *
const File) {
537 strncpy(taskfile,File,
sizeof(taskfile));
538 taskfile[
sizeof(taskfile)-1] = 0;
548 this->buffers = Buffers;
556 pathflags |= DITS_M_FLOW_CONTROL;
568 if ((ProcessName) && (strlen(ProcessName) > 0))
570 strncpy(process,ProcessName,
sizeof(process)) ;
571 process[
sizeof(process)-1] = 0;
572 loadflags |= DITS_M_PROC_NAME;
575 loadflags &= ~DITS_M_PROC_NAME;
589 loadflags |= DITS_M_SET_BYTES;
591 loadflags &= ~DITS_M_SET_BYTES;
606 bool const Append=
false)
610 int len =
sizeof(argument) - strlen(argument) - 1;
611 strncat(argument,
" ",len);
613 strncat(argument,LoadArg,len);
616 strncpy(argument,LoadArg,
sizeof(argument)) ;
618 argument[
sizeof(argument)-1] = 0;
633 const bool Absolute =
false) {
637 loadflags &= ~DITS_M_REL_PRIO;
638 loadflags |= DITS_M_ABS_PRIO;
640 else if (Priority == 0)
642 loadflags &= ~(DITS_M_REL_PRIO|DITS_M_ABS_PRIO);
646 loadflags &= ~DITS_M_ABS_PRIO;
647 loadflags |= DITS_M_REL_PRIO;
678 loadflags |= DITS_M_NAMES;
680 loadflags &= ~DITS_M_NAMES;
696 loadflags |= DITS_M_SYMBOL;
698 loadflags &= ~DITS_M_SYMBOL;
716 virtual void SetProg(
const bool Flag =
true) {
718 loadflags |= DITS_M_PROG;
720 loadflags &= ~DITS_M_PROG;
729 virtual void LogLoad(
const bool Flag =
true) {
748 return ((state == ACTIVE)||(state == SELFINIT));
755 return (state == DIED);
762 return ((state == INITIAL)||(state == DIED));
772 return ((state == PATHWAIT1) ||
773 (state == PATHWAIT2) ||
774 (state == LOADING) ||
811 StatusType *
const status,
848 if ((state != INITIAL)&&(state != SELFINIT)&&
849 ( path != 0 )&&(path != DitsGetSelfPath()))
850 DitsLosePath(path,status);
861 virtual void Delete(
int force, StatusType * status) {
865 DitsDeleteTask((
char *)TaskName(), force, &known, status);
940 StatusType *
const status,
941 const SdsId & arg=SdsNull,
948 DitsTransIdType *
const transid=0) {
949 return(Send(name,DITS_MSG_OBEY,0,arg,SuccessHandler,
950 ErrorHandler,TriggerHandler,ErsHandler,MsgHandler,
951 ClientData,transid,status));
1029 StatusType *
const status,
1037 SdsId *
const tidArg) {
1038 DitsTransIdType tid = 0;
1040 name,DITS_MSG_OBEY,0,arg,
1042 ErrorHandler,TriggerHandler,ErsHandler,MsgHandler,
1043 ClientData,&tid,status);
1125 StatusType *
const status,
1133 const SdsId *
const tidArg) {
1134 DitsTransIdType tid = 0;
1136 name,DITS_MSG_OBEY,0,arg,
1138 ErrorHandler,TriggerHandler,ErsHandler,MsgHandler,
1139 ClientData,&tid,status);
1201 StatusType *
const status,
1202 const SdsId & arg=SdsNull,
1208 return(Send(name,DITS_MSG_KICK,0,arg,SuccessHandler,
1209 ErrorHandler,0,ErsHandler,MsgHandler,
1210 ClientData,0,status));
1298 const int NotifyBytes,
1299 StatusType *
const status,
1308 DitsTransIdType *
const transid=0) {
1309 return(Send(name,DITS_MSG_OBEY,0,
1310 SharedMem,sds,NotifyBytes,
1311 SuccessHandler, ErrorHandler,TriggerHandler,
1312 ErsHandler,MsgHandler,
1313 BulkTransHandler, BulkDoneHandler,
1314 ClientData,transid,status));
1405 const int NotifyBytes,
1406 StatusType *
const status,
1415 SdsId *
const tidArg) {
1417 DitsTransIdType tid = 0;
1419 name,DITS_MSG_OBEY,0,
1420 SharedMem,sds,NotifyBytes,
1421 SuccessHandler, ErrorHandler,TriggerHandler,
1422 ErsHandler,MsgHandler,
1423 BulkTransHandler, BulkDoneHandler,
1424 ClientData,&tid,status);
1519 const int NotifyBytes,
1520 StatusType *
const status,
1529 const SdsId *
const tidArg) {
1531 DitsTransIdType tid = 0;
1533 name,DITS_MSG_OBEY,0,
1534 SharedMem,sds,NotifyBytes,
1535 SuccessHandler, ErrorHandler,TriggerHandler,
1536 ErsHandler,MsgHandler,
1537 BulkTransHandler, BulkDoneHandler,
1538 ClientData,&tid,status);
1619 const int NotifyBytes,
1620 StatusType *
const status,
1628 return(Send(name,DITS_MSG_KICK,0,
1629 SharedMem,sds,NotifyBytes,
1630 SuccessHandler, ErrorHandler,0,
1631 ErsHandler,MsgHandler,
1632 BulkTransHandler, BulkDoneHandler,
1633 ClientData,0,status));
1686 StatusType *
const status,
1691 return(Send(name,DITS_MSG_GETPARAM,0,SdsNull,SuccessHandler,
1692 ErrorHandler,0,ErsHandler,0,
1693 ClientData,0,status));
1741 StatusType * status, ...);
1798 StatusType * status, ...);
1849 StatusType *
const status,
1850 const SdsId & arg = SdsNull,
1855 return(Send(name,DITS_MSG_SETPARAM,0,arg,SuccessHandler,
1856 ErrorHandler,0,ErsHandler,0,
1857 ClientData,0,status));
1914 StatusType *
const status,
1915 const SdsId & arg=SdsNull,
1921 return(Send(name,DITS_MSG_CONTROL,0,arg,SuccessHandler,
1922 ErrorHandler,TriggerHandler,ErsHandler,0,
1923 ClientData,0,status));
1988 StatusType *
const status,
1989 const SdsId & arg=SdsNull,
1994 const bool SendCurrent=
false,
1996 int flags = SendCurrent ? DITS_M_SENDCUR : 0;
1997 return(Send(name,DITS_MSG_MONITOR,flags,arg,SuccessHandler,
1998 ErrorHandler,TriggerHandler,ErsHandler,0,
1999 ClientData,0,status));
2071 StatusType *
const status,
2072 const SdsId & arg=SdsNull,
2079 DitsTransIdType *
const transid=0) {
2080 SendForget(name,DITS_MSG_OBEY,0,arg,SuccessHandler,
2081 ErrorHandler,TriggerHandler,ErsHandler,MsgHandler,
2082 ClientData,transid,status);
2154 StatusType *
const status,
2162 SdsId *
const tidArg) {
2163 DitsTransIdType tid = 0;
2164 SendForget(name,DITS_MSG_OBEY,0,arg,SuccessHandler,
2165 ErrorHandler,TriggerHandler,ErsHandler,MsgHandler,
2166 ClientData,&tid,status);
2240 StatusType *
const status,
2248 const SdsId *
const tidArg) {
2249 DitsTransIdType tid = 0;
2250 SendForget(name,DITS_MSG_OBEY,0,arg,SuccessHandler,
2251 ErrorHandler,TriggerHandler,ErsHandler,MsgHandler,
2252 ClientData,&tid,status);
2312 StatusType *
const status,
2313 const SdsId & arg=SdsNull,
2319 SendForget(name,DITS_MSG_KICK,0,arg,SuccessHandler,
2320 ErrorHandler,0,ErsHandler,MsgHandler,
2321 ClientData,0,status);
2382 StatusType *
const status,
2383 const SdsId & arg=SdsNull,
2388 const bool SendCurrent=
false,
2390 int flags = SendCurrent ? DITS_M_SENDCUR : 0;
2391 SendForget(name,DITS_MSG_MONITOR,flags,arg,SuccessHandler,
2392 ErrorHandler,TriggerHandler,ErsHandler,0,
2393 ClientData,0,status);
2409 disconnectHandler = p;
2420 StatusType * status);
2434 StatusType * status) ;
2453 StatusType *status);
A structure representing message buffer sizes.
Definition dcpp.h:287
This is used to create and represent a shared memory segment.
Definition dcpp.h:499
DisconHandler()
Constructor.
Definition dcpptask.h:148
virtual void Disconnected(DcppTask *)=0
Disconnect notification routine.
virtual ~DisconHandler()
Destructor.
Definition dcpptask.h:166
Disconnect handler abstract type.
Definition dcpptask.h:144
virtual void SetBuffers(const DcppBuffers &Buffers)
Set the DRAMA path buffers.
Definition dcpptask.h:547
virtual DcppHandlerRet Kick(const char *const name, const DcppShared &SharedMem, const bool sds, const int NotifyBytes, StatusType *const status, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppBulkTransRoutine BulkTransHandler=0, const DcppHandlerRoutine BulkDoneHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0, const DcppHandlerRoutine MsgHandler=0)
Send a DRAMA bulk data Kick message to the task.
Definition dcpptask.h:1616
static void LoggingOff()
Disable logging for all tasks.
Definition dcpptask.h:402
void Report(StatusType *status) const
Dump details using <a href="../routines/MsgOut.html">MsgOut()</a>.
virtual void SetSymbols(const bool Flag=true)
Interpert file name as a symbol (VMS Target only)
Definition dcpptask.h:694
static DcppHandlerRet DiscardResponse(DcppVoidPnt ClientData, StatusType *status)
Flag argument success handler indicating reponses are to be ignored.
virtual void SetNames(const bool Flag=true)
Insist that symbols known to IMP_Master be known to the task.
Definition dcpptask.h:676
virtual DcppHandlerRet MGet(const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppVoidPnt ClientData, unsigned count, StatusType *status,...)
Send a DRAMA message to the task to get the value of multiple parameters.
DcppTask(bool self)
Path to self constructor.
virtual void LosePath(StatusType *const status)
Lose the path and then set as if the task has died.
Definition dcpptask.h:847
virtual void ObeyForget(const char *const name, StatusType *const status, const SdsId &arg, const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppHandlerRoutine TriggerHandler, const DcppVoidPnt ClientData, const DcppHandlerRoutine ErsHandler, const DcppHandlerRoutine MsgHandler, const SdsId *const tidArg)
Send a DRAMA Obey message to the task, forgetting the transaction.
Definition dcpptask.h:2239
virtual DcppHandlerRet GetPath(StatusType *const status, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppVoidPnt ClientData=0)
Get a path to/load a the task.
virtual ~DcppTask()
Destructor.
virtual void SetLocation(const char *const Location)
Set the task location.
Definition dcpptask.h:528
static void HandleDisconnected(const char *task, DitsPathType path, StatusType *status)
Handle task disconnection.
virtual DcppHandlerRet Obey(const char *const name, StatusType *const status, const SdsId &arg=SdsNull, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppHandlerRoutine TriggerHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0, const DcppHandlerRoutine MsgHandler=0, DitsTransIdType *const transid=0)
Send a DRAMA Obey message to the task.
Definition dcpptask.h:939
virtual void Died()
Note that a task has died.
Definition dcpptask.h:835
virtual void KickForget(const char *const name, StatusType *const status, const SdsId &arg=SdsNull, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0, const DcppHandlerRoutine MsgHandler=0)
Send a DRAMA OKick message to the task, forgetting the transaction.
Definition dcpptask.h:2311
virtual void SetArgument(const char *const LoadArg, bool const Append=false)
Set the load time argument string.
Definition dcpptask.h:605
DcppTask(DitsPathType p)
Constructor from existing path.
virtual DcppHandlerRet Obey(const char *const name, StatusType *const status, const SdsId &arg, const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppHandlerRoutine TriggerHandler, const DcppVoidPnt ClientData, const DcppHandlerRoutine ErsHandler, const DcppHandlerRoutine MsgHandler, SdsId *const tidArg)
Send a DRAMA Obey message to the task.
Definition dcpptask.h:1028
virtual DisconHandler * PutDisconnectHandler(DisconHandler *p)
Add a new disconnect handler for this task.
Definition dcpptask.h:2407
void TaskLoggingOff()
Turn logging off for this object.
Definition dcpptask.h:414
virtual void MonitorForget(const char *name, StatusType *const status, const SdsId &arg=SdsNull, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppHandlerRoutine TriggerHandler=0, const DcppVoidPnt ClientData=0, const bool SendCurrent=false, const DcppHandlerRoutine ErsHandler=0)
Send a DRAMA Monitor message to the task, forgetting the transaction.
Definition dcpptask.h:2381
virtual void SetPriority(const int Priority, const bool Absolute=false)
Set the load time priority for a task when loaded.
Definition dcpptask.h:632
virtual DcppHandlerRet Obey(const char *const name, const DcppShared &SharedMem, const bool sds, const int NotifyBytes, StatusType *const status, const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppBulkTransRoutine BulkTransHandler, const DcppHandlerRoutine BulkDoneHandler, const DcppHandlerRoutine TriggerHandler, const DcppVoidPnt ClientData, const DcppHandlerRoutine ErsHandler, const DcppHandlerRoutine MsgHandler, const SdsId *const tidArg)
Send a DRAMA Obey bulk data message to the task.
Definition dcpptask.h:1516
DcppHandlerRet HandleMessage(DcppTransaction *transaction, StatusType *status)
Function used by DcppDispatch in dispatching to handlers.
virtual DcppHandlerRet Obey(const char *const name, const DcppShared &SharedMem, const bool sds, const int NotifyBytes, StatusType *const status, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppBulkTransRoutine BulkTransHandler=0, const DcppHandlerRoutine BulkDoneHandler=0, const DcppHandlerRoutine TriggerHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0, const DcppHandlerRoutine MsgHandler=0, DitsTransIdType *const transid=0)
Send a DRAMA Obey bulk data message to the task.
Definition dcpptask.h:1295
static void LoggingOn()
Enable logging for all DcppTask objects.
Definition dcpptask.h:396
virtual void SetStackSize(unsigned bytes)
Set the stack size for the load.
Definition dcpptask.h:586
virtual DcppHandlerRet Get(const char *const name, StatusType *const status, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0)
Send a DRAMA message to the task to get the value of a parameter.
Definition dcpptask.h:1685
virtual DcppHandlerRet Control(const char *const name, StatusType *const status, const SdsId &arg=SdsNull, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppHandlerRoutine TriggerHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0)
Send a DRAMA Control message to the task.
Definition dcpptask.h:1913
DcppTask(const char *const name, const char *const location=0, const char *const file=0)
Normal constructor.
virtual void SetProcess(const char *const ProcessName)
Set the process names.
Definition dcpptask.h:567
virtual void GetDitsPath(DitsPathType *path, StatusType *status)
Return the underlying DITS path object.
virtual DcppHandlerRet Set(const char *const name, StatusType *const status, const SdsId &arg=SdsNull, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0)
Send a DRAMA set message to the task.
Definition dcpptask.h:1848
virtual DcppHandlerRet Obey(const char *const name, const DcppShared &SharedMem, const bool sds, const int NotifyBytes, StatusType *const status, const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppBulkTransRoutine BulkTransHandler, const DcppHandlerRoutine BulkDoneHandler, const DcppHandlerRoutine TriggerHandler, const DcppVoidPnt ClientData, const DcppHandlerRoutine ErsHandler, const DcppHandlerRoutine MsgHandler, SdsId *const tidArg)
Send a DRAMA Obey bulk data message to the task.
Definition dcpptask.h:1402
virtual bool Initial() const
Return true if a GetPath operation is required.
Definition dcpptask.h:761
bool GetPathLoaded() const
Indicate if a the task was loaded.
Definition dcpptask.h:428
virtual DcppHandlerRet Monitor(const char *name, StatusType *const status, const SdsId &arg=SdsNull, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppHandlerRoutine TriggerHandler=0, const DcppVoidPnt ClientData=0, const bool SendCurrent=false, const DcppHandlerRoutine ErsHandler=0)
Send a DRAMA Monitor message to the task.
Definition dcpptask.h:1987
virtual void ObeyForget(const char *const name, StatusType *const status, const SdsId &arg=SdsNull, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppHandlerRoutine TriggerHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0, const DcppHandlerRoutine MsgHandler=0, DitsTransIdType *const transid=0)
Send a DRAMA Obey message to the task, forgetting the transaction.
Definition dcpptask.h:2070
virtual bool Busy() const
Returns true if we can't send a message because path is busy.
Definition dcpptask.h:771
virtual void SetFlowControl()
Set the FLOW control flag.
Definition dcpptask.h:555
virtual bool Active() const
Indicate if a task is active.
Definition dcpptask.h:747
virtual void GetPathImmed(StatusType *const status)
Get a path to a task if DITS already has it.
virtual bool IsDead() const
Return true if a previously active task has disconnected.
Definition dcpptask.h:754
virtual void ObeyForget(const char *const name, StatusType *const status, const SdsId &arg, const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppHandlerRoutine TriggerHandler, const DcppVoidPnt ClientData, const DcppHandlerRoutine ErsHandler, const DcppHandlerRoutine MsgHandler, SdsId *const tidArg)
Send a DRAMA Obey message to the task, forgetting the transaction.
Definition dcpptask.h:2153
const char * TaskName() const
Fetch the task name.
Definition dcpptask.h:437
virtual DcppHandlerRet Obey(const char *const name, StatusType *const status, const SdsId &arg, const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppHandlerRoutine TriggerHandler, const DcppVoidPnt ClientData, const DcppHandlerRoutine ErsHandler, const DcppHandlerRoutine MsgHandler, const SdsId *const tidArg)
Send a DRAMA Obey message to the task.
Definition dcpptask.h:1124
virtual void SetFile(const char *const File)
Set the executable file name.
Definition dcpptask.h:536
virtual DcppHandlerRet Kick(const char *const name, StatusType *const status, const SdsId &arg=SdsNull, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0, const DcppHandlerRoutine MsgHandler=0)
Send a DRAMA Kick message to the task.
Definition dcpptask.h:1200
const char * Location() const
Fetch the task location.
Definition dcpptask.h:453
const char * GetArgument() const
Fetch the load argument.
Definition dcpptask.h:458
virtual DcppHandlerRet MGet(const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppHandlerRoutine ErsHandler, const DcppVoidPnt ClientData, unsigned count, StatusType *status,...)
Send a DRAMA message to the task to get the value of multiple parameters.
virtual void LogLoad(const bool Flag=true)
Load use <a href="../routines/MsgOut.html">MsgOut()</a> a lines indicating the load operations.
Definition dcpptask.h:729
void TaskLoggingOn()
Turn logging on for this object.
Definition dcpptask.h:407
virtual void SetName(const char *const TaskName)
Set the task name.
Definition dcpptask.h:476
virtual void Delete(int force, StatusType *status)
Delete the task.
Definition dcpptask.h:861
virtual void SetProg(const bool Flag=true)
Interpert file name as a program name.
Definition dcpptask.h:716
virtual void ClearState()
Clear the task state.
Definition dcpptask.h:738
A Class which provides access to DRAMA's message sending facilities.
Definition dcpptask.h:132
A type used to connect DcppHandler and DcppTask.
Definition dcpp.h:352
A C++ Interface to the handling SDS structures.
Definition sds.h:761
void DcppSpawnKickArgUpdate(DitsTransIdType transid, const SdsId *id, StatusType *status)
Update an argument structure used when kick actions which spawn.
void * DcppVoidPnt
A pointer to void
Definition dcpp.h:59
void(* DcppBulkTransRoutine)(unsigned long Transferred, unsigned long Total, DcppVoidPnt ClientData, StatusType *status)
Type for call backs for DITS_REA_TRANSFERRED messages.
Definition dcpp.h:106
DcppHandlerRet(* DcppHandlerRoutine)(DcppVoidPnt ClientData, StatusType *status)
Type for call backs when messages arrive.
Definition dcpp.h:92
DcppHandlerRet
Type returns by various routines to indicate what is to happen next.
Definition dcpp.h:75
void DcppSpawnKickArg(DitsTransIdType transid, SdsId *id, StatusType *status)
Create an argument structure used when kick actions which spawn.
const unsigned DcppNodeNameLen
Maximum Node name length
Definition dcpp.h:57
const unsigned DcppArgumentLen
Maximum Node name length
Definition dcpp.h:58