In this paper, we study SIR and rate control for CDMA data users on the forward link under average or peak power constraints. The QoS for data users is specified by delay and error rate constraints as well as a family of utility functions representing the throughput and fairness among the data users. It is found that the optimal SIR and rate control algorithm has an hierarchical structure which can be easily implemented in a distributed manner. The SIR targets can be adjusted independently by the mobiles using information specific to the individual users. The data rates can be adjusted jointly by the base station based on limited feedback from the mobiles. We also propose a 2-level iteration algorithm for both the mobile and the base station to efficiently compute the SIR and data rates. Our results show that a flexible tradeoff between total system throughput (sum of rates achieved) and fairness (similarity in data rates) can be achieved by choosing appropriate utility functions used in ..