next up previous
次へ: ioctlのINPUTのライブラリ化 上へ: Application Program Interface 戻る: openのライブラリ化

ioctlのRESETのライブラリ化

もし、次に示すアプリケーションのioctl処理を
   ret = ioctl(fd, IOCTL_DIO_RESET);
   if (ret < 0) 
       printf("[ioctl reset] no Machigai = %d\n", ret);
つぎのような名前の関数
 void DioPointReset(int fd)
としてライブラりに登録できれば、アプリケーションは次のようになる。
/* InfoSysLab11 example-1 */

#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "dio_ioctl.h"

int main(void)
{
   int fd, i, ret;
   DIO_POINT point;

   fd = DioOpen();  // ライブラリ

   DioPointReset(fd);    // ライブラリ

   point.start_point = 1;
   point.data_count = 1;
   ret = ioctl(fd, IOCTL_DIO_INPUT, &point);
   if (ret < 0) 
      printf("[ioctl input] no Machigai = %d\n", ret);

   point.start_point = 32;
   point.data_count = 1;
   ret = ioctl(fd, IOCTL_DIO_OUTPUT, &point);
   if (ret < 0) 
      printf("[ioctl output] no Machigai = %d\n", ret);

   close(fd);

   return 0;
}



MANOME Yoichi 平成18年12月26日