Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/photon/lib_ref/pt/ptappaddfd.html on line 1
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/photon/lib_ref/pt/ptappaddfd.html on line 1
Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/photon/lib_ref/pt/ptappaddfd.html on line 8
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/photon/lib_ref/pt/ptappaddfd.html on line 8
Install a file-descriptor function
int PtAppAddFd( PtAppContext_t app,
int fd,
unsigned mode,
PtFdProc_t fun,
void *data);
int PtAppAddFdPri( PtAppContext_t app,
int fd,
unsigned mode,
PtFdProc_t fun,
void *data,
int priority);
- app
- The address of the application context, a structure that manages all the
data associated with this application. This must be specified as NULL
, so that the default context is used.
- fd
- The file descriptor to attach an FD handler to.
- mode
- Defines what kind of conditions the application is interested in:
- Pt_FD_READ
- Data available for reading.
- Pt_FD_WRITE
- Buffer space available for writing.
- Pt_FD_OBAND
- Out-of-band data available.
These values correspond to conditions defined for the ionotify() or select() functions. You can OR two or all three values
together. You can change the mode later by calling PtAppSetFdMode().
- fun
- Defines the FD handler function to be called. This function is of type
PtFdProc_t:
typedef int PtFdProcF_t( int fd, void *data, unsigned mode );
typedef PtFdProcF_t *PtFdProc_t;
The fd and data arguments have the same value as the
fd and data arguments to PtAppAddFd(). The
mode argument indicates which conditions were actually met.
The fun function should return Pt_CONTINUE to
remain on the list of fd functions, or Pt_END to be
removed automatically from it.
- data
- A pointer to data that you want to pass as the second argument to the FD
handler function.
- priority
- PtAppAddFdPri() only.
Specifies the priority of the Photon
pulse that's created (see PtAppCreatePulse()).
ph
These functions install an “FD function” that informs the
application about device events.
If your application needs to perform I/O such as reading from or writing to
a pipe, you should add an FD handler.
An FD handler is a function that's called by the main event loop when a
given file descriptor (FD) is ready for input or output.
Multiple FD functions attached to the same file descriptor aren't supported.
PtAppAddFd() fails with errno set to EBUSY
if you try to attach another function to the same FD.
- 0
- Success.
- -1
- An error occurred.
Photon
Safety: | |
Interrupt handler |
No |
Signal handler |
No |
Thread |
No |
PtAppCreatePulse(),
PtAppRemoveFd(),
PtAppSetFdMode(),
PtFdProc_t
“Other I/O
mechanisms”
in the Interprocess Communication chapter of the
Photon Programmer's Guide
Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/photon/lib_ref/pt/ptappaddfd.html on line 219
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/photon/lib_ref/pt/ptappaddfd.html on line 219