Pointer auf Strukturen zurückgeben


 MODULE = Authen::SPNEGO::GSSAPI PACKAGE = Authen::SPNEGO::GSSAPI PREFIX=authen_spnego_gssapi_
 void
 authen_spnego_gssapi_gss_import_name( in_servername )
                 char * in_servername

     INIT:
        OM_uint32 major_status;
        OM_uint32 minor_status;
        gss_name_t server_gss_name;
        gss_buffer_desc snbuffer;
      PPCODE:
        snbuffer.value = strdup( in_servername );
        if (  snbuffer.value == NULL ) {
           Perl_croak(aTHX_ "strdup");
        }
        snbuffer.length = strlen( snbuffer.value ) ;
        major_status = gss_import_name( &major_status,
                                        &snbuffer,
                                        GSS_C_NT_HOSTBASED_SERVICE,
                                        &server_gss_name);
        XPUSHs( sv_2mortal( newSVuv( major_status ) )  );
        XPUSHs( sv_2mortal( newSVuv( minor_status ) )  );
        free( snbuffer.value );
        if ( major_status == GSS_S_COMPLETE) {
           XPUSHs( sv_newmortal());
           sv_setref_pv(ST(2), "gss_name_t", (void*)server_gss_name);
        }