static tiny_ret_t _mkdir_lfn( const char *path ) /**********************************************/ { #ifdef _M_I86 return( __mkdir_lfn( path ) ); #else call_struct dpmi_rm; strcpy( RM_TB_PARM1_LINEAR, path ); memset( &dpmi_rm, 0, sizeof( dpmi_rm ) ); dpmi_rm.ds = RM_TB_PARM1_SEGM; dpmi_rm.edx = RM_TB_PARM1_OFFS; dpmi_rm.eax = 0x7139; dpmi_rm.flags = 1; if( __dpmi_dos_call( &dpmi_rm ) ) { return( -1 ); } if( dpmi_rm.flags & 1 ) { return( dpmi_rm.ax | ~ 0xFFFF ); } return( 0 ); #endif }
static unsigned _mkdir_lfn( const char *path ) /********************************************/ { #ifdef _M_I86 return( __mkdir_lfn( path ) ); #else call_struct dpmi_rm; strcpy( RM_TB_PARM1_LINEAR, path ); memset( &dpmi_rm, 0, sizeof( dpmi_rm ) ); dpmi_rm.ds = RM_TB_PARM1_SEGM; dpmi_rm.edx = RM_TB_PARM1_OFFS; dpmi_rm.eax = 0x7139; dpmi_rm.flags = 1; if( __dpmi_dos_call( &dpmi_rm ) ) { return( -1 ); } if( dpmi_rm.flags & 1 ) { return( __set_errno_dos_reterr( (unsigned short)dpmi_rm.eax ) ); } return( 0 ); #endif }