Test both the scalar and list contexts.
[p5sagit/p5-mst-13.2.git] / iperlsys.h
index 7b20d5d..f36dcd5 100644 (file)
@@ -595,8 +595,10 @@ typedef char*              (*LPENVGetenv_len)(struct IPerlEnv*,
 #endif
 #ifdef WIN32
 typedef unsigned long  (*LPEnvOsID)(struct IPerlEnv*);
-typedef char*          (*LPEnvLibPath)(struct IPerlEnv*, char*);
-typedef char*          (*LPEnvSiteLibPath)(struct IPerlEnv*, char*);
+typedef char*          (*LPEnvLibPath)(struct IPerlEnv*, const char*);
+typedef char*          (*LPEnvSiteLibPath)(struct IPerlEnv*, const char*);
+typedef char*          (*LPEnvVendorLibPath)(struct IPerlEnv*, const char*);
+typedef void           (*LPEnvGetChildIO)(struct IPerlEnv*, child_IO_table*);
 #endif
 
 struct IPerlEnv
@@ -618,6 +620,8 @@ struct IPerlEnv
     LPEnvOsID          pEnvOsID;
     LPEnvLibPath       pLibPath;
     LPEnvSiteLibPath   pSiteLibPath;
+    LPEnvVendorLibPath pVendorLibPath;
+    LPEnvGetChildIO    pGetChildIO;
 #endif
 };
 
@@ -663,6 +667,10 @@ struct IPerlEnvInfo
        (*PL_Env->pLibPath)(PL_Env,(str))
 #define PerlEnv_sitelib_path(str)                              \
        (*PL_Env->pSiteLibPath)(PL_Env,(str))
+#define PerlEnv_vendorlib_path(str)                            \
+       (*PL_Env->pVendorLibPath)(PL_Env,(str))
+#define PerlEnv_get_child_IO(ptr)                              \
+       (*PL_Env->pGetChildIO)(PL_Env, ptr)
 #endif
 
 #else  /* PERL_IMPLICIT_SYS */
@@ -686,6 +694,10 @@ struct IPerlEnvInfo
 
 #ifdef WIN32
 #define PerlEnv_os_id()                        win32_os_id()
+#define PerlEnv_lib_path(str)          win32_get_privlib(str)
+#define PerlEnv_sitelib_path(str)      win32_get_sitelib(str)
+#define PerlEnv_vendorlib_path(str)    win32_get_vendorlib(str)
+#define PerlEnv_get_child_IO(ptr)      win32_get_child_IO(ptr)
 #endif
 
 #endif /* PERL_IMPLICIT_SYS */