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

ioctlのOUTPUTのライブラリ化

もし、次に示すアプリケーションのioctl処理を
   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);
つぎのような名前の関数
 void DioOutputPoint(int fd, int start, int count);
としてライブラりに登録できれば、アプリケーションは次のようになる。
/* 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;
// int i, ret;
//  DIO_POINT point;

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

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

   DioInputPoint(fd, 1, 1);    // ライブラリ

   DioOutputPoint(fd, 32, 1);    // ライブラリ

   close(fd);

   return 0;
}



MANOME Yoichi 平成18年12月26日