Commit Graph

6084 Commits

Author SHA1 Message Date
Tyler Dauwalder
162f340b21 UpdateMimeInfoThread class, which is a subclass of MimeUpdateThread
that implements updating specific to update_mime_info().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:09:50 +00:00
Tyler Dauwalder
56a452bb2c CreateAppMetaMimeThread class, which is a subclass of MimeUpdateThread
that implements updating specific to create_app_meta_mime().

Note that the implementation is not 100% correct yet, and the
OBOS::BMimeType::create_app_meta_mime() tests still fail.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:08:21 +00:00
Tyler Dauwalder
4707046cec MimeUpdateThread class, which is a RegistrarThread subclass that
implements the functionality common to both mime update calls
(update_mime_info() and create_app_meta_mime()), namely walking
through the filesystem and performing updates.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:05:39 +00:00
Tyler Dauwalder
cd7adc0b06 RegistrarThread class, which is the base class for threads
spawned in the registrar.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:01:43 +00:00
Michael Pfeiffer
b0ab449a96 Added message constant.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 23:36:31 +00:00
Axel Dörfler
83efd20846 The private data field in struct file_descriptor is now a union (that can
currently hold a pointer to a fs_mount, or a vnode).
Updated the index_dir part of the fs API.
Added FDTYPE_INDEX_DIR in fd.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 03:36:04 +00:00
Axel Dörfler
a16194144d Removed bootfs.h and rootfs.h from the private/kernel/ header directory.
They are now located in src/kernel/core/fs, because they are private to
the VFS, not private to the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 01:09:27 +00:00
Axel Dörfler
3c6bf0c8c1 Renamed "calls" to "ops".
Removed unused prototype.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 16:36:38 +00:00
Axel Dörfler
4dc5ecd3cb Renamed fs_id to mount_id.
Moved typedefs for mount_id and vnode_id to fs_interface.h.
Removed some unused stuff in ktypes.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 13:57:06 +00:00
Tyler Dauwalder
1bd963b6c2 + Added file-extension based mime type guessing
+ Added sniffer rule based mime type guessing
+ Added get_device_icon()
+ Added complete (synchronous, asynchronous; recursive,
  non-recursive; forcing, non-forcing; you name it we got it :-)
  update_mime_info() implementation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 05:36:03 +00:00
Tyler Dauwalder
2150894b73 Added BytesNeeded() functions to all the sniffer classes to allow
a pre-read data stream to be sniffed instead of actual files on disk.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 05:27:46 +00:00
Tyler Dauwalder
4494844f12 Initial checkin. BPrivate::Storage::Mime::SnifferRules class, which is
responsible for managing sniffer rules and sniffing files and data
streams.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 05:22:40 +00:00
Tyler Dauwalder
09b4d458da Initial checkin. BPrivate::Storage::Mime::AssociatedTypes class, which
is responsible for managing associations between mime types and
file extensions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 05:20:30 +00:00
Axel Dörfler
4e3c12c0af Moved <types.h> to <sys/types.h>.
Removed dependencies on arch/x86/types.h - this file is not really used
anymore, now. Might prevent compiling on Windows, though.
Replaced "int" with "int32" for the id types.
Removed some stuff from ktypes.h because it didn't belong there.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 02:36:51 +00:00
Michael Phipps
dd6a407346 For Michael Pfeiffer
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-21 18:56:09 +00:00
Axel Dörfler
3cf8edf4dd Removed the old string.h (new one in posix/)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-17 14:52:42 +00:00
Tyler Dauwalder
e3a2f2069e + Added SetSupportedTypes() test
+ Modified BMimeType::SetSupportedTypes functionality so it keeps track of
stranded types (i.e. previously supported types that have not had the now
unsupporting app signature removed from their supporting apps list yet due
to a false fullSync parameter) over consecutive SetSupportedTypes(...,
false) calls and updates all appropriate stranded types on the next
SetSupportedTypes(..., true) call.
+ Added fullSync parameter to BMimeType::DeleteSupportedTypes
+ Made BMimeType::Delete() do a DeleteSupportedTypes(..., true) call to
properly update the supporting apps lists when a mime type is deleted.
+ Added initial BMimeType::Get/SetSnifferRule
+ Updated BMimeType::CheckSnifferRule() to return B_BAD_VALUE when passed
a NULL rule string.
+ Brought CheckSnifferRule() tests up to date
+ Added lots of Mime::Database doxygen
+ Added any missing mime monitor notifications in Mime::Database
+ Possibly made some other changes as well... :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-09 08:12:03 +00:00
shatty
72e8e64eea *** empty log message ***
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-09 05:33:21 +00:00
shatty
9b2094065e *** empty log message ***
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-09 05:25:25 +00:00
shatty
9db49a7f65 *** empty log message ***
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-09 05:14:34 +00:00
shatty
0dd4de176e preliminary version: includes only extractor constants so far
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-05 09:21:41 +00:00
shatty
5975e64850 preliminary version
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-05 09:14:09 +00:00
shatty
b6c8a153ec discussion of various possible seek modes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-04 23:22:36 +00:00
beveloper
90abd04b34 Change int into status_t, and other changes for better BeOS type compatiblitly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 02:19:22 +00:00
beveloper
b29ceabb12 unbreak the kernel build :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 00:36:00 +00:00
Ingo Weinhold
730441c856 Removed B_REG_MIME_UNSUPPORT_TYPE.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-30 20:01:30 +00:00
beveloper
1748957b4c add more changes to the notification support. still not finished.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-30 00:35:10 +00:00
Tyler Dauwalder
b86972c240 Added GetSupportingApps() message field constants
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:58:08 +00:00
Tyler Dauwalder
41b9ba9155 Added GetSupportingApps()/SetSupportedTypes() functionality
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:57:30 +00:00
Tyler Dauwalder
58e3c56d45 Added B_REG_MIME_GET_SUPPORTING_APPS
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:55:18 +00:00
Tyler Dauwalder
ee0cf10184 Handles supporting application management. This is an
initial, theoretically fully functional implementation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:52:52 +00:00
Tyler Dauwalder
02fd0582dd Cleaned up warnings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-27 08:26:33 +00:00
Tyler Dauwalder
32f45afc26 + Added GetInstalled[Super]Types functionality
+ Cleaned up warnings
+ Added documentation


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-27 08:26:11 +00:00
Philippe Houdoin
35682cc6b3 Moving the net kit private includes files to /current tree.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-27 07:59:57 +00:00
Ingo Weinhold
821e6e16f2 Added B_REG_MIME_UNSUPPORT_TYPES message code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-25 22:48:41 +00:00
Tyler Dauwalder
537842b6ee Split into storage/mime/* files, and thus removed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 05:05:01 +00:00
Tyler Dauwalder
e20a514ae9 After implementing the BMimeType::GetInstalled[Super]Types()
functionality, it became apparent that some restructuring was
needed if I wanted to keep things clean and managble.
storage/MimeDatabase.{h,cpp} have been broken into:

storage/mime/database_support.{h,cpp}
+ MIME database constants
+ high-level database access functions like open_type(),
  read_mime_attr(), etc.

storage/mime/database_access.{h,cpp}
+ atomic read functions
+ is_installed()
+ get_icon_data()

storage/mime/Database.{h,cpp}
+ Mime::Database class, which is responsible for all write,
  non-atomic read, and mime monitor functionality.

storage/mime/InstalledTypes.{h,cpp}
+ Helper class for Mime::Database::GetInstalled[Super]Types()

storage/mime/Supertype.{h,cpp}
+ Helper class for Mime::InstalledTypes

I haven't merged my intial, somewhat cludgy GetInstalled[Super]Types
implementation into the new setup yet. That comes next, and it ought
to be a more graceful implementation now.

I also implemented BMimeType::Get/SetSupportingTypes(), though
they haven't been tested yet (sorry).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 05:04:02 +00:00
Tyler Dauwalder
1c4b41005c Added to_lower() functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 04:54:52 +00:00
Tyler Dauwalder
ea1a165a95 Added B_REG_MIME_GET_INSTALLED[SUPER]_TYPES
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 04:54:01 +00:00
beveloper
eae26d3da1 Start adding notification support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-22 23:34:33 +00:00
Tyler Dauwalder
3155eae222 + Added code/updated tests for
- AttrInfo
  - FileExtensions
+ Updated Delete() code to send monitor updates
+ Tenatively added "be:action" field to monitor messages
+ Added data type constants


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-21 10:55:20 +00:00
Axel Dörfler
cedc441e4a Added the realpath() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 10:42:16 +00:00
Tyler Dauwalder
1ed04c7ce3 Added code for:
+ {Get,Set}IconForType()
+ Delete*() functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 09:37:04 +00:00
Tyler Dauwalder
19ac754088 Added B_REG_MIME_DELETE_PARAM
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 09:35:05 +00:00
Tyler Dauwalder
55f345fd20 + Added code for:
- {Get,Set}PreferredApp()
  - {Get,Set}AppHint()
  - {Get,Set}Icon()
+ Added any missing doxygen

SetIcon() is currently not implemented as I would like,
due to us needing an OBOS::BBitmap implementation.
Thus there are two versions and the GetIconData()
function until that day comes around.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:37:50 +00:00
Tyler Dauwalder
691354c6d0 Added B_REG_RESULT
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:34:45 +00:00
lillo
615a79cc3c Implemented send_data/receive_data/has_data thread syscalls
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:28:39 +00:00
Tyler Dauwalder
9f3d4851ac Initial checkin; MimeDatabase class used to handle all actual mime
database access.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:00:37 +00:00
Tyler Dauwalder
c0de18bddf Added a number of Mime related definitions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 21:59:24 +00:00
lillo
e196b7bbc5 added single-queue scheduler; the old scheduler is compiled by default - to enable the new one uncomment the #define at the beginning of thread.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 13:14:29 +00:00
Axel Dörfler
5ca8da7a4b Backported the new stack crawl command ("sc", not "bt" like in NewOS) from
NewOS. Untested yet, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 21:42:53 +00:00
Axel Dörfler
4c405cbdd4 The fs interface functions should now return a "status_t" rather than an "int".
Added syscalls for, and implemented sys_create_link(), sys_remove_dir().
Implemented link(), unlink(), rmdir().
Fixed the inconsistent path buffer handling in the user|sys vfs functions; the
path buffer is now exactly SYS_MAX_PATH_LEN from userland (incl. terminating
null byte).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 20:39:25 +00:00
Axel Dörfler
854fc92a7c Implemented some more calls in unistd.h.
Replaced the unused syscall for getdtablesize() with one for access().
Implemented sys_access() and added it to the file system interface.
Removed the fs function interface from vfs.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 13:51:36 +00:00
beveloper
9b9d18dc97 add header guards and two new functions to modify the stored data.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 20:10:24 +00:00
beveloper
16f59f6874 add header guards
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 20:10:24 +00:00
beveloper
3a4bbc85c1 Start using a class for management and (perhaps later) caching of dormant media nodes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 20:08:07 +00:00
Tyler Dauwalder
09d84e61b6 + Changed StorageKit namespace to BPrivate::Storage
+ Changed Sniffer namespace to BPrivate::Storage::Sniffer


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 08:42:01 +00:00
Tyler Dauwalder
82b7566525 Updated header guards to Be, Inc. style.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 07:24:02 +00:00
Tyler Dauwalder
93d145bb01 + Added support for "-i" flags and case insensitive matching
+ Renamed Expr class to DisjList, which is more descriptive
  as to its function
+ Added ' and " to the list of allowed characters in an
  unquoted string.
+ Added updated sniffer rule grammar to doxygen for the
  Parser class


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-10 09:36:00 +00:00
Tyler Dauwalder
0322e71475 Renamed to DisjList.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-10 09:32:03 +00:00
Axel Dörfler
beddff0f56 Replaced opendir.c with directory.c, implemented chdir(), fchdir(), and
getcwd().
Introduced new xyz(int fd, char *path, ...) style of functions for
sys_setcwd(), and sys_write_stat().
Added missing sys_fstat(). Removed duplicated prototypes in syscalls.h
Fixed some minor bugs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 20:20:28 +00:00
Axel Dörfler
14e18e556e getdtablesize() no longer needs a syscall.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 17:51:02 +00:00
Axel Dörfler
d7dd1c2ac2 Changed argument order for sys_read/write() to be more intuitive.
Removed unistd.h (new BeOS-like unistd.h will be in posix/ shortly)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 16:57:25 +00:00
Tyler Dauwalder
fe70cd16af + Updated all the parsing code to use std::strings everywhere
instead of const char*'s to allow for rules with NULL characters
  embedded in them.
+ Updated Rule::Sniff() to actually return a useful value


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 10:30:38 +00:00
Tyler Dauwalder
60ee71d302 + Added some documentation
+ Fixed a bug with 0eXXX floats being handled improperly
+ Updated a few error messages to give proper character
  stream positions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:23:24 +00:00
Tyler Dauwalder
0bc621d53b + Added some documentation
+ Now verifies the given priority is valid


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:21:31 +00:00
Tyler Dauwalder
10db8711a8 Added some documentation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:20:47 +00:00
Tyler Dauwalder
390dce8da6 Parser is finished (or very nearly so)!!! :-)
+ Added support for extended notation floating point numbers,
as well as signed (+ and -) floats.
+ Finished up parsing code
+ Moved Err class into it's own header/source pair, since I
started using it all over the place in the sniffer code.
+ Did my darndest to make sure I wasn't leaking memory
anywhere.
+ Matched up error messages as best as possible with R5's
error message. Some couldn't be matched, some were improved.

There *are* a few things left to do. I don't think priorities are
verified to be valid (0.0 <= x <= 1.0). More tests also need to
be written. Things have solidified enough now that documentation
is a reasonable thing to start considering as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:37:14 +00:00
Tyler Dauwalder
01293d6ed7 + Added InitCheck()
+ Added Priority()
+ Added Sniff()
+ Replaced ExprList typedef with plain old std::vector<Expr*>
so I wouldn't forget what the hell kind of list I was working with.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:32:27 +00:00
Tyler Dauwalder
9d97f52d8d Added InitCheck() and GetErr()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:30:44 +00:00
Tyler Dauwalder
a60032821f Updated the Sniff() function to take a BPositionIO instead of BFile.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:28:36 +00:00
Tyler Dauwalder
74cd43ec44 New mime sniffer support classes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:25:41 +00:00
Axel Dörfler
24462625e1 Removed header files we'll most likely never use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 17:23:23 +00:00
Axel Dörfler
dc74f4ac15 Added a comment in memheap.h
Added sys|user_write_link() to vfs.h


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 17:22:19 +00:00
Axel Dörfler
dfa8e8ef78 Added a sys_write_link() function.
Added a "mode" parameter to the sys_create_symlink() function.
Added an open_mode to the file_descriptor struct.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 05:31:32 +00:00
lillo
854c31f835 finished implementing get_thread_info, get_next_thread_info, get_team_info, get_next_team_info. New ps command behaving like the BeOS one is here, but doesn't work as libroot seems to crash when loaded at process startup... :/
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-04 02:04:37 +00:00
lillo
aded06e0aa Second round of changes. Splitted thread.c into thread.c, team.c and scheduler.c. First kernel-only get_team_info and get_next_team_info implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 23:39:50 +00:00
ejakowatz
ebbcbbca01 Implemented count_loopers()/windows() and looper/window_at(). Minor
changes to BLooperList to accomodate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 23:18:14 +00:00
Axel Dörfler
ae372703ce Big commit: Added symlink support to the kernel.
- added needed syscalls to access symlink support from userland
- implemented lstat(), symlink(), and readlink()
- added dev_t to ktypes.h (for now - should be in a public header anyway)
- added symlink support to the "ls" command (now calls lstat() and shows the
  link target with the -l option)
- changed the sys_read_stat() call to support symlinks, and updated files
  using that function (it gets an extra argument: bool traverseLink)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 02:03:27 +00:00
Axel Dörfler
409a1aeacd Added some comments
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 01:58:14 +00:00
lillo
3cfbecf1a6 First round of big changes: the term team has replaced proc all over the kernel, the few kern_* syscalls have been renamed to sys_* for consistency, and other small changes. The ps app is temporarily disabled until get_next_team_info is implemented.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 00:41:27 +00:00
Tyler Dauwalder
68faee1082 + Switched to std::vector in favor of BList
+ Added a few minor tweaks


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:03:23 +00:00
Tyler Dauwalder
4574a75fc5 + Got rid of global TokenStream object
+ Started on Parser class
+ Moved parsing functions into Parser class
+ Added Pos() member to Err class to allow for
snazzy BMimeType::CheckSnifferRule() error strings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:01:56 +00:00
Tyler Dauwalder
0be1fe8a1f New MIME Sniffer files
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 06:57:11 +00:00
Ingo Weinhold
4d7538b180 Moved some reusable code from BApplication to this shiny new place.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:26:21 +00:00
Axel Dörfler
3aaee8e5b0 Beginnings of the symbolic link support, though it's not yet working.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 18:36:23 +00:00
Tyler Dauwalder
224e92720e Added "position in original character stream" marker to Token class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 04:13:30 +00:00
Ingo Weinhold
f010066db3 More sugar: Added message constants for running app querying and activation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 00:17:08 +00:00
Tyler Dauwalder
5da549240a + Moved internally used classes into header to allow for testing.
+ Added EmptyToken, Integer, and FloatingPoint TokenTypes.
+ Added IntToken and IntegerToken classes.
+ Updated scanner, which now handles numbers as well. I believe
it's nearly complete, although I'm almost positive it doesn't
handle octals correctly yet...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-27 19:24:05 +00:00
Ingo Weinhold
b194af1035 Added message and codes, a flat_app_info structure and the name of roster side created app looper ports.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 19:57:58 +00:00
Tyler Dauwalder
674e18fb18 Initial MIME sniffer rule parser checkin. The first draft of the
scanner portion of the parser is done, but completely untested
and unused. More to come...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 07:47:07 +00:00
David Reid
40f83ea15d Add a new line at the end...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 22:28:59 +00:00
notion
66554a4c98 Fixed the overflow bug in heap.c that would occur on allocation of all the memory of the heap.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 14:49:29 +00:00
David Reid
2ba192e3cf Remove the int_ from in front of the enable/disable interrupt functions.
These will need to be reviewed as beos drivers expect them to be available
and using #define won't cover that.

The doxygen stuff doesn't all work though I can't figure out why :(


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 01:02:18 +00:00
notion
fde77afb37 Ported my NewOS changes to OpenBeOS.
A couple of changes in various interrupt and thread functions and structures.
These make it now possible to change the stack at any time without making the kernel crash. This is needed for calling VESA 3.0 VBE functions through the protected mode interface.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-24 20:59:25 +00:00
Ingo Weinhold
e07bab9da6 Added message constants for the application registration.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 23:42:11 +00:00
Tyler Dauwalder
5ebee1cf0a BVolume and BVolumeRoster updates, courtesty of Vincent Dominguez
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 21:39:49 +00:00
Axel Dörfler
973b9ee6b7 Added the syscalls for sys_open_entry_ref(), sys_create_entry_ref(),
sys_open_dir_entry_ref(), sys_open_dir_node_ref(), sys_create_dir_entry_ref().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 14:05:18 +00:00
Ingo Weinhold
e0cc8c68a4 The beginning of the registrar - API classes interface.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-21 22:37:39 +00:00
lillo
65918f386e forgot a little thing
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 23:06:32 +00:00
lillo
2880b9ff65 beos compatible timer routines and style cleanups in timer and sem code; also doxygened timer.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 22:53:23 +00:00
Axel Dörfler
071f62bc36 Major code cleanup and reorganisation.
Fixed many bugs.
Now, the vfs_ prefix is for functions that are called by other parts of the
kernel. file_ is for file related stuff, dir_ for directory related, and
common_ for both, fs_ for general file system stuff.
Put all prefixed functions together in the source.
Implemented (currently without a user/sys call) opening/creating of entry_refs,
and node_refs (the latter for opening directories only).
Moved vfs_dup(), and vfs_dup2() to fd.c, fd_dup(), and fd_dup2().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 00:16:12 +00:00
David Reid
c6aa053941 Add some new functions for the big change coming (again) for the
interrupt code. Also start adding doxygen comments :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:28:57 +00:00
David Reid
8a396015a1 There is no need for this to be here, so move it alongside the code
it refers to as that makes more sense.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:23:10 +00:00
David Reid
ca91310a67 Start the change to using beos style interrupt handlers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:00:17 +00:00
David Reid
5636ab73b0 Remove some now uneeded error codes. By removing these I'm hoping
people will start to migrate to the posix/Be error codes and thus
remove the possibility of mismatched codes being reported/checked.

Think this change should cause no build problems, but it's possible
I missed one or 2 instances...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:39:33 +00:00
David Reid
45fcd51d6a Start adding a new hash implementation. the new code is basically that
that the net stack used but works in a different way than the existing code,
and has proved useful in the modules code where it cured the strange
segfaults that were being produced in seemingly random and unpredictable
places.

the naming could be improved :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:25:33 +00:00
Axel Dörfler
ba94874630 Added a fs_get_vnode_name() call for the file systems.
Fixed a header dependency in sem.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 20:51:27 +00:00
Axel Dörfler
bc934681ba Implemented geist's recent change to mutexes - they are now no longer
benaphores; benaphores aren't that beneficial in kernel land, the benaphores
are a way to reduce the number of kernel calls.
They can now only be released by the same thread who originally acquired it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 19:22:17 +00:00
Axel Dörfler
2b5d1dc418 Added the preliminary ASSERT() macro from NewOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 18:45:07 +00:00
Axel Dörfler
4635c565e4 Added the arch_cpu_idle() call.
Updated stage2_priv.h to reflect geist's, and freston's changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 14:15:47 +00:00
lillo
0ba337c0a4 adding environmental variables support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 13:59:03 +00:00
Philippe Houdoin
3b333c3bd1 dbg_add_command() changed into BeOS compatible add_debugger_command().
remove_debugger_command() added.
Fix cmd_gdb() prototype according to new debugger command one.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 22:10:34 +00:00
Axel Dörfler
cbe085bc5a Forgot some debug stuff...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 08:12:41 +00:00
Axel Dörfler
b79d207dc2 user|sys_seek() now returns an off_t.
Changed the fd_close() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 08:01:40 +00:00
ejakowatz
4a0ef275e3 A templatized adaptation of BAutolock. Any class which supplies the
necessary functions can be managed with BObjectLocker:
	bool Lock()		--	returns whether lock succeeded
	void Unlock()	--	unlocks the client instance


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-15 16:06:31 +00:00
ejakowatz
df226cd7b3 A new class to manage the list of loopers in a team. Provides the
functionality of the existing static BLooper functions (which now call
through to it) in a nicer package.  New code should use the global instance
of this (BPrivate::gLooperList) instead of the old BLooper functions (which
are officially deprecated).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-15 16:04:06 +00:00
David Reid
e927084dbf This is now in another header file and so not required here.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 14:52:28 +00:00
Axel Dörfler
eba8b6cfb9 Next update of the VFS: more posix like open/create; divided create in
sys_create(), and sys_create_dir(), open in sys_open(), and sys_open_dir().
Small cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 05:08:26 +00:00
beveloper
85493f0665 Updated to the API changes introduced by BeOS R4's legacy BeOS R3 sound driver API support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 02:42:32 +00:00
beveloper
fc38cfc784 Updated to the API changes introduced by BeOS R4's legacy BeOS R3 sound driver API support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 02:38:00 +00:00
David Reid
6b3dbd281b drivers.h -> Drivers.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 23:28:12 +00:00
David Reid
5f79d3a87b drivers -> Drivers...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 23:26:20 +00:00
David Reid
03b2717394 We have iovec's now and add the api version define.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 20:20:37 +00:00
beveloper
00e8ee39e9 adding a header file that implements the BeOS R3 style sound driver interface
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 12:35:15 +00:00
David Reid
f16873a60e OK, final change to error codes for a while I hope.
- remove private/kernel/Errors.h as this was just plain wrong to have it
  there and confused issues somewhat.
- add the kerrors.h file that has kernel only error codes, namely the
  ERR_ codes from newos.
- add comments for the other header files to tell people where to find
  error code definitions in an attempt to stop people getting lost!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 22:17:09 +00:00
David Reid
d69c1d7983 Move errno.h to it's correct place
Adjust Errors.h to use errno.h for the posix error codes
add first stab at limits.h, albeit not using the gcc headers at
present for intel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@88 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 20:39:30 +00:00
beveloper
0022ddd9d6 Adding the multiaudio driver header.
It was available on request from Be, after they had introduced the API
in a newsletter article. You did not have to sign an NDA to get it, but
it was never included in the BeOS distribution.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@68 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 23:58:15 +00:00
David Reid
cda78f2486 Start adding the networking headers in their correct place and with
the correct things in them.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@64 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 22:10:23 +00:00
Axel Dörfler
f8d7610714 Added the syscalls for sys_read_dir(), and sys_rewind_dir().
sys_read_dir() now has a parameter for the maximum number of dirents that
are handled by the upper layer - which is currently 1.
Added a comment in fd.h to ease the location of the sys|user prototypes
of the corresponding functions in fd.c.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@58 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 21:46:34 +00:00
David Reid
48535f1870 offsetof, insque and remque can be used throughout the kernel,
so move their definitions here.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@35 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 13:17:22 +00:00
Ingo Weinhold
64f6603fbe Include the official DataIO.h rather than MallocIO.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@26 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 01:59:18 +00:00
Ingo Weinhold
232067ccbb Moved StorageDefs.Private.h to the public headers. Strange, but it is needed by them.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@21 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 01:47:48 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00