Hallo,
I can describe the error better now. If I use a file "test" instead
of "/dev/rtf0", my try to write doesn't crash. It looks like a bug?
inside the device driver for me.
Is any help here?
Olaf
------------------------8<---------------------------
#define TASK1 0
#define TASK2 1
#define TASK3 2
#define TASK4 3
#define TASKS 3
#define TASK_ID(t) (1<<(t)) /* for ID 1,2,4,8 .. */
#define CTRL_FIFO 6
#define CTRL_FIFO_SIZE 1024
typedef struct
{
unsigned int inuse;
unsigned int task;
unsigned int command;
unsigned int command_number; /* testing of actuallity of command */
int arg1;
int arg2;
} MY_COMMAND;
#define COMMAND_TASK_START (1<<0) /* 1 */
#define COMMAND_TASK_ON (1<<1) /* 2*/
#define COMMAND_TASK_OFF (1<<2) /* 3 */
#define COMMAND_TASK_PERIOD (1<<3) /* 8 */
int main(int argc, char **argv)
{
char fifo_dev[10];
/* Ctrl-Pipe */
MY_COMMAND msg;
int ret=0;
int ctrlfd; /* File Descriptor Ctrl-FIFO */
char *progname = argv[0];
/* initialize pipe: CTRL_FIFO */
sprintf(fifo_dev, "hallo%d", CTRL_FIFO);
if ((ctrlfd = open(fifo_dev, O_WRONLY)) < 0) {
fprintf(stderr, "%s: Error opening Control FIFO %s (%s)\n",
progname, fifo_dev, strerror(errno));
exit(errno);
}
msg.command = COMMAND_TASK_START;
msg.task = (TASK_ID(TASK1) | TASK_ID(TASK2) | TASK_ID(TASK3));
if(write(ctrlfd, &msg, sizeof(msg)) < 0) {
fprintf(stderr, "set: Can't send a command to Control-FIFO (%s)",
strerror(errno));
ret=errno;
}
return(ret);
}
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/