summaryrefslogtreecommitdiffstats
path: root/examples/shm/shm.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2010-09-06 17:18:08 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2010-09-06 17:18:41 +0200
commit943f9ab50c110133a5cd1118b5b19cb09301168f (patch)
tree1cef7570d78539ad84de9ce81debb4dc12188df5 /examples/shm/shm.c
parentdf05d27b761295820f3b13ec31c67c0ab0198bfc (diff)
downloadcryptodev-linux-943f9ab50c110133a5cd1118b5b19cb09301168f.tar.gz
cryptodev-linux-943f9ab50c110133a5cd1118b5b19cb09301168f.tar.xz
cryptodev-linux-943f9ab50c110133a5cd1118b5b19cb09301168f.zip
run scripts/Lindent.
Diffstat (limited to 'examples/shm/shm.c')
-rw-r--r--examples/shm/shm.c114
1 files changed, 58 insertions, 56 deletions
diff --git a/examples/shm/shm.c b/examples/shm/shm.c
index 2469115..fd2c2ce 100644
--- a/examples/shm/shm.c
+++ b/examples/shm/shm.c
@@ -12,7 +12,7 @@ sem_t *enc_sem, *get_sem;
#define SHM_SIZE 64*1024
-void child(pid_t parent, void* mem)
+void child(pid_t parent, void *mem)
{
char key[16];
char iv[16];
@@ -24,9 +24,9 @@ void child(pid_t parent, void* mem)
memset(iv, 0x3, sizeof(iv));
sem_wait(enc_sem);
-
- crypto_aes_expand_key(&ctx, (void*)key, sizeof(key));
-
+
+ crypto_aes_expand_key(&ctx, (void *)key, sizeof(key));
+
memcpy(&mem_size, mem, sizeof(mem_size));
crypto_cbc_encrypt(&ctx, mem, mem_size, mem, iv);
@@ -39,47 +39,48 @@ static int must_finish = 0;
static void alarm_handler(int signo)
{
- must_finish = 1;
+ must_finish = 1;
}
static double udifftimeval(struct timeval start, struct timeval end)
{
- return (double)(end.tv_usec - start.tv_usec) +
- (double)(end.tv_sec - start.tv_sec) * 1000 * 1000;
+ return (double)(end.tv_usec - start.tv_usec) +
+ (double)(end.tv_sec - start.tv_sec) * 1000 * 1000;
}
-static void value2human(double bytes, double time, double* data, double* speed,char* metric)
+static void value2human(double bytes, double time, double *data, double *speed,
+ char *metric)
{
- if (bytes > 1000 && bytes < 1000*1000) {
- *data = ((double)bytes)/1000;
- *speed = *data/time;
- strcpy(metric, "Kb");
- return;
- } else if (bytes >= 1000*1000 && bytes < 1000*1000*1000) {
- *data = ((double)bytes)/(1000*1000);
- *speed = *data/time;
- strcpy(metric, "Mb");
- return;
- } else if (bytes >= 1000*1000*1000) {
- *data = ((double)bytes)/(1000*1000*1000);
- *speed = *data/time;
- strcpy(metric, "Gb");
- return;
- } else {
- *data = (double)bytes;
- *speed = *data/time;
- strcpy(metric, "bytes");
- return;
- }
+ if (bytes > 1000 && bytes < 1000 * 1000) {
+ *data = ((double)bytes) / 1000;
+ *speed = *data / time;
+ strcpy(metric, "Kb");
+ return;
+ } else if (bytes >= 1000 * 1000 && bytes < 1000 * 1000 * 1000) {
+ *data = ((double)bytes) / (1000 * 1000);
+ *speed = *data / time;
+ strcpy(metric, "Mb");
+ return;
+ } else if (bytes >= 1000 * 1000 * 1000) {
+ *data = ((double)bytes) / (1000 * 1000 * 1000);
+ *speed = *data / time;
+ strcpy(metric, "Gb");
+ return;
+ } else {
+ *data = (double)bytes;
+ *speed = *data / time;
+ strcpy(metric, "bytes");
+ return;
+ }
}
-void parent(pid_t child, void* mem)
+void parent(pid_t child, void *mem)
{
-struct timeval start, end;
-uint32_t chunksize;
-double total = 0;
-double secs, ddata, dspeed;
-char metric[16];
+ struct timeval start, end;
+ uint32_t chunksize;
+ double total = 0;
+ double secs, ddata, dspeed;
+ char metric[16];
signal(SIGALRM, alarm_handler);
@@ -90,27 +91,27 @@ char metric[16];
printf("\tEncrypting in chunks of %d bytes: ", chunksize);
fflush(stdout);
-
+
total = 0;
must_finish = 0;
alarm(5);
gettimeofday(&start, NULL);
-
+
do {
memcpy(mem, &chunksize, sizeof(chunksize));
sem_post(enc_sem);
sem_wait(get_sem);
- total+=chunksize;
- } while(must_finish == 0);
-
+ total += chunksize;
+ } while (must_finish == 0);
+
gettimeofday(&end, NULL);
-
- secs = udifftimeval(start, end)/ 1000000.0;
+
+ secs = udifftimeval(start, end) / 1000000.0;
value2human(total, secs, &ddata, &dspeed, metric);
- printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
- printf ("%.2f %s/sec\n", dspeed, metric);
+ printf("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
+ printf("%.2f %s/sec\n", dspeed, metric);
}
}
@@ -120,36 +121,37 @@ int main()
int shmid, shmid2;
char c, *shm, *s, *semmem;
pid_t pid;
-
+
signal(SIGUSR1, SIG_IGN);
signal(SIGUSR2, SIG_IGN);
-
+
if ((shmid = shmget(IPC_PRIVATE, SHM_SIZE, IPC_CREAT | 0660)) < 0) {
perror("shmget fail");
return 1;
}
- if ((shm = (char *) shmat(shmid, 0, 0)) == (char *) -1) {
+ if ((shm = (char *)shmat(shmid, 0, 0)) == (char *)-1) {
perror("shmat : parent");
return 2;
}
- if ((shmid2 = shmget(IPC_PRIVATE, 2*sizeof(sem_t), IPC_CREAT | 0660)) < 0) {
+ if ((shmid2 =
+ shmget(IPC_PRIVATE, 2 * sizeof(sem_t), IPC_CREAT | 0660)) < 0) {
perror("shmget fail");
return 1;
}
- if ((semmem = (char *) shmat(shmid2, 0, 0)) == (char *) -1) {
+ if ((semmem = (char *)shmat(shmid2, 0, 0)) == (char *)-1) {
perror("shmat : parent");
return 2;
}
-
- enc_sem = (void*)semmem;
- get_sem = (void*)semmem + sizeof(sem_t);
-
+
+ enc_sem = (void *)semmem;
+ get_sem = (void *)semmem + sizeof(sem_t);
+
sem_init(enc_sem, 1, 0);
sem_init(get_sem, 1, 0);
-
+
printf("Addresses in parent\n");
printf("shared mem: %p\n", shm);
@@ -158,7 +160,7 @@ int main()
*s++ = c;
*s = '\0'; // terminate the sequence
- switch (pid=fork()) {
+ switch (pid = fork()) {
case -1:
perror("fork");
return 3;
@@ -167,7 +169,7 @@ int main()
kill(pid, SIGTERM);
wait(0); // let the child finish
shmdt(shm);
- shmctl(shmid, IPC_RMID, (struct shmid_ds *) 0);
+ shmctl(shmid, IPC_RMID, (struct shmid_ds *)0);
break;
case 0:
child(getppid(), shm);