-
[my-code/ivac.git] / ivac.c
diff --git a/ivac.c b/ivac.c
index 6d8e357..a9f270e 100644 (file)
--- a/ivac.c
+++ b/ivac.c
@@ -5,4 +5,64 @@
  */
 
 #include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include "ivac.h"
+#include "dfbapi.h"
 
+// in development
+
+int usage(void) {
+       puts("usage: ivac <options>");
+       puts("options:");
+       puts("-h \t this help");
+       puts("-V \t <video device>"); 
+       puts("-A \t <audio device>");
+       puts("-v \t verbose debug output");
+       return 1;
+}
+
+int main(int argc, char **argv) {
+       int i;
+       struct ivac ivac;
+       DFBInputDeviceKeyState quit;
+
+       quit=DIKS_UP;
+
+       /* default */
+       strcpy(ivac.video_dev,VIDEO_DEV);
+       strcpy(ivac.audio_dev,AUDIO_DEV);
+       
+       for(i=1;i<argc;i++) {
+               if(argv[i][0]=='-') {
+                       switch(argv[i][1]) {
+                               case 'h':
+                                       usage();
+                                       break;
+                               case 'V':
+                                       strcpy(ivac.video_dev,argv[++i]);
+                                       break;
+                               case 'A':
+                                       strcpy(ivac.audio_dev,argv[++i]);
+                                       break;
+                               case 'v':
+                                       ivac.flags|=VERBOSE_FLAG;
+                                       break;
+                               default:
+                                       usage();
+                                       break;
+                       }
+               } else usage();
+       }
+       
+       if(dfb_init(argc,argv,&ivac)<0) {
+               puts("dfb init failed");
+               return -1;
+       }
+
+       getchar();
+
+       dfb_tini(&ivac);
+
+       return 1;
+}