}
// --- Management ---
-tPTY *PTY_Create(const char *Name, void *Handle, tPTY_OutputFcn Output, tPTY_ReqResize ReqResize, tPTY_ModeSet ModeSet)
+tPTY *PTY_Create(const char *Name, void *Handle, tPTY_OutputFcn Output, tPTY_ReqResize ReqResize, tPTY_ModeSet ModeSet, const struct ptydims *InitialDims, const struct ptymode *InitialMode)
{
tPTY **prev_np = NULL;
size_t namelen;
ret->OutputFcn = Output;
ret->ReqResize = ReqResize;
ret->ModeSet = ModeSet;
+ // - Initialise modes
+ if( InitialDims )
+ ret->Dims = *InitialDims;
+ if( InitialMode )
+ ret->Mode = *InitialMode;
// - Client node
ret->ClientNode.ImplPtr = ret;
ret->ClientNode.Type = &gPTY_NodeType_Client;
case PTY_IOCTL_SETID:
if( Data && !CheckString(Data) ) { errno = EINVAL; return -1; }
if( pty ) return EALREADY;
- pty = PTY_Create(Data, NULL, NULL,NULL, NULL);
+ pty = PTY_Create(Data, NULL, NULL,NULL, NULL, NULL,NULL);
if(pty == NULL)
return 1;
Node->ImplPtr = pty;