/// <summary>Adds <paramref name="filter"/> to the list of filters attached to <paramref name="stream"/>.</summary> /// <param name="stream">The target stream.</param> /// <param name="filter">The filter name.</param> /// <param name="read_write">Combination of the <see cref="FilterChainOptions"/> flags.</param> /// <param name="parameters">Additional parameters for a user filter.</param> public static bool stream_filter_prepend(PhpResource stream, string filter, FilterChainOptions read_write, PhpValue parameters) { var s = PhpStream.GetValid(stream); if (s == null) { return(false); } var where = (FilterChainOptions)read_write & FilterChainOptions.ReadWrite; return(PhpFilter.AddToStream(s, filter, where | FilterChainOptions.Head, parameters)); }
public static PhpResource stream_filter_prepend(Context ctx, PhpResource stream, string filter, FilterChainOptions read_write = FilterChainOptions.ReadWrite, PhpValue parameters = default) { var s = PhpStream.GetValid(stream); if (s == null) return null; // false; var where = read_write & FilterChainOptions.ReadWrite; var added = PhpFilter.AddToStream(ctx, s, filter, where | FilterChainOptions.Head, parameters); // if (added.readFilter != null || added.writeFilter != null) { return new StreamFilterResource(s, added.writeFilter, added.readFilter); } else { return null; // false } }