# (C) Copyright 2005- ECMWF. # # This software is licensed under the terms of the Apache Licence Version 2.0 # which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. # # In applying this licence, ECMWF does not waive the privileges and immunities granted to it by # virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. # position startOfHeaders; ascii[4] SOH : hidden; ascii[3] nnn : dump; ascii[3] crcrlf : hidden; ascii[2] TT : dump; ascii[2] AA : dump; ascii[2] II : dump; ascii[1] sp1 : hidden; ascii[4] CCCC : dump; ascii[1] sp2 : hidden; ascii[2] YY : dump; ascii[2] GG : dump; ascii[2] gg : dump; lookup[2] lBB (29,BB); if (lBB is 'RR' || lBB is 'CC' || lBB is 'AA' ) { ascii[1] sp3 : hidden; ascii[3] BBB : dump; } else { constant BBB="NNN"; } alias ls.BBB=BBB; alias ls.count=count; alias ls.TT=TT; alias ls.AA=AA; alias ls.II=II; alias ls.CCCC=CCCC; alias ls.YY=YY; alias ls.GG=GG; alias ls.gg=gg; position endOfHeadersMarker; message[4] theMessage; meta lengthOfHeaders evaluate( endOfHeadersMarker-startOfHeaders); meta md5Headers md5(startOfHeaders,lengthOfHeaders); ascii[4] endMark; position totalLength; alias ls.totalLength=totalLength;