In the OpenQASM language, the users can define any gate they choose. The syntax is as follows:
gate name(params) qargs
{
body
}
qargs here is a comma-separated list of qubits, and at least one argument is required. IBM at the time of the writing of this book does not support this feature for users.