CREATE OR REPLACE FUNCTION pwhash_scrypt(text, text)
    RETURNS text
AS 'MODULE_PATHNAME', 'pwhash_scrypt'
    LANGUAGE C VOLATILE STRICT PARALLEL RESTRICTED ;

CREATE OR REPLACE FUNCTION pwhash_argon2(text, text)
    RETURNS text
AS 'MODULE_PATHNAME', 'pwhash_argon2'
    LANGUAGE C VOLATILE STRICT PARALLEL RESTRICTED ;

CREATE OR REPLACE FUNCTION pwhash_gen_salt(text, VARIADIC text[] DEFAULT '{}')
    RETURNS text
AS 'MODULE_PATHNAME', 'xgen_salt'
    LANGUAGE C VOLATILE STRICT PARALLEL RESTRICTED ;

CREATE OR REPLACE FUNCTION pwhash_scrypt_crypt(text, text)
    RETURNS text
AS 'MODULE_PATHNAME', 'pwhash_scrypt_crypt'
    LANGUAGE C VOLATILE STRICT PARALLEL RESTRICTED ;

CREATE OR REPLACE FUNCTION pwhash_yescrypt_crypt(text, text)
    RETURNS text
AS 'MODULE_PATHNAME', 'pwhash_yescrypt_crypt'
    LANGUAGE C VOLATILE STRICT PARALLEL RESTRICTED ;

CREATE OR REPLACE FUNCTION pwhash_crypt(text, text)
    RETURNS text
AS 'MODULE_PATHNAME', 'xcrypt'
    LANGUAGE C VOLATILE STRICT PARALLEL RESTRICTED ;
