Mobile Ad hoc Networks (MANETs) are re-emerging as a popular networking facility for wireless device users. A growing number of diversified applications are now accessible via wireless devices. The different applications may have different Quality of Service (QoS) requirements, which may better be satisfied by using different routing methods or metric types. Existing ad hoc network routing solutions do not consider various application-level requirements when making a routing decision. They typically make routing decisions based upon limited information acquired at the network layer. Most of the existing routing protocols make use of a single routing metric. Using a single metric type and/or information, only acquired at the network layer may not be able to accommodate different QoS requirements, imposed by diversified user-level applications or application-level data types.The aim of this thesis is to design an efficient routing function for ad hoc networks while at the same time satisfying users‟ and/or applications‟ QoS and security requirements. To achieve this, the thesis investigates and specifies routing requirements that could best support application-level QoS and security requirements in MANETs. It also investigates and critically analyses the state of the art in MANET routing, and the mechanisms used for protecting the routing functions. To overcome the weaknesses and advance the state of the art in MANET routing, this thesis proposes two major solutions. The first solution is the Secure ETX (SETX) routing protocol. It is a secure routing solution that can provide routing functions efficiently in malicious MANET environment. The SETX protocol provides a security mechanism to counter black hole attacks in MANETs on the ETX metric acquisition process. Simulation studies have been carried out and discussed in the thesis. Simulation results show that the SETX protocol can provide a marked improvement in network performances in the presence of black hole attacks, and it can do so with a negligible level of additional overhead.The second solution is a novel routing decision making called the Flexible Routing Decision (FRD) framework. The FRD framework supports routing decision making by using multiple metric types (i.e. multi-criteria routing decision making) and uses a cross-layer approach to support application-level QoS requirements. This allows users to use different routing metrics types, making the most appropriate routing decision for a given application. To accommodate the diversified application-level QoS requirements, multiple routing metric types have been identified and interpreted in the FRD framework design. The FRD framework has overcome some weaknesses exhibited by existing single metric routing decision making, used in MANETs. The performance of a routing decision making of FRD is also evaluated using NS2 simulation package. Simulation results demonstrate that the FRD framework outperforms the existing routing decision making methods.