Newer
Older
* @param p_headerSubType Packet's subtype
template (value) HeaderTST m_geoAnycastHeaderType(
in template (value) HeaderSubTypeGeoAnycast p_headerSubType
) := {
geoAnycastHdr := {
headerType := e_geoAnycast,
headerSubType := p_headerSubType
}
* @desc Receive template for GeoAnycast header type with any sub-type
template HeaderTST mw_geoAnycastHeaderType := {
geoAnycastHdr := {
headerType := e_geoAnycast,
headerSubType := ?
}
* @desc Receive template for GeoAnycast header type with sub-type
template HeaderTST mw_geoAnycastHeaderTypeWithSubType(
in template (present) HeaderSubTypeGeoAnycast p_headerSubType
) modifies mw_geoAnycastHeaderType := {
geoAnycastHdr := {
headerSubType := p_headerSubType
}
/**
* @desc Send template for LS Request header
* @param p_sourceLongPosVec Long position vector of source
* @param p_seqNumber Sequence number of LS Request packet
* @param p_gnAddress Searched GN_Address
template (value) ExtendedHeader m_lsRequestHeader(
in template (value) LongPosVector p_sourceLongPosVec,
in template (value) UInt16 p_seqNumber,
seqNumber := p_seqNumber,
reserved := c_uInt8Zero,
srcPosVector := p_sourceLongPosVec,
gnAddress := p_gnAddress
/**
* @desc Receive template for LS Request header
* @param p_seqNumber Sequence number of LS Request packet
) := {
lsRequestHeader := {
seqNumber := p_seqNumber,
berge
committed
gnAddress := mw_gnAddressMid(p_mid)
/**
* @desc Send template for LS Request header type
template (value) HeaderTST m_lsRequestHeaderType := {
lsHdr := {
headerType := e_locationService,
headerSubType := e_lsRequest
/**
* @desc Receive template for LS Request header type
template HeaderTST mw_lsRequestHeaderType := {
lsHdr := {
headerType := e_locationService,
headerSubType := e_lsRequest
group lsReplyHeaderTemplates {
/**
* @desc Send template for LS Reply header
* @param p_sourceLongPosVec Long position vector of source
* @param p_destinationLongPosVec Long position vector of destination
* @param p_seqNumber Sequence number of LS Reply packet
in template (value) LongPosVector p_sourceLongPosVec,
in template (value) ShortPosVector p_destinationLongPosVec,
in template (value) UInt16 p_seqNumber
) := {
lsReplyHeader := {
seqNumber := p_seqNumber,
reserved := c_uInt8Zero,
srcPosVector := p_sourceLongPosVec,
dstPosVector := p_destinationLongPosVec
}
}
lsReplyHeader := {
reserved := ?,
srcPosVector := ?,
dstPosVector := ?
}
}
* @param p_sourceLongPosVec Long position vector of source
* @param p_destinationLongPosVec Short position vector of destination
in template (present) ShortPosVector p_destinationLongPosVec)
modifies mw_lsReplyHeaderAny := {
lsReplyHeader := {
srcPosVector := p_sourceLongPosVec,
dstPosVector := p_destinationLongPosVec
}
/**
* @desc Send template for LS Reply header type
template (value) HeaderTST m_lsReplyHeaderType := {
lsHdr := {
headerType := e_locationService,
headerSubType := e_lsReply
}
/**
* @desc Send template for Beacon header
* @param p_sourceLongPosVec Long position vector of source
template (value) ExtendedHeader m_beaconHeader(
in template (value) LongPosVector p_sourceLongPosVec
/**
* @desc Receive template for Beacon header
* @param p_sourceLongPosVec Long position vector of source
template ExtendedHeader mw_beaconHeader(
in template (present) LongPosVector p_sourceLongPosVec
/**
* @desc Send template for Beacon header type
template (value) HeaderTST m_beaconHeaderType := {
beaconHdr := {
/**
* @desc Receive template for Beacon header type
template HeaderTST mw_beaconHeaderType := {
beaconHdr := {
group shbHeaderTemplates {
* @param p_sourceLongPosVec Long position vector of sender
template (value) ExtendedHeader m_shbHeader(
in template (value) LongPosVector p_sourceLongPosVec
) := {
shbHeader := {
srcPosVector := p_sourceLongPosVec,
reserved := 0
}
}
/**
* @desc Receive template for SHB header
* @param p_sourceLongPosVec Long position vector of sender
template (present) ExtendedHeader mw_shbHeader(
in template (present) LongPosVector p_sourceLongPosVec
) := {
shbHeader := {
srcPosVector:= p_sourceLongPosVec,
reserved := ?
}
}
/**
* @desc Send template for SHB header type
template (value) HeaderTST m_shbHeaderType := {
tsbHdr := {
headerType := e_topologicallyScopedBroadcast,
headerSubType := e_singleHop
}
} // end shbHeaderTemplates
/**
* @desc Send template for TSB header
* @param p_seqNumber Sequence number of TSB packet
* @param p_srcPosVector Long position vector of source
in template (value) UInt16 p_seqNumber,
in template (value) LongPosVector p_srcPosVector
) := {
tsbHeader := {
seqNumber := p_seqNumber,
reserved := c_uInt8Zero,
srcPosVector := p_srcPosVector
}
}
/**
* @desc Receive template for TSB header
* @param p_seqNumber Sequence number of TSB packet
* @param p_sourceLongPosVec Long position vector of source
in template (present) LongPosVector p_sourceLongPosVec
) := {
tsbHeader := {
seqNumber := p_seqNumber,
reserved := ?,
srcPosVector := p_sourceLongPosVec
}
}
template (value) HeaderTST m_tsbHeaderType := {
tsbHdr := {
headerType := e_topologicallyScopedBroadcast,
headerSubType := e_multiHop
template (present) HeaderTST mw_tsbHeaderType := {
tsbHdr := {
headerType := e_topologicallyScopedBroadcast,
headerSubType := e_multiHop
}
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
group saHeaderTemplates {
/**
* @desc Send template for SA header
* @param p_seqNumber Sequence number of TSB packet
* @param p_srcPosVector Long position vector of source
*/
template ExtendedHeader m_saHeader(
in template (value) UInt16 p_seqNumber,
in template (value) LongPosVector p_srcPosVector
) := {
tsbHeader := {
seqNumber := p_seqNumber,
reserved := c_uInt8Zero,
srcPosVector := p_srcPosVector
}
}
/**
* @desc Receive template for TSB header
* @param p_seqNumber Sequence number of TSB packet
* @param p_sourceLongPosVec Long position vector of source
*/
template (present) ExtendedHeader mw_saHeader(
in template (present) UInt16 p_seqNumber,
in template (present) LongPosVector p_sourceLongPosVec
) := {
tsbHeader := {
seqNumber := p_seqNumber,
reserved := ?,
srcPosVector := p_sourceLongPosVec
}
}
/**
* @desc Send template for SA header type
*/
template (value) HeaderTST m_saHeaderType_sa := {
saHdr := {
headerType := e_serviceAnnouncement,
headerSubType := e_sa
}
}
/**
* @desc Receive template for SA header type
*/
template (present) HeaderTST mw_saHeaderType_sa := {
saHdr := {
headerType := e_serviceAnnouncement,
headerSubType := e_sa
}
}
/**
* @desc Send template for SA header type
*/
template (value) HeaderTST m_saHeaderType_eos := {
saHdr := {
headerType := e_serviceAnnouncement,
headerSubType := e_saEos
}
}
/**
* @desc Receive template for SA header type
*/
template (present) HeaderTST mw_saHeaderType_eos := {
saHdr := {
headerType := e_serviceAnnouncement,
headerSubType := e_saEos
}
}
} // end saHeaderTemplates
} // end geoNwHeadersTemplates
* @desc Receive template for GN_Address. Only M_ID field is discriminent
template GN_Address mw_gnAddressMid(in template (present) GN_Address.mid p_mid) := {
typeOfAddress := ?,
stationType := ?,
stationCountryCode := ?,
mid := p_mid
}
template (value) GN_Address m_dummyGnAddr := {
typeOfAddress := e_manual,
mid := c_6ZeroBytes
/**
* @desc Dummy template for long position vector
template (value) LongPosVector m_dummyLongPosVector := {
timestamp_ := c_uInt32Zero,
/**
* @desc Dummy template for Area
template (value) Area m_dummyArea := {
geoAreaPosLatitude := c_uInt32Zero,
geoAreaPosLongitude := c_uInt32Zero,
distanceA := c_uInt16Zero,
distanceB := c_uInt16Zero,
/**
* @desc Dummy template for GeoBroadcastArea
template (value) GeoBroadcastArea m_dummyGeoBroadcastArea := {
geoBroadcastSubType := e_geoBroadcastRect,
geoBroadcastArea := m_dummyArea
}
} // end geoDummyTemplates
} // end geoMiscTemplates