.TH POSTNOTE 3
.SH NAME
postnote \- send a note to a process or process group
.SH SYNOPSIS
.B #include <u.h>
.br
.B #include <libc.h>
.PP
.nf
.B
int	postnote(int who, int pid, char *note)
.fi
.SH DESCRIPTION
.I Postnote
sends a note to a process or process group.
If
.I who
is
.BR PNPROC ,
then
.I note
is sent to the process with id
.IR pid .
If
.I who
is
.BI PNGROUP , 
the note is delivered to the
process group which has the process with id
.I pid
as a member.
For
.B PNGROUP
only, if the calling process is in the target group, the note is
.I not
delivered to that process.
.PP
If the write is successful, zero is returned.
Otherwise \-1 is returned.
.SH SOURCE
.B /usr/local/plan9/src/lib9/postnote.c
.SH "SEE ALSO"
.IR notify (3),
.IR intro (3)
.SH DIAGNOSTICS
Sets
.IR errstr .
