Created termkey_new_abstract()
This commit is contained in:
parent
63f37cecd6
commit
ea2d3073ac
|
@ -7,12 +7,15 @@ termkey_new, termkey_destroy \- create or destroy new termkey instance
|
|||
.sp
|
||||
.BI "TERMKEY_CHECK_VERSION;"
|
||||
.BI "TermKey *termkey_new(int " fd ", int " flags );
|
||||
.BI "TermKey *termkey_new_abstract(const char *" term ", int " flags );
|
||||
.BI "void termkey_destroy(TermKey *" tk );
|
||||
.fi
|
||||
.sp
|
||||
Link with \fI\-ltermkey\fP.
|
||||
.SH DESCRIPTION
|
||||
\fBtermkey_new\fP() creates a new \fBtermkey\fP(7) instance connected to the file handle opened by \fIfd\fP using the \fIflags\fP. The \fITermKey\fP structure should be considered opaque; its contents are not intended for use outside of the library. If \fIfd\fP is given the value -1, then no file handle will be associated.
|
||||
\fBtermkey_new\fP() creates a new \fBtermkey\fP(7) instance connected to the file handle opened by \fIfd\fP using the \fIflags\fP. The \fITermKey\fP structure should be considered opaque; its contents are not intended for use outside of the library.
|
||||
.PP
|
||||
\fBtermkey_new_abstract\fP() creates a new \fBtermkey\fP() instance with no file handle associated. As this is usually done for handling other sources of terminal byte input, it also takes a string indicating the termtype to use.
|
||||
.PP
|
||||
\fBtermkey_destroy\fP() destroys the given instance and releases any resources controlled by it. It will not close the underlying filehandle given as the \fIfd\fP argument to \fBtermkey_new\fP().
|
||||
.PP
|
||||
|
|
18
termkey.c
18
termkey.c
|
@ -369,6 +369,24 @@ TermKey *termkey_new(int fd, int flags)
|
|||
return tk;
|
||||
}
|
||||
|
||||
TermKey *termkey_new_abstract(const char *term, int flags)
|
||||
{
|
||||
TermKey *tk = termkey_alloc();
|
||||
if(!tk)
|
||||
return NULL;
|
||||
|
||||
tk->fd = -1;
|
||||
|
||||
termkey_set_flags(tk, flags);
|
||||
|
||||
if(!termkey_init(tk, term)) {
|
||||
free(tk);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return tk;
|
||||
}
|
||||
|
||||
void termkey_free(TermKey *tk)
|
||||
{
|
||||
free(tk->buffer); tk->buffer = NULL;
|
||||
|
|
|
@ -157,6 +157,7 @@ enum {
|
|||
void termkey_check_version(int major, int minor);
|
||||
|
||||
TermKey *termkey_new(int fd, int flags);
|
||||
TermKey *termkey_new_abstract(const char *term, int flags);
|
||||
void termkey_free(TermKey *tk);
|
||||
void termkey_destroy(TermKey *tk);
|
||||
|
||||
|
|
Loading…
Reference in New Issue