Добре, попрацюю man-ом трохи.
Якщо "w" - то fopen()
Якщо fopen() - то й fwrite()
Якщо fwrite() - то fwrite(value_ptr,sizeof_val,1,stream_ptr)
Якщо не "w" - то O_WRONLY, можливо іще O_FSYNC
А також write(file_desc,val_ptr,sizeof_val)
Отже вищенаведений шмат, мабуть, має виглядати так:
#include <stdio.h>
#define ZERO_VAL 0x00
#define FF_VAL 0xFF
int main()
{
char val = ZERO_VAL;
FILE *devstr = fopen("/dev/lpt0", "w");
fwrite(&val, sizeof(char), 1, devstr);
fclose(devstr);
return 0;
}
Або так:
#include <fcntl.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <unistd.h>
#define ZERO_VAL 0x00
#define FF_VAL 0xFF
int main()
{
char val = ZERO_VAL;
int fd = open("/dev/lpt0", O_WRONLY|O_FSYNC);
write(fd, &val, sizeof(char));
close(fd);
return 0;
}
P.S. Але я специфіку BSD не знаю, може й ваша правда...
P.P.S. А мани я таки раджу прочитати.
P.P.P.S. Опс. Помилився в назві файлу - виправив.