Main Page
Class Categories
Classes
Namespaces
File List
File Members
exper-sw
cosmosw
AugerSW
Offline
source
main
Utilities
CorsikaCReader
corsika-tape.c
Go to the documentation of this file.
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <string.h>
4
5
#include "
corsika-tape.h
"
6
7
corsika_file
*
corsika_fopen
(
char
*name,
char
*mode)
8
{
9
FILE *
file
;
10
corsika_file
*cfile;
11
12
if
((file = fopen(name, mode)) != NULL) {
13
cfile = (
corsika_file
*) malloc(
sizeof
(
corsika_file
));
14
15
if
(cfile == NULL) {
16
fprintf(stderr,
"Cannot allocate memory for corsika file.\n"
);
17
exit
(1);
18
}
19
20
cfile->
file
=
file
;
21
cfile->
sub_index
=
SUB_BLOCKS_IN_BLOCK
;
22
23
return
cfile;
24
}
else
{
25
return
NULL;
26
}
27
}
28
29
sub_block
*
corsika_get
(
corsika_file
*
file
)
30
{
31
int
i;
32
33
if
(file->
sub_index
==
SUB_BLOCKS_IN_BLOCK
) {
34
i = fread(&file->
bl
,
sizeof
(
block
), 1, file->
file
);
35
36
if
(i != 1) file->
sub_index
= -1;
37
else
file->
sub_index
= 0;
38
}
39
40
if
(file->
sub_index
== -1)
return
NULL;
41
42
return
file->
bl
.
sb
+ file->
sub_index
++;
43
}
corsika-tape.h
corsika_file::file
FILE * file
Definition:
corsika-tape.h:297
block::sb
sub_block sb[21]
Definition:
corsika-tape.h:288
exit
int exit
Definition:
dump1090.h:237
sub_block
Definition:
corsika-tape.h:275
file
const string file
Definition:
testReadStream.cc:38
block
Definition:
corsika-tape.h:284
corsika_fopen
corsika_file * corsika_fopen(char *name, char *mode)
Definition:
corsika-tape.c:7
corsika_file::bl
block bl
Definition:
corsika-tape.h:298
SUB_BLOCKS_IN_BLOCK
#define SUB_BLOCKS_IN_BLOCK
Definition:
corsika-tape.h:25
corsika_get
sub_block * corsika_get(corsika_file *file)
Definition:
corsika-tape.c:29
corsika_file::sub_index
int sub_index
Definition:
corsika-tape.h:299
corsika_file
Definition:
corsika-tape.h:296
, generated on Tue Sep 26 2023.