fifo.c - sites - public wiki contents of suckless.org
 (HTM) git clone git://git.suckless.org/sites
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       fifo.c (835B)
       ---
            1 /* 
            2  * send anything in dwm status bar with fifo
            3  * example : echo "hello" >> /tmp/dwm.fifo
            4  * Author:  Xavier Cartron (XC), thuban@yeuxdelibad.net
            5 */
            6 
            7 #include <stdio.h>
            8 #include <stdlib.h>
            9 #include <string.h>
           10 #include <fcntl.h>
           11 #include <sys/types.h>
           12 #include <sys/stat.h>
           13 
           14 #define FIFO "/tmp/dwm.fifo"
           15 
           16 char *
           17 snotif()
           18 {
           19     char buf[BUFSIZ];
           20     int len = 0;
           21 
           22     int f = open(FIFO, O_NONBLOCK | O_RDWR);
           23     if (f == -1){
           24         return smprintf("%s","");
           25     }
           26 
           27     len = read(f, buf, sizeof(buf));
           28     if (len == -1){
           29         perror("fifo read");
           30         close(f);
           31         return smprintf("%s","");
           32     }
           33     close(f);
           34 
           35     buf[len-1] = ' ';
           36 
           37     return smprintf("%s",buf);
           38 }
           39 
           40 int
           41 main(void)
           42 {
           43     int ret = 0;
           44     ret = mkfifo(FIFO, ACCESSPERMS);
           45     if (ret == -1) perror("fifo creation");
           46     
           47     // your code
           48 
           49         return 0;
           50 }