summaryrefslogtreecommitdiff
path: root/mac/pbproc/inc
diff options
context:
space:
mode:
authorschodet2008-01-08 14:40:51 +0000
committerschodet2008-01-08 14:40:51 +0000
commitd54280b66df64bd0186505ab5340232b978ce3f7 (patch)
tree53b37754385e9d6773b29df8e7a10db2725572ab /mac/pbproc/inc
parente4f89b20703597ace4ab6cb3b8a18778604643e8 (diff)
* mac/pbproc:
- handle null PBs. - handle the "one segment in last symbol" limitation. - changed segments and symbols number calculation. - handle default TMI tone maps. - handle errors in received SACKs. * mac/pbproc/test/pbproc: - test edge case with segment smaller than a symbol. * mac/pbproc/test/maximus: - do not count null PBs. - set_tonemap fcall. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@1235 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'mac/pbproc/inc')
-rw-r--r--mac/pbproc/inc/fc.h34
-rw-r--r--mac/pbproc/inc/prep_mpdu.h3
2 files changed, 37 insertions, 0 deletions
diff --git a/mac/pbproc/inc/fc.h b/mac/pbproc/inc/fc.h
index fb5b99ba65..76f551686b 100644
--- a/mac/pbproc/inc/fc.h
+++ b/mac/pbproc/inc/fc.h
@@ -178,6 +178,29 @@ struct pbproc_fc_sof_t
};
typedef struct pbproc_fc_sof_t pbproc_fc_sof_t;
+/** SACK Type. */
+enum pbproc_fc_sackt_t
+{
+ PBPROC_FC_SACKT_MIXED = 0,
+ PBPROC_FC_SACKT_MIXED_COMPRESSED = 1,
+ PBPROC_FC_SACKT_NOT_RECEIVED = 2,
+ PBPROC_FC_SACKT_UNIFORM = 3,
+};
+
+/** Uniform SACK information. */
+enum pbproc_fc_sacki_uniform_t
+{
+ PBPROC_FC_SACKI_UNIFORM_ALL_ERROR = 0,
+ PBPROC_FC_SACKI_UNIFORM_ALL_OK = 1,
+ PBPROC_FC_SACKI_UNIFORM_NOT_AVAILABLE = 2,
+ PBPROC_FC_SACKI_UNIFORM_TMI_DEFAULT_ROBO = 3,
+ PBPROC_FC_SACKI_UNIFORM_TMI_DEFAULT_RESTART = 4,
+ PBPROC_FC_SACKI_UNIFORM_TMI_RESTART = 5,
+ PBPROC_FC_SACKI_UNIFORM_NEK_ERROR = 6,
+ PBPROC_FC_SACKI_UNIFORM_NB
+};
+
+/** Maximum number of bits in a SACK. */
#define PBPROC_FC_SACK_SACKI_BITS 72
/** Selective Acknowledgment frame control. */
@@ -267,6 +290,17 @@ struct pbproc_fc_rts_cts_t
};
typedef struct pbproc_fc_rts_cts_t pbproc_fc_rts_cts_t;
+/** Sound reason code. */
+enum pbproc_fc_sound_reason_code_t
+{
+ PBPROC_FC_SRC_TMI_MIN = 0x04,
+ PBPROC_FC_SRC_TMI_MAX = 0x1f,
+ PBPROC_FC_SRC_ERROR = 0xfc,
+ PBPROC_FC_SRC_INITIAL = 0xfd,
+ PBPROC_FC_SRC_INTERVAL_UNAVAILABLE = 0xfe,
+ PBPROC_FC_SRC_INTERVAL_UNUSABLE = 0xff,
+};
+
/** Sound frame control. */
struct pbproc_fc_sound_t
{
diff --git a/mac/pbproc/inc/prep_mpdu.h b/mac/pbproc/inc/prep_mpdu.h
index b7978be2c5..723a39eb7e 100644
--- a/mac/pbproc/inc/prep_mpdu.h
+++ b/mac/pbproc/inc/prep_mpdu.h
@@ -79,6 +79,9 @@ struct pbproc_prep_mpdu_t
/** Number of reserved combined MFS segment from MFS still to be
* queued. */
uint combined_seg_nb_reserved;
+ /** Number of pending segments, if no new segment is available, they will
+ * be sent as PB null. */
+ uint seg_nb_pending;
/** First PB. */
pb_t *head;
/** Last PB. */