locking mutexes, threads & semahores

What is the difference between mutex_lock and pthread_mutex_lock ? Should I use both when using binary semaphores.

Also, what is the difference between using a binary semaphore and a counting semaphore where you wait on the condition variable ?

1) mutex_lock works for solaris thread where as pthread_mutex_lock works between pthreads