OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
abfpipe.h
Go to the documentation of this file.
1//Copyright> OpenRadioss
2//Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3//Copyright>
4//Copyright> This program is free software: you can redistribute it and/or modify
5//Copyright> it under the terms of the GNU Affero General Public License as published by
6//Copyright> the Free Software Foundation, either version 3 of the License, or
7//Copyright> (at your option) any later version.
8//Copyright>
9//Copyright> This program is distributed in the hope that it will be useful,
10//Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11//Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12//Copyright> GNU Affero General Public License for more details.
13//Copyright>
14//Copyright> You should have received a copy of the GNU Affero General Public License
15//Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16//Copyright>
17//Copyright>
18//Copyright> Commercial Alternative: Altair Radioss Software
19//Copyright>
20//Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21//Copyright> software under a commercial license. Contact Altair to discuss further if the
22//Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23#include <hardware.inc>
24
25
26#include <errno.h>
27#include <stdio.h>
28#include <stdlib.h>
29#include <fcntl.h>
30#include <sys/types.h>
31#include <sys/stat.h>
32#include <string.h>
33
34#ifdef _WIN64
35#include <windows.h>
36#include <process.h>
37#include <io.h>
38#define _FCALL
39
40HANDLE hProcess;
41
42#elif 1
43
44#include <unistd.h>
45#include <sys/wait.h>
46#include <sys/times.h>
47#include <sys/param.h>
48#define _FCALL
49
51
52#endif
53
54
55
56#ifndef PIPE_BUF
57#define PIPE_BUF 1024
58#endif
59
60
62
63int write_abf_converter(int pipe, char* buf, int nbytes);
64int read_abf_converter(int pipe, char* buf, int nbytes);
65
66void open_abfpipe (int *parent_rd,int *parent_wr,int *code_abf,int *radiossv,int *abfv,int *nb_of_files);
67void open_abfpipe_ (int *parent_rd,int *parent_wr,int *code_abf,int *radiossv,int *abfv,int *nb_of_files);
68void open_abfpipe__ (int *parent_rd,int *parent_wr,int *code_abf,int *radiossv,int *abfv,int *nb_of_files);
69void _FCALL OPEN_ABFPIPE (int *parent_rd,int *parent_wr,int *code_abf,int *radiossv,int *abfv,int *nb_of_files);
70
71void build_abffile(int *finp,int *fout,int *code_ret,int *ifil,int *len,int *ifiltmp,int *lentmp,int *nb_index_abf);
72void build_abffile_(int *finp,int *fout,int *code_ret,int *ifil,int *len,int *ifiltmp,int *lentmp,int *nb_index_abf);
73void _FCALL BUILD_ABFFILE(int *finp,int *fout,int *code_ret,int *ifil,int *len,int *ifiltmp,int *lentmp,int *nb_index_abf);
74
75void check_abf(int *finp,int *fout,int *code_ret);
76void check_abf_(int *finp,int *fout,int *code_ret);
77void check_abf__(int *finp,int *fout,int *code_ret);
78void _FCALL CHECK_ABF(int *finp,int *fout,int *code_ret);
79
80
81
82#ifdef _WIN64
83
84
85void abffile_update_std(int *finp,int *fout,int *code_ret,int *ifil,int *len,int *ifiltmp,int *lentmp,int *CPTFILE);
86void abffile_update(int *finp,int *fout,int *code_ret,int *ifil,int *len,int *ifiltmp,int *lentmp,int *CPTFILE);
87void abffile_update_(int *finp,int *fout,int *code_ret,int *ifil,int *len,int *ifiltmp,int *lentmp,int *CPTFILE);
88void abffile_update__(int *finp,int *fout,int *code_ret,int *ifil,int *len,int *ifiltmp,int *lentmp,int *CPTFILE);
89void ABFFILE_UPDATE_(int *finp,int *fout,int *code_ret,int *ifil,int *len,int *ifiltmp,int *lentmp,int *CPTFILE);
90void _ABFFILE_UPDATE(int *finp,int *fout,int *code_ret,int *ifil,int *len,int *ifiltmp,int *lentmp,int *CPTFILE);
91void ABFFILE_UPDATE(int *finp,int *fout,int *code_ret,int *ifil,int *len,int *ifiltmp,int *lentmp,int *CPTFILE);
92
93void init_abfpipe (int *fdinp,int *fdout ,int *req,int *ok,char *altdoctag,int *taglen,char *checksum,int *checksumlen);
94void init_abfpipe_(int *fdinp,int *fdout ,int *req,int *ok,char *altdoctag,int *taglen,char *checksum,int *checksumlen);
95void _FCALL INIT_ABFPIPE(int *fdinp,int *fdout ,int *req,int *ok,char *altdoctag,int *taglen,char *checksum,int *checksumlen);
96
97
98void release_abfpipe(int *finp,int *fout);
99void release_abfpipe_(int *finp,int *fout);
100void _FCALL RELEASE_ABFPIPE(int *finp,int *fout);
101
102
103static void syserr(char *message);
104static void syserr2(char *message);
105static int readpuncrypt(int pipe, char* buf, int nbytes);
106static int writepuncrypt(int pipe, char* buf, int nbytes);
107
108
109#endif
110
111
int write_abf_converter(int pipe, char *buf, int nbytes)
void _FCALL BUILD_ABFFILE(int *finp, int *fout, int *code_ret, int *ifil, int *len, int *ifiltmp, int *lentmp, int *nb_index_abf)
void check_abf(int *finp, int *fout, int *code_ret)
void open_abfpipe_(int *parent_rd, int *parent_wr, int *code_abf, int *radiossv, int *abfv, int *nb_of_files)
void open_abfpipe__(int *parent_rd, int *parent_wr, int *code_abf, int *radiossv, int *abfv, int *nb_of_files)
void _FCALL OPEN_ABFPIPE(int *parent_rd, int *parent_wr, int *code_abf, int *radiossv, int *abfv, int *nb_of_files)
void build_abffile(int *finp, int *fout, int *code_ret, int *ifil, int *len, int *ifiltmp, int *lentmp, int *nb_index_abf)
int hProcess
Definition abfpipe.h:50
int abf_pid
Definition abfpipe.h:61
void _FCALL CHECK_ABF(int *finp, int *fout, int *code_ret)
void check_abf__(int *finp, int *fout, int *code_ret)
int read_abf_converter(int pipe, char *buf, int nbytes)
void build_abffile_(int *finp, int *fout, int *code_ret, int *ifil, int *len, int *ifiltmp, int *lentmp, int *nb_index_abf)
void open_abfpipe(int *parent_rd, int *parent_wr, int *code_abf, int *radiossv, int *abfv, int *nb_of_files)
void check_abf_(int *finp, int *fout, int *code_ret)
#define _FCALL
void syserr()