summaryrefslogtreecommitdiff
path: root/mac/ca/ca.h
diff options
context:
space:
mode:
authorschodet2007-06-04 15:49:18 +0000
committerschodet2007-06-04 15:49:18 +0000
commit9ff4d52742df426c8eadcfa0e57ae4b009f0e696 (patch)
tree6887d7ff933c4252ca2e47bae4c51deb967f8bf0 /mac/ca/ca.h
parent376b7c6c34e1ae69621968d0a404974bbab974a9 (diff)
Added ca_access_update.
Changed ca_access_restart_vcs. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@226 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'mac/ca/ca.h')
-rw-r--r--mac/ca/ca.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/mac/ca/ca.h b/mac/ca/ca.h
index 37e216beab..cc9cd5b3c0 100644
--- a/mac/ca/ca.h
+++ b/mac/ca/ca.h
@@ -43,6 +43,9 @@ typedef struct ca_t ca_t;
*
* This is quite space consuming, and most of time, much less entries will be
* used...
+ *
+ * TODO actually, a schedule can not be that big, because of the limited
+ * beacon payload size.
*/
#define CA_SCHEDULE_SIZE (64 * 2 * 2)
@@ -101,12 +104,18 @@ struct ca_access_param_t
/** Programmed ACCESS date. Does not include anticipation, but does
* include backoff. */
u32 access_date;
+ /** Beacon period start. Should be used to locate a tonemap. */
+ uint beacon_period_start_date;
/** Available time. */
uint duration_tck;
- /** Does it occurs during a contention free period? */
+ /** Does it occurs during a contention free period? This flag is used to
+ * know if a frame might be transmitted right after this one and we have
+ * to hurry. */
bool cfp:1;
/** Should it content for ACCESS? */
bool content:1;
+ /** Use an hybrid frame control? */
+ bool hybrid:1;
};
typedef struct ca_access_param_t ca_access_param_t;
@@ -115,6 +124,8 @@ BEGIN_DECLS
/**
* Initialise ca and return its context.
* \param phy phy context
+ * \param config global mac configuration
+ * \param store MFS and STA store
* \return ca context
*/
ca_t *
@@ -164,6 +175,7 @@ ca_access_program (ca_t *ctx, u32 date, uint anticipation_tck);
* Update next ACCESS information for the given grant.
* \param ctx ca context
* \param mfs granted MFS or NULL for any MFS
+ * \param date grant start date
* \param duration_tck grant duration
*
* Grants are given by CCo with RTS/CTS with immediate grant flag set, or by
@@ -173,7 +185,7 @@ ca_access_program (ca_t *ctx, u32 date, uint anticipation_tck);
* information delivered when an ACCESS event occurs.
*/
void
-ca_access_grant (ca_t *ctx, mfs_tx_t *mfs, uint duration_tck);
+ca_access_grant (ca_t *ctx, mfs_tx_t *mfs, u32 date, uint duration_tck);
/**
* Get ACCESS parameters.
@@ -215,6 +227,7 @@ ca_backoff_success (ca_t *ctx);
/**
* Initialise Channel Access related parameters in an MFS TX.
+ * \param ctx ca context
* \param mfs the newly created MFS
*
* The MFS is not registered in the Channel Access queues.