Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sys/types.h>
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <fcntl.h>
- int main(int argc, char *argv[]){
- char *kluc = argv[2];
- char *dat1, *dat2;
- int id= argv[1];
- char *linija; char *pok;
- int mid = shget(kluc,lenght(kluc), IPC_CREAT);
- int m =shmat(mid,NULL,0);
- if(mid>0){//alcirana e memorija
- if(m>0){//pritapeno e do nejze
- if(id==1){
- //proces 1
- dat1= open(argv[3],0_RDONLY);//ima info za slika
- pok=mmap(0,128 ,PROT_READ|PROT_WRITE|MAP_SHARED,dat1,0);
- read(dat1,linija,128);//prva linija e rezolucijata
- munmap(pok,128);
- }
- else if(id==2){
- //proces 2
- dat2 = open(argv[3],O_WRONLY);
- write(dat2,linija,128);//zapishi ja rezolucijata vo prviot red
- int golemina = linija[1]*linija[3];
- if(golemina ==86400||golemina==2284800){ //1080x0800
- write(dat2,golemina,128);
- //vtor red zapishi golemina ==> 1piskel = 1bajt
- }
- }
- }
- }
- close(dat1);
- close(dat2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement