int main(int argc, char **argv) { FILE *fin; /* Input file */ FILE *fzeros; /* output file */ FILE *fmodel; //segy thdr; /* holds the full trace header */ char txthdr[3202]; /* The character file header */ //register complex *ct; /* complex transformed trace */ float dt; /* sample spacing */ int ns; /* number of points on input trace */ register int i; int ierr=0; int endian = 1; int format; unsigned char chdr[3202]; int status=0; bhed bh; int fmt, itr; int idt; segy thdr; float *tr; /* Array to hold the trace samples */ int *ptr2hdr; int count=0; char trhdr[242]; int delta =0; int iline=0, xline=0,ilineStart=0,xlineStart=0,xlineEnd=0,horizon=0,ilineEnd=0; int numXlines=0; char str[101]; int zero=0; int window=0; float velAve=0; int *pointAve; int fill=0; float sumVels=0,read=0; int numVels=0; long int fileBeg=0, fileEnd=0,size; int choice; char buff[80]; fpos_t position; struct stat st; endian = checkEndian(); if (argc == 9) { fzeros = fopen(argv[1],"r"); fin = fopen(argv[2], "r+b"); if (fzeros == NULL) { printf("Unable to open the zeros file. Please check the name.\n"); return -1; } if (fin == NULL) { printf("Unable to open the input velocity file. Please check the name.\n"); return -1; } if(sscanf(argv[3], "%d", &ilineStart) != 1) { printf("\nStarting Inline entered not valid. Exiting..."); return -1; } if(sscanf(argv[4], "%d", &xlineStart) != 1) { printf("\nStarting Xline entered not valid. Exiting..."); return -1; } if(sscanf(argv[5], "%d", &ilineEnd) != 1) { printf("\Ending iline entered not valid. Exiting..."); return -1; }
int main(int argc, char *argv[]) { /* check for correct invocation */ if( argc != 2 ) { fprintf( stderr, "Invalid arguments. Usage: dnsresolve <host>\n" ); errno = EINVAL; exit(EXIT_FAILURE); } /* set up hints struct for call to getaddrinfo() and call it */ struct addrinfo hints; // create struct memset(&hints, 0, sizeof(hints)); // fill struct with zeros hints.ai_socktype = SOCK_STREAM; hints.ai_family = AF_UNSPEC; struct addrinfo *results; int error; error = getaddrinfo( argv[1], NULL, &hints, &results ); if(error != 0) { fprintf(stderr, "Error in getaddrinfo(): %s\n", gai_strerror(error)); exit(EXIT_FAILURE); } /* return the endian-ness of the system */ if( checkEndian() == BIG ) printf("The system and network are big-endian (MSB first).\n"); else printf("The system is little-endian (LSB first), the network is big-endian (MSB first).\n"); struct addrinfo *loop; struct sockaddr_in *sa_in; char ip_buf[512], rev_dns_buf[512]; /* loop over all nodes in the linked list returned from getaddrinfo() */ for( loop = results; loop != NULL; loop = loop->ai_next ) { sa_in = (struct sockaddr_in *) loop->ai_addr; /* ipv4 */ if( loop->ai_family == AF_INET ) { /* get the IP address from the encoded data */ if ( inet_ntop( AF_INET, &(sa_in->sin_addr), ip_buf, INET_ADDRSTRLEN ) == NULL ) { fprintf( stderr, "Error translating name (inet_ntop): %s\n", strerror(error)); exit( EXIT_FAILURE ); } /* reverse DNS on the IP */ if( getnameinfo( (struct sockaddr *) sa_in, INET_ADDRSTRLEN, rev_dns_buf, sizeof(rev_dns_buf), NULL, 0, 0 ) ) { fprintf( stderr, "Error in getnameinfo(): %s\n", gai_strerror(errno)); exit( EXIT_FAILURE ); } fprintf( stdout, "ipv4: %s -- reverse dns lookup: %s\n", ip_buf, rev_dns_buf ); } /* ipv6 */ else { /* get the IP address from the encoded data */ if ( inet_ntop( AF_INET6, &(sa_in->sin_addr), ip_buf, INET6_ADDRSTRLEN ) == NULL ) { fprintf( stderr, "Error translating name (inet_ntop): %s\n", strerror(error)); exit( EXIT_FAILURE ); } /* reverse DNS on the IP */ if( getnameinfo( (struct sockaddr *) sa_in, INET6_ADDRSTRLEN, rev_dns_buf, sizeof(rev_dns_buf), NULL, 0, 0 ) ) { fprintf( stderr, "Error in getnameinfo(): %s\n", gai_strerror(errno)); exit( EXIT_FAILURE ); } fprintf( stdout, "ipv6: %s -- reverse dns lookup: %s\n", ip_buf, rev_dns_buf ); } if( loop->ai_next == NULL ) break; } freeaddrinfo(results); exit( EXIT_SUCCESS ); }
int main(int argc, char *argv[]){ FILE *readP; FILE *writeP; char readFilename[FILENAME_CHARMAX] = "input.bdf"; char writeFilename[FILENAME_CHARMAX] = "output.bmp"; int i, j, tmp, n, dst, c; char *sP; unsigned char *bitmapP = NULL; /* address of bitmapAREA */ int spacing = 2; /* breadth of spacing (default 2) */ int flag; int colchar = 32; /* number of columns(horizontal) (default 32) */ char paramP[PARAM_MAX][LINE_CHARMAX]; /* parameter strings */ int iflag = OFF; struct stat fileinfo; /* * deal with arguments */ if(argc < 2){ /* printf("error: not enough arguments\n"); */ printhelp(); } /* formatting arguments */ sP = calloc(LINE_CHARMAX, sizeof(char)); if(sP == NULL){ printf("error\n"); exit(1); } for(i=1,dst=0,n=0; i<argc; i++){ if(argv[i][0] == '-'){ /* command-line options */ for(j=1; j<(int)strlen(argv[i]); j++){ if(argv[i][j]=='w' || argv[i][j]=='i' || argv[i][j]=='h' || argv[i][j]=='v') { *(sP+dst) = '-'; dst++; *(sP+dst) = argv[i][j]; dst++; *(sP+dst) = '\0'; strcpy(paramP[n], sP); dst=0; n++; memset(sP,0,LINE_CHARMAX); if(n >= PARAM_MAX){ printf("error: too many arguments\n"); exit(EXIT_FAILURE); } }else if( (argv[i][j]=='s') || (argv[i][j]=='c')) { *(sP+dst) = '-'; dst++; *(sP+dst) = argv[i][j]; dst++; }else if( isdigit(argv[i][j]) == 0 ){ /* not [0-9] */ printf("error: invalid option -- '%c'\n", argv[i][j]); exit(EXIT_FAILURE); }else if( argv[i][j+1] == '\0' ){ *(sP+dst) = argv[i][j]; dst++; *(sP+dst) = '\0'; strcpy(paramP[n], sP); dst=0; n++; if(n >= PARAM_MAX){ printf("error: too many arguments\n"); exit(EXIT_FAILURE); } }else{ *(sP+dst) = argv[i][j]; dst++; } } }else{ /* not command-line options */ for(j=0; j<(int)strlen(argv[i]); j++){ *(sP+dst) = argv[i][j]; dst++; } *(sP+dst) = '\0'; strcpy(paramP[n], sP); dst=0; n++; memset(sP,0,LINE_CHARMAX); if(n >= PARAM_MAX){ printf("error: too many arguments\n"); exit(EXIT_FAILURE); } } } free(sP); /* interpretting arguments */ for(i=0, flag=0; i<n; i++){ switch( paramP[i][0] ){ case '-': if(paramP[i][1] == 's') spacing = atoi(¶mP[i][2]); else if(paramP[i][1] == 'c') colchar = atoi(¶mP[i][2]); else if(paramP[i][1] == 'w') dwflag = ON; else if(paramP[i][1] == 'i') iflag = ON; else if( (paramP[i][1]=='v') || (paramP[i][1]=='h')) printhelp(); break; default: if(flag == 0){ strcpy(readFilename, paramP[i]); flag ++; }else{ strcpy(writeFilename, paramP[i]); if(strcmp(readFilename, writeFilename) == 0){ printf("error: input-filename and output-filename are same\n"); exit(EXIT_FAILURE); } flag ++; } break; } } if(flag < 2){ printf("error: not enough arguments\n"); printf("Usage: bdf2bmp [-option] input-bdf-file output-bmp-file\n"); exit(EXIT_FAILURE); } /* colchar is limited from 1 to 1024 */ if(colchar < 1) colchar = 1; else if(colchar > 1024) colchar = 1024; /* spacing is limited from 0 to 32 */ if(spacing < 0) spacing = 0; else if(spacing > 32) spacing = 32; /* checkEndian */ checkEndian(); /* * prepare to read&write files */ readP = fopen(readFilename, "r"); if(readP == NULL){ printf("bdf2bmp: '%s' does not exist\n", readFilename); exit(EXIT_FAILURE); } /* Does writeFilename already exist? */ if((iflag==ON) && (stat(writeFilename, &fileinfo)==0)){ fprintf(stderr, "bdf2bmp: overwrite '%s'? ", writeFilename); c = fgetc(stdin); if((c=='y') || (c=='Y')) ; /* go next */ else /* printf("not overwrite\n"); */ exit(EXIT_FAILURE); } writeP=fopen(writeFilename, "wb"); if(writeP == NULL){ printf("error: cannot write '%s'\n", writeFilename); exit(EXIT_FAILURE); } /* read bdf-font-file */ bitmapP = readBdfFile(bitmapP, readP); fclose(readP); /* write bmp-image-file */ writeBmpFile(bitmapP, spacing, colchar, writeP); tmp = fclose(writeP); if(tmp == EOF){ printf("error: cannot write '%s'\n", writeFilename); free(bitmapP); exit(EXIT_FAILURE); } free(bitmapP); return EXIT_SUCCESS; }