Ruby: include/ruby/internal/encoding/pathname.h Source File

Ruby 3.2.5p208 (2024-07-26 revision 31d0f1a2e7dbfb60731d1f05b868e1d578cda493)

pathname.h
Go to the documentation of this file.
1#ifndef RUBY_INTERNAL_ENCODING_PATHNAME_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RUBY_INTERNAL_ENCODING_PATHNAME_H
24#include "ruby/internal/attr/nonnull.h"
25#include "ruby/internal/dllexport.h"
26#include "ruby/internal/encoding/encoding.h"
27#include "ruby/internal/value.h"
28
29 RBIMPL_SYMBOL_EXPORT_BEGIN()
30 RBIMPL_ATTR_NONNULL(())
48char *rb_enc_path_next(const char *path, const char *end, rb_encoding *enc);
49
50 RBIMPL_ATTR_NONNULL(())
70char *rb_enc_path_skip_prefix(const char *path, const char *end, rb_encoding *enc);
71
72 RBIMPL_ATTR_NONNULL(())
90char *rb_enc_path_last_separator(const char *path, const char *end, rb_encoding *enc);
91
92 RBIMPL_ATTR_NONNULL(())
117char *rb_enc_path_end(const char *path, const char *end, rb_encoding *enc);
118
119 RBIMPL_ATTR_NONNULL((1, 4))
138const char *ruby_enc_find_basename(const char *name, long *baselen, long *alllen, rb_encoding *enc);
139
140 RBIMPL_ATTR_NONNULL((1, 3))
180const char *ruby_enc_find_extname(const char *name, long *len, rb_encoding *enc);
181
182 RBIMPL_SYMBOL_EXPORT_END()
183
184#endif /* RUBY_INTERNAL_ENCODING_PATHNAME_H */
dllexport.h
Tweaking visibility of C variables/functions.
RBIMPL_SYMBOL_EXPORT_END
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition dllexport.h:106
RBIMPL_SYMBOL_EXPORT_BEGIN
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition dllexport.h:97
encoding.h
Defines rb_encoding.
nonnull.h
Defines RBIMPL_ATTR_NONNULL.
RBIMPL_ATTR_NONNULL
#define RBIMPL_ATTR_NONNULL(list)
Wraps (or simulates) __attribute__((nonnull))
Definition nonnull.h:30
ruby_enc_find_basename
const char * ruby_enc_find_basename(const char *name, long *baselen, long *alllen, rb_encoding *enc)
Our own encoding-aware version of basename(3).
Definition file.c:4625
rb_enc_path_end
char * rb_enc_path_end(const char *path, const char *end, rb_encoding *enc)
This just returns the passed end basically.
Definition file.c:3500
rb_enc_path_last_separator
char * rb_enc_path_last_separator(const char *path, const char *end, rb_encoding *enc)
Returns the last path component.
Definition file.c:3466
rb_enc_path_next
char * rb_enc_path_next(const char *path, const char *end, rb_encoding *enc)
Returns a path component directly adjacent to the passed pointer.
Definition file.c:3418
rb_enc_path_skip_prefix
char * rb_enc_path_skip_prefix(const char *path, const char *end, rb_encoding *enc)
Seeks for non-prefix part of a pathname.
Definition file.c:3432
ruby_enc_find_extname
const char * ruby_enc_find_extname(const char *name, long *len, rb_encoding *enc)
Our own encoding-aware version of extname.
Definition file.c:4872
OnigEncodingTypeST
Definition onigmo.h:160
value.h
Defines VALUE and ID.