File indexing completed on 2025-08-03 08:20:34
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #include "phenixOnline.h"
0028 #include "frameRoutines.h"
0029 #include "framePublic.h"
0030 #include "Cframe.h"
0031
0032
0033
0034
0035
0036
0037
0038 VALUE_ret storeFrameData (PHDWORD* frame_ptr, UINT maxFrameLen,
0039 PHDWORD* frameData, UINT dataDwords)
0040 {
0041 PHDWORD* output_ptr;
0042 UINT finalLength;
0043
0044
0045
0046
0047
0048
0049 if (currentFrameHdr(frame_ptr))
0050 return valueFailure;
0051
0052
0053
0054
0055 if (!emptyFrame (frame_ptr)) return valueFailure;
0056
0057
0058
0059
0060 removeFramePadding (frame_ptr);
0061
0062
0063
0064
0065 output_ptr = findFrameDataStart(frame_ptr);
0066 if (output_ptr == ptrFailure)
0067 return valueFailure;
0068
0069
0070
0071
0072 finalLength = extendFrameData (frame_ptr, maxFrameLen, dataDwords);
0073 if (finalLength == valueFailure)
0074 return valueFailure;
0075
0076
0077
0078
0079 dwordCopy (output_ptr, frameData, dataDwords);
0080
0081 return finalLength;
0082 }
0083
0084
0085
0086
0087 VALUE_ret storeFrameHistory (PHDWORD* frame_ptr, UINT maxFrameLen,
0088 PHDWORD* frameHistory, UINT historyDwords)
0089 {
0090 PHDWORD* history_ptr;
0091 UINT finalLength;
0092
0093
0094
0095
0096
0097
0098 if (!validFrameHdr (frame_ptr) || !currentFrameHdr (frame_ptr))
0099 return valueFailure;
0100
0101
0102
0103
0104 if (getFrameHistoryLength (frame_ptr) != 0) return valueFailure;
0105
0106
0107
0108
0109 removeFramePadding(frame_ptr);
0110
0111
0112
0113
0114 history_ptr = findFrameHistoryStart (frame_ptr);
0115 if (history_ptr == ptrFailure)
0116 return valueFailure;
0117
0118
0119
0120
0121 finalLength = extendFrameHistoryNopad (frame_ptr, maxFrameLen, historyDwords);
0122 if ( finalLength == valueFailure)
0123 return valueFailure;
0124
0125
0126
0127
0128 dwordCopy (history_ptr, frameHistory, historyDwords);
0129
0130 return finalLength;
0131 }
0132
0133
0134
0135
0136 VALUE_ret extendFrameData (FRAME_ptr frame_ptr, UINT maxFrameLength, UINT dataDwords)
0137 {
0138 if (adjustFrameDataLength (frame_ptr, dataDwords) != valueFailure) {
0139
0140
0141
0142 return adjustFrameLength (frame_ptr, maxFrameLength, dataDwords, TRUE);
0143 }
0144 else return valueFailure;
0145 }
0146
0147
0148
0149
0150 VALUE_ret extendFrameDataNopad (FRAME_ptr frame_ptr, UINT maxFrameLength, UINT dataDwords)
0151 {
0152 if (adjustFrameDataLength (frame_ptr, dataDwords) != valueFailure) {
0153
0154
0155
0156 return adjustFrameLength (frame_ptr, maxFrameLength, dataDwords, FALSE);
0157 }
0158 else return valueFailure;
0159 }
0160
0161
0162
0163
0164
0165 VALUE_ret extendFrameHistory (FRAME_ptr frame_ptr, UINT maxFrameLength, UINT historyDwords)
0166 {
0167 if (adjustFrameHistoryLength (frame_ptr, historyDwords) != valueFailure) {
0168
0169
0170
0171 return adjustFrameLength (frame_ptr, maxFrameLength, historyDwords, TRUE);
0172 }
0173 else return valueFailure;
0174 }
0175
0176
0177
0178
0179 VALUE_ret extendFrameHistoryNopad (FRAME_ptr frame_ptr, UINT maxFrameLength, UINT historyDwords)
0180 {
0181 if (adjustFrameHistoryLength (frame_ptr, historyDwords) != valueFailure) {
0182
0183
0184
0185 return adjustFrameLength (frame_ptr, maxFrameLength, historyDwords, FALSE);
0186 }
0187 else return valueFailure;
0188 }
0189
0190
0191
0192
0193
0194
0195
0196
0197
0198