A flexible Cross-Layer Interface for Ad-Hoc Networks: Architectural Design and Implementation Issues