Moxa Technologies W311 Computer Hardware User Manual


 
ThinkCore W311/321/341 Linux User’s Manual Programmer’s Guide
6-5
int swtd_ack(int fd)
Description
Acknowledge sWatchDog. When the user application enable sWatchDog. It need to call this
function periodically with user predefined time in the application program.
Input
int fd - the file handle from swtd_open() return value.
Output
OK will be zero.
The other has some error, to get error code from errno().
int swtd_close(int fd)
Description
Close the file handle.
Input
int fd - the file handle from swtd_open() return value.
Output
OK will be zero.
The other has some error, to get error code from errno().
4. Special Note
When you “kill the application with -9” or “kill without option” or “Ctrl+c” the kernel will
change to auto ack the sWatchDog.
When your application enables the sWatchDog and does not ack, your application may have a
logical error, or your application has made a core dump. The kernel will not change to auto
ack. This can cause a serious problem, causing your system to reboot again and again.
5. User application example
Example 1:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <moxadevice.h>
int main(int argc, char *argv[])
{
int fd;
fd = swtd_open();
if ( fd < 0 ) {
printf(“Open sWatchDog device fail !\n”);
exit(1);
}
swtd_enable(fd, 5000); // enable it and set it 5 seconds
while ( 1 ) {
// do user application want to do
…..
….
swtd_ack(fd);
…..
….
}
swtd_close(fd);
exit(0);