.TH LIBNORMALFORM_NOT 3 LIBNORMALFORM .SH NAME libnormalform_not \- Negation .SH SYNOPSIS .nf #include LIBNORMALFORM_SENTENCE *libnormalform_not(LIBNORMALFORM_SENTENCE *\fIx\fP); .fi .PP Link with .IR -lnormalform . .SH DESCRIPTION The .BR libnormalform_not () function creates a sentence whose value is always the inverse of the value the sentence .I x takes. .PP The returned pointer shall either be deallocated with the .BR libnormalform_free (3) function or be relinquished by being used as part of another sentence. .PP The .BR libnormalform_not () function adopt the ownership of .IR x . Therefore, the user shall not attempt to deallocate .IR x . This holds even on failure: if the function fails, .I x is deallocated. .SH RETURN VALUE Upon successful completion, the .BR libnormalform_not () function returns an object representing the sentence; otherwise, the function returns .I NULL and sets .I errno to indicate the error. .SH ERRORS The .BR libnormalform_not () function fails if: .TP .B ENOMEM Insufficient memory was available to create the sentence object. .PP The .BR libnormalform_not () function also fails without setting .I errno if .I x is .IR NULL . .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7) and .IR "info \(dq(libc)POSIX Safety Concepts\(dq" . .TS allbox; lb lb lb l l l. Interface Attribute Value T{ .BR libnormalform_not () T} Thread safety MT-Safe race:\fIx\fP T{ .BR libnormalform_not () T} Async-signal safety AS-Unsafe heap T{ .BR libnormalform_not () T} Async-cancel safety AC-Safe mem, AC-Unsafe heap .TE .SH SEE ALSO .BR libnormalform (7)